MCP

YouTube Monitor MCP Server

The AI-powered YouTube provides 360° Global Media Data & Intelligence on YouTube creators, video producers, brand marketers, and content distributors.

MCP Version: 1.0.0 15 MCP Tools Authentication
YouTube Monitor

Base URL

https://pressmonitor.ca/mcp

Authentication

MCP calls require x-api-key and x-subscription-id headers on every JSON-RPC 2.0 request.

x-api-key: YOUR_API_KEY
x-subscription-id: YOUR_SUB_ID

youtube_media_suggestions

Get YouTube search suggestions for a keyword.

Arguments

Name Type Required Description
keyword string No Keyword

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_suggestions",
    "arguments": {
      "keyword": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_details

Get full video details: stats, channel, and signed stream URLs

Arguments

Name Type Required Description
videoId string No YouTube video ID

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_details",
    "arguments": {
      "videoId": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_subtitles

Get a video transcript (WebVTT) using the subtitleUrl from details.

Arguments

Name Type Required Description
videoId string No YouTube video ID
subtitleUrl string No Subtitle URL

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_subtitles",
    "arguments": {
      "videoId": "VALUE",
      "subtitleUrl": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_comments

Get video comments.

Arguments

Name Type Required Description
videoId string No YouTube video ID
limit integer No Number of results
page string No Page number

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_comments",
    "arguments": {
      "videoId": "VALUE",
      "limit": 0,
      "page": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_channel

Get channel details by channelId.

Arguments

Name Type Required Description
channelId string No YouTube channel ID

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_channel",
    "arguments": {
      "channelId": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_channel_videos

List a channel's videos.

Arguments

Name Type Required Description
channelId string No YouTube channel ID
limit integer No Number of results
page string No Page number
type string No Type (videos, shorts, live; or playlists, releases, podcasts)

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_channel_videos",
    "arguments": {
      "channelId": "VALUE",
      "limit": 0,
      "page": "VALUE",
      "type": "VALUE"
    }
  },
  "id": 1
}'

youtube_transcript

Fetch and parse a YouTube video transcript into timed segments.

Arguments

Name Type Required Description
videoId string No YouTube video ID

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_transcript",
    "arguments": {
      "videoId": "VALUE"
    }
  },
  "id": 1
}'

youtube_download

Download a YouTube video or audio stream to a local file.

Arguments

Name Type Required Description
videoId string No YouTube video ID
kind string No Kind (video or audio)

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_download",
    "arguments": {
      "videoId": "VALUE",
      "kind": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_search_channels

Search YouTube channels by keyword.

Arguments

Name Type Required Description
keyword string No Keyword
limit integer No Number of results
page string No Page number

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_search_channels",
    "arguments": {
      "keyword": "VALUE",
      "limit": 0,
      "page": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_search_playlists

Search YouTube playlists by keyword.

Arguments

Name Type Required Description
keyword string No Keyword
limit integer No Number of results
page string No Page number

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_search_playlists",
    "arguments": {
      "keyword": "VALUE",
      "limit": 0,
      "page": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_channel_playlists

List a channel's playlists, releases and podcasts.

Arguments

Name Type Required Description
channelId string No YouTube channel ID
limit integer No Number of results
page string No Page number
type string No Type (videos, shorts, live; or playlists, releases, podcasts)

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_channel_playlists",
    "arguments": {
      "channelId": "VALUE",
      "limit": 0,
      "page": "VALUE",
      "type": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_playlist_details

Get playlist details by playlistId.

Arguments

Name Type Required Description
playlistId string No YouTube playlist ID

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_playlist_details",
    "arguments": {
      "playlistId": "VALUE"
    }
  },
  "id": 1
}'

youtube_media_playlist_videos

List a playlist's videos.

Arguments

Name Type Required Description
playlistId string No YouTube playlist ID
limit integer No Number of results
page string No Page number

Code Examples

curl -X POST \
  "https://pressmonitor.ca/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-subscription-id: YOUR_SUB_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "youtube_media_playlist_videos",
    "arguments": {
      "playlistId": "VALUE",
      "limit": 0,
      "page": "VALUE"
    }
  },
  "id": 1
}'