Connectez votre IA à SubReply
SubReply expose ses six tools de prospection Reddit via un serveur Model Context Protocol, le standard que parlent Claude, ChatGPT, Gemini et n8n. Branchez-le en trente secondes et votre assistant cherche, rédige puis publie sans que vous écriviez la moindre requête HTTP.
Un seul endpoint, en POST, transport HTTP streamable et sans session :
https://subreply.io/api/mcpDeux façons de s'authentifier : OAuth pour les connecteurs des assistants grand public, une clé API pour tout le reste.
Connexion OAuth (recommandée) — claude.ai, ChatGPT, Gemini
Le chemin le plus court, et sans clé à copier nulle part. Le connecteur vous renvoie sur SubReply, vous vous connectez avec votre compte habituel et c'est branché.
Réglages → Connecteurs → Ajouter un connecteur- Collez l'URL :
https://subreply.io/api/mcp - Se connecter → login SubReply → Autoriser
Réglages → Mode développeur → Apps → Nouveau connecteur- URL :
https://subreply.io/api/mcp, authentificationOAuth - Nécessite un plan Pro, Business, Enterprise ou Edu
Google AI Studio → Extensions → Custom MCP- URL :
https://subreply.io/api/mcp - Authentification par OAuth SubReply
L'autorisation vaut 30 jours. Au bout de ce délai le client rouvre le même écran, et un clic suffit à repartir.
La publication n'est pas disponible en OAuth
publish_reddit_commentrefuse les connexions OAuth : écrire sur Reddit demande une clé API dont l'autorisation de publication est allumée dans vos réglages API. Les cinq autres tools fonctionnent normalement.Connexion par clé API — Claude Code, Claude Desktop, n8n
La clé voyage dans l'en-tête Authorization. Chaque requête est réauthentifiée, donc révoquer une clé la coupe à l'instant même, sans attendre la fin d'une session. C'est la même clé sr_live_…que pour l'API REST v1, à générer sur votre page clés API.
Claude Code et Claude Desktop
claude mcp add --transport http subreply https://subreply.io/api/mcp \
--header "Authorization: Bearer sr_live_VOTRE_CLE_API"Ou directement dans le fichier de configuration MCP, si vous préférez le versionner :
{
"mcpServers": {
"subreply": {
"type": "http",
"url": "https://subreply.io/api/mcp",
"headers": {
"Authorization": "Bearer sr_live_VOTRE_CLE_API"
}
}
}
}n8n
Ajoutez un nœud MCP Client et renseignez quatre champs :
Endpoint—https://subreply.io/api/mcpServer Transport—HTTP StreamableAuthentication—Header Auth- Identifiant Header Auth — nom
Authorization, valeurBearer sr_live_…
Le nœud liste alors les six tools. Pensez au timeout : publish_reddit_comment peut prendre deux minutes, et le défaut de n8n est bien plus court.
Vérifier que ça répond
Si un client refuse de se connecter, cet appel tranche la question : il ne dépend d'aucun client MCP et n'utilise aucun crédit.
curl -s -X POST https://subreply.io/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer sr_live_VOTRE_CLE_API" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Six tools listés, c'est le serveur qui va bien et le problème est côté client. Un 401 et c'est la clé. Un 406 et c'est l'en-tête Accept: le transport exige les deux types, même s'il répond du JSON pur. Le tool ping fait le même travail une fois le client branché : il répond pong et prouve du même coup que votre clé passe.
Tools disponibles
| Tool | Ce qu'il fait | Crédits | À savoir |
|---|---|---|---|
ping | Sonde de disponibilité. Répond « pong » et confirme que la clé est valide. | gratuit | — |
get_account_status | Solde de crédits et état de l'abonnement. Le tool à appeler quand un autre répond « crédits insuffisants ». | gratuit | — |
list_projects | Projets du compte : id, nom, langue cible, mots-clés, état de l'agent. | gratuit | — |
scrape_reddit_opportunities | Scanne des subreddits et rend les posts dont l'auteur ressemble à un client, scorés par pertinence. | gratuit | product_description vivement recommandé |
generate_reddit_comment | Rédige un commentaire naturel, dans la langue du fil, pensé pour ne pas déclencher de shadowban. Ne publie rien. | 35 | Idempotent sur post_url |
publish_reddit_comment | Publie pour de vrai sur Reddit, depuis un compte du parc SubReply derrière un proxy résidentiel. | 50 | Opt-in par clé API requis |
Même économie que l'API REST : la recherche est gratuite, seule la production est facturée. Un scan qui ne trouve rien ne coûte donc jamais rien.
Le scan est gratuit, mais pas ouvert à tous
get_account_status et list_projectsrestent, eux, appelables à zéro crédit. C'est tout leur intérêt.Les débits sont idempotents par post : si le réseau coupe et que votre agent rejoue generate_reddit_comment sur la même URL Reddit, le second appel rend credits_used: 0.
Limites
| Tool | Limite |
|---|---|
scrape_reddit_opportunities | 60 appels / minute |
generate_reddit_comment | 20 appels / minute |
publish_reddit_comment | 5 appels / minute |
get_account_statuslist_projects | 60 appels / minute |
ping | aucune |
Les quotas sont comptés par compte et par tool : épuiser generate_reddit_comment ne bride ni vos autres tools ni les autres comptes. pingn'est volontairement pas limité — c'est la sonde, elle doit rester joignable au moment où l'on tape en rafale parce qu'on soupçonne une panne.
Publier sur Reddit
publish_reddit_comment écrit vraiment sur Reddit
Le commentaire est public dès le retour du tool, posté depuis un compte du parc SubReply derrière un proxy résidentiel. Aucune suppression ne défait la notification déjà envoyée au posteur. N'appelez ce tool qu'une fois le texte exact validé par un humain.
C'est pour ça qu'il est éteint par défaut. Pour l'allumer, ouvrez votre page clés API et activez la publication sur la clé concernée.
L'autorisation vit sur la clé, pas sur le compte, et c'est délibéré : une clé dédiée à un workflow n8n de publication peut l'avoir pendant qu'une clé collée dans un assistant conversationnel ne l'a pas. Après une fuite, éteindre la publication sur cette clé-là ne casse aucune de vos autres intégrations.
- 5 appels par minute au maximum, très en dessous de ce que l'infrastructure supporterait. Une rafale de publications ne coûte pas qu'un solde : c'est un shadowban.
- Les 50 crédits sont débités après coup, une fois la publication confirmée. Un échec ne facture rien.
- Ce tool n'est pas idempotent : deux appels sur la même URL laissent deux commentaires. Le second est gratuit, mais il est bien là.
- Comptez jusqu'à deux minutes par appel — un vrai navigateur ouvre le post et écrit le commentaire. Réglez le timeout de votre client en conséquence.
Erreurs spécifiques MCP
Un tool en échec ne lève jamais une exception JSON-RPC : il rend un résultat marqué isError: true, avec une phrase lisible par l'agent. Quatre cas n'existent que côté MCP.
| Cas | Ce que rend le tool |
|---|---|
| Quota dépassé | isError: trueet le délai de réattente en secondes. Rien n'est débité. |
| Crédits insuffisants | isError: true et le solde manquant. Rechargez sur la page facturation. |
publish_reddit_comment sans opt-in | isError: true : la publication est éteinte sur cette clé. Activez-la dans vos réglages API. |
publish_reddit_comment en OAuth | isError: true : publier exige une clé API, une connexion OAuth ne suffit pas. |
Le message de quota porte le délai de réattente, pour que votre agent sache quand reprendre au lieu de boucler :
Rate limit exceeded for generate_reddit_comment:
20 calls per minute maximum. Retry in 34 seconds.
No credits were charged.Le refus arrive avant toute logique métier : rien n'est appelé, rien n'est débité. Un agent qui épuise ses 20générations par minute n'a perdu aucun crédit.
Une liste vide n'est pas une erreur
scrape_reddit_opportunities filtre sur la fraîcheur, le signal client et le fit produit. Zéro résultat est une réponse normale. Renseigner product_description change beaucoup les choses — sans elle, le seuil de fit produit rejette le plus souvent tout.Les codes HTTP et le format des erreurs de l'API REST sont décrits sur la page codes d'erreur.
Codes d'erreur complets