MCP
YouTube Intelligence for Media, Research, and Content Teams MCP Server
MCP tools for YouTube through cloud-google1
Base URL
https://mcp.pressmonitor.com/youtube/v1 Authentication
MCP calls also use Bearer tokens over JSON-RPC 2.0 requests.
Authorization: Bearer YOUR_TOKEN Discover Tools
Start by listing the tools exposed by the MCP server.
curl -X POST \ 'https://mcp.pressmonitor.com/youtube/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' const response = await fetch('https://mcp.pressmonitor.com/youtube/v1', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list' }) }); console.log(await response.json()); import requests payload = { 'jsonrpc': '2.0', 'id': 1, 'method': 'tools/list' } response = requests.post( 'https://mcp.pressmonitor.com/youtube/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search Search
Search YouTube videos
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query_text | string | Yes | Search query text |
| num | string | No | Maximum number of results |
| order | string | No | Sort order |
| event-type | string | No | Live event type filter |
| token | string | No | Pagination token |
| country_code | string | No | Region code |
| lang_code | string | No | Relevance language code |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/youtube/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query_text":"SOME_STRING_VALUE","num":20,"order":"SOME_STRING_VALUE","event-type":"SOME_STRING_VALUE","token":"SOME_STRING_VALUE","country_code":"SOME_STRING_VALUE","lang_code":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search", "arguments": { "query_text": "SOME_STRING_VALUE", "num": 20, "order": "SOME_STRING_VALUE", "event-type": "SOME_STRING_VALUE", "token": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/youtube/v1', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify(payload) }); console.log(await response.json()); import requests payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search", "arguments": { "query_text": "SOME_STRING_VALUE", "num": 20, "order": "SOME_STRING_VALUE", "event-type": "SOME_STRING_VALUE", "token": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/youtube/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
call Call
Generic YouTube Data API call
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| path | string | No | API path under /youtube/v3 |
| endpoint | string | No | Alternative API path if path is not used |
| method | string | No | HTTP method, default GET |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/youtube/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"call","arguments":{"path":"SOME_STRING_VALUE","endpoint":"SOME_STRING_VALUE","method":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "call", "arguments": { "path": "SOME_STRING_VALUE", "endpoint": "SOME_STRING_VALUE", "method": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/youtube/v1', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify(payload) }); console.log(await response.json()); import requests payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "call", "arguments": { "path": "SOME_STRING_VALUE", "endpoint": "SOME_STRING_VALUE", "method": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/youtube/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
get_video_details Get Video Details
Get detailed information for one or more videos
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| video_ids | string | Yes | Comma-separated YouTube video IDs |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/youtube/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_video_details","arguments":{"video_ids":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_video_details", "arguments": { "video_ids": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/youtube/v1', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify(payload) }); console.log(await response.json()); import requests payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_video_details", "arguments": { "video_ids": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/youtube/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json())