Business Intelligence MCP
IPTC Media Topics MCP Server
IPTC Media Topics is a media taxonomy of over 1,200 terms available in 13 languages for classifying news and text subjects. It is important for editorial systems, archives, search, metadata tagging, and newsroom workflows.
MCP Version: 1.0.0 3 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
news_headlines News Headlines
Get news headlines
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | Entity code (e.g., ticker symbol, industry code) |
| lang_code | string | No | Filter by language code (ISO 639-1) |
| country_code | string | No | Filter by country code (ISO 3166-1 alpha-2) |
| count | string | No | Number of results to return |
| cursor | string | No | Pagination cursor (alternative to search_after) |
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":"news_headlines","arguments":{"code":"SOME_STRING_VALUE","lang_code":"SOME_STRING_VALUE","country_code":"SOME_STRING_VALUE","count":20,"cursor":"NEXT_CURSOR"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "news_headlines", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } }; 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": "news_headlines", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
news_briefs News Briefs
Get news briefs
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | Entity code (e.g., ticker symbol, industry code) |
| lang_code | string | No | Filter by language code (ISO 639-1) |
| country_code | string | No | Filter by country code (ISO 3166-1 alpha-2) |
| count | string | No | Number of results to return |
| cursor | string | No | Pagination cursor (alternative to search_after) |
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":"news_briefs","arguments":{"code":"SOME_STRING_VALUE","lang_code":"SOME_STRING_VALUE","country_code":"SOME_STRING_VALUE","count":20,"cursor":"NEXT_CURSOR"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "news_briefs", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } }; 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": "news_briefs", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
news_fulltext News Fulltext
Get full-text news
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | Entity code (e.g., ticker symbol, industry code) |
| lang_code | string | No | Filter by language code (ISO 639-1) |
| country_code | string | No | Filter by country code (ISO 3166-1 alpha-2) |
| count | string | No | Number of results to return |
| cursor | string | No | Pagination cursor (alternative to search_after) |
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":"news_fulltext","arguments":{"code":"SOME_STRING_VALUE","lang_code":"SOME_STRING_VALUE","country_code":"SOME_STRING_VALUE","count":20,"cursor":"NEXT_CURSOR"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "news_fulltext", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } }; 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": "news_fulltext", "arguments": { "code": "SOME_STRING_VALUE", "lang_code": "SOME_STRING_VALUE", "country_code": "SOME_STRING_VALUE", "count": 20, "cursor": "NEXT_CURSOR" } } } response = requests.post( 'https://mcp.pressmonitor.com/', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json())