Inteligencia de Plataforma MCP
SubstackServidor MCP
Substack alcanza millones de lectores y apoya más de 5 millones de suscripciones pagadas en boletines, ensayos, podcasts y videos, lo que lo convierte en una herramienta importante para el liderazgo de pensamiento, audiencias propias y ingresos directos al lector.
MCP Versión: 1.0.0 10 Herramientas MCP Autenticación
URL base
https://mcp.pressmonitor.com/substack/v1 Autenticación
Las llamadas MCP también utilizan tokens Bearer sobre solicitudes JSON-RPC 2.0.
Authorization: Bearer YOUR_TOKEN Descubrir Herramientas
Comienza enumerando las herramientas expuestas por el servidor 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 Alimentación
Alimentación
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| cursor | string | No | Cursor |
| tab | string | No | Pestaña |
Ejemplos de código
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 Actividad del Perfil
Actividad del Perfil
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| profile_id | string | Sí | ID de Perfil |
Ejemplos de código
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 Publicaciones del Perfil
Publicaciones del Perfil
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| profile_id | string | Sí | ID de Perfil |
Ejemplos de código
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 Perfil Público
Perfil Público
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| handle | string | Sí | Alias |
Ejemplos de código
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 Comentario de Lector
Comentario de Lector
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| comment_id | string | Sí | ID de Comentario |
Ejemplos de código
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 Respuestas a Comentarios de Lectores
Respuestas a Comentarios de Lectores
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| comment_id | string | Sí | ID de Comentario |
Ejemplos de código
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 Publicación de Lector
Publicación de Lector
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| post_id | string | Sí | ID de Publicación |
Ejemplos de código
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 Buscar Personas
Buscar Personas
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| query | string | Sí | Consulta de búsqueda |
| page | string | No | Página |
Ejemplos de código
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 Buscar Publicación
Buscar Publicación
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| query | string | Sí | Consulta de búsqueda |
| page | string | No | Página |
Ejemplos de código
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 Buscar Principales
Buscar Principales
Argumentos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| query | string | Sí | Consulta de búsqueda |
Ejemplos de código
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())