MCP
Veille Substack pour chercheurs, investisseurs et équipes de contenu MCP Server
Outils MCP pour Substack
URL de base
https://mcp.pressmonitor.com/substack/v1 Authentification
Les appels MCP utilisent également des jetons Bearer via des requêtes JSON-RPC 2.0.
Authorization: Bearer YOUR_TOKEN Découvrir les outils
Commencez par lister les outils exposés par le serveur 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()) outil
feed Flux
Flux
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| cursor | string | Non | Curseur |
| tab | string | Non | Onglet |
Exemples de code
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()) outil
profile_activity Activité du profil
Activité du profil
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| profile_id | string | Oui | Identifiant du profil |
Exemples de code
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()) outil
profile_posts Publications du profil
Publications du profil
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| profile_id | string | Oui | Identifiant du profil |
Exemples de code
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()) outil
profile_public Profil public
Profil public
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| handle | string | Oui | Identifiant |
Exemples de code
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()) outil
reader_comment Commentaire lecteur
Commentaire lecteur
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| comment_id | string | Oui | Identifiant du commentaire |
Exemples de code
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()) outil
reader_comment_replies Réponses aux commentaires des lecteurs
Réponses aux commentaires des lecteurs
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| comment_id | string | Oui | ID du commentaire |
Exemples de code
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()) outil
reader_post Publication du lecteur
Publication du lecteur
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| post_id | string | Oui | ID de la publication |
Exemples de code
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()) outil
search_people Recherche de personnes
Recherche de personnes
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| query | string | Oui | Requête de recherche |
| page | string | Non | Page |
Exemples de code
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()) outil
search_post Recherche de publication
Recherche de publication
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| query | string | Oui | Requête de recherche |
| page | string | Non | Page |
Exemples de code
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()) outil
search_top Recherche Top
Recherche Top
Arguments
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| query | string | Oui | Requête de recherche |
Exemples de code
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())