Платформенная аналитика MCP
Substack MCP Сервер
Substack охватывает миллионы читателей и поддерживает более 5 миллионов платных подписок через рассылки, эссе, подкасты и видео, что делает его важным для лидерства мысли, собственности на аудиторию и доходов напрямую от читателей.
MCP Версия: 1.0.0 10 Инструменты MCP Аутентификация
Базовый URL
https://mcp.pressmonitor.com/substack/v1 Аутентификация
Вызовы MCP также используют токены Bearer в запросах JSON-RPC 2.0.
Authorization: Bearer YOUR_TOKEN Обнаружить инструменты
Начните с перечисления инструментов, доступных через сервер MCP.
curl -X POST \ 'https://mcp.pressmonitor.com/substack/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/substack/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/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
feed Лента
Лента
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| cursor | string | Нет | Курсор |
| tab | string | Нет | Вкладка |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"feed","arguments":{"cursor":"NEXT_CURSOR","tab":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "feed", "arguments": { "cursor": "NEXT_CURSOR", "tab": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "feed", "arguments": { "cursor": "NEXT_CURSOR", "tab": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
profile_activity Активность профиля
Активность профиля
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| profile_id | string | Да | ID профиля |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"profile_activity","arguments":{"profile_id":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "profile_activity", "arguments": { "profile_id": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "profile_activity", "arguments": { "profile_id": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
profile_posts Публикации профиля
Публикации профиля
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| profile_id | string | Да | ID профиля |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"profile_posts","arguments":{"profile_id":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "profile_posts", "arguments": { "profile_id": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "profile_posts", "arguments": { "profile_id": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
profile_public Общедоступный профиль
Общедоступный профиль
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| handle | string | Да | Имя пользователя |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"profile_public","arguments":{"handle":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "profile_public", "arguments": { "handle": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "profile_public", "arguments": { "handle": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
reader_comment Комментарий читателя
Комментарий читателя
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| comment_id | string | Да | ID комментария |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"reader_comment","arguments":{"comment_id":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "reader_comment", "arguments": { "comment_id": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "reader_comment", "arguments": { "comment_id": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
reader_comment_replies Ответы на комментарии читателей
Ответы на комментарии читателей
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| comment_id | string | Да | ID комментария |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"reader_comment_replies","arguments":{"comment_id":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "reader_comment_replies", "arguments": { "comment_id": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "reader_comment_replies", "arguments": { "comment_id": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
reader_post Публикация читателя
Публикация читателя
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| post_id | string | Да | ID публикации |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"reader_post","arguments":{"post_id":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "reader_post", "arguments": { "post_id": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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": "reader_post", "arguments": { "post_id": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_people Поиск людей
Поиск людей
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| query | string | Да | Поисковый запрос |
| page | string | Нет | Страница |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_people","arguments":{"query":"SOME_STRING_VALUE","page":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_people", "arguments": { "query": "SOME_STRING_VALUE", "page": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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_people", "arguments": { "query": "SOME_STRING_VALUE", "page": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_post Поиск публикаций
Поиск публикаций
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| query | string | Да | Поисковый запрос |
| page | string | Нет | Страница |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_post","arguments":{"query":"SOME_STRING_VALUE","page":20}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_post", "arguments": { "query": "SOME_STRING_VALUE", "page": 20 } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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_post", "arguments": { "query": "SOME_STRING_VALUE", "page": 20 } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json()) tool
search_top Лучший поиск
Лучший поиск
Аргументы
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| query | string | Да | Поисковый запрос |
Примеры кода
curl -X POST \ 'https://mcp.pressmonitor.com/substack/v1' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_top","arguments":{"query":"SOME_STRING_VALUE"}}}' const payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_top", "arguments": { "query": "SOME_STRING_VALUE" } } }; const response = await fetch('https://mcp.pressmonitor.com/substack/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_top", "arguments": { "query": "SOME_STRING_VALUE" } } } response = requests.post( 'https://mcp.pressmonitor.com/substack/v1', headers={ 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, json=payload, ) print(response.json())