Core Services MCP
Print Media MCP Server
Newspapers, magazines, trade publications, editorial output, press coverage, and print journalism.
MCP Version: 1.0.0 9 MCP Tools Authentication
Base URL
https://mcp.pressmonitor.com/ 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/' \ -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/', { 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/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_papers Search Papers
Search for available newspaper and magazine publications
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| ns | string | No | Namespace (default: PMIN) |
| query | string | No | Search terms or keywords |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_papers","arguments":{"ns":"PMIN","query":"SOME_STRING_VALUE","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_papers", "arguments": { "ns": "PMIN", "query": "SOME_STRING_VALUE", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_papers", "arguments": { "ns": "PMIN", "query": "SOME_STRING_VALUE", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_headlines Search Headlines
Get print media headlines
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| ns | string | No | Namespace (default: PMIN) |
| paper_id | string | No | Publication ID to filter by |
| edition | string | No | Edition name to filter by |
| country_code | string | No | Filter by country code (ISO 3166-1 alpha-2) |
| lang_code | string | No | Filter by language code (ISO 639-1) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_headlines","arguments":{"query":"SOME_STRING_VALUE","ns":"PMIN","paper_id":"SOME_STRING_VALUE","edition":"SOME_STRING_VALUE","country_code":"SOME_STRING_VALUE","lang_code":"SOME_STRING_VALUE","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_headlines", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "paper_id": "SOME_STRING_VALUE", "edition": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_headlines", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "paper_id": "SOME_STRING_VALUE", "edition": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_briefs Search Briefs
Get print media briefs (headline + description)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| ns | string | No | Namespace (default: PMIN) |
| paper_id | string | No | Publication ID to filter by |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_briefs","arguments":{"query":"SOME_STRING_VALUE","ns":"PMIN","paper_id":"SOME_STRING_VALUE","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_briefs", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "paper_id": "SOME_STRING_VALUE", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_briefs", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "paper_id": "SOME_STRING_VALUE", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_fulltext Search Fulltext
Get full-text print media articles
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_fulltext","arguments":{"query":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_fulltext", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_fulltext", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_fulltext_metadata Search Fulltext Metadata
Get full-text with NER, NEL, and classification metadata
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_fulltext_metadata","arguments":{"query":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_fulltext_metadata", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_fulltext_metadata", "arguments": { "query": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_headlines_translated Search Headlines Translated
Get translated print media headlines
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| target_lang_code | string | Yes | Target language code for translation (ISO 639-1) |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_headlines_translated","arguments":{"query":"SOME_STRING_VALUE","target_lang_code":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_headlines_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_headlines_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_briefs_translated Search Briefs Translated
Get translated print media briefs
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| target_lang_code | string | Yes | Target language code for translation (ISO 639-1) |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_briefs_translated","arguments":{"query":"SOME_STRING_VALUE","target_lang_code":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_briefs_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_briefs_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_fulltext_translated Search Fulltext Translated
Get translated full-text print media articles
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| target_lang_code | string | Yes | Target language code for translation (ISO 639-1) |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_fulltext_translated","arguments":{"query":"SOME_STRING_VALUE","target_lang_code":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_fulltext_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_fulltext_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_fulltext_metadata_translated Search Fulltext Metadata Translated
Get translated full-text with metadata
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search terms or keywords |
| target_lang_code | string | Yes | Target language code for translation (ISO 639-1) |
| ns | string | No | Namespace (default: PMIN) |
| count | string | No | Number of results to return |
Code Examples
curl -X POST \ 'https://mcp.pressmonitor.com/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_fulltext_metadata_translated","arguments":{"query":"SOME_STRING_VALUE","target_lang_code":"SOME_STRING_VALUE","ns":"PMIN","count":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_fulltext_metadata_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/', { 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_fulltext_metadata_translated", "arguments": { "query": "SOME_STRING_VALUE", "target_lang_code": "SOME_STRING_VALUE", "ns": "PMIN", "count": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json())