Conecta tu IA a SubReply
SubReply expone sus seis tools de prospección en Reddit mediante un servidor Model Context Protocol, el estándar que hablan Claude, ChatGPT, Gemini y n8n. Conéctalo en treinta segundos y tu asistente busca, redacta y publica sin que escribas una sola petición HTTP.
Un único endpoint, solo en POST, transporte HTTP streamable y sin sesión:
https://subreply.io/api/mcpDos formas de autenticarse: OAuth para los conectores de los asistentes de gran público, una clave API para todo lo demás.
Conexión OAuth (recomendada) — claude.ai, ChatGPT, Gemini
El camino más corto, y sin ninguna clave que copiar. El conector te lleva a SubReply, inicias sesión con tu cuenta de siempre y ya está conectado.
Ajustes → Conectores → Añadir conector- Pega la URL:
https://subreply.io/api/mcp - Conectar → inicio de sesión en SubReply → Autorizar
Ajustes → Modo desarrollador → Apps → Nuevo conector- URL:
https://subreply.io/api/mcp, autenticaciónOAuth - Requiere un plan Pro, Business, Enterprise o Edu
Google AI Studio → Extensions → Custom MCP- URL:
https://subreply.io/api/mcp - Autenticación mediante OAuth de SubReply
La autorización dura 30 días. Pasado ese plazo el cliente vuelve a abrir la misma pantalla, y basta un clic para seguir.
La publicación no está disponible por OAuth
publish_reddit_comment rechaza las conexiones OAuth: escribir en Reddit exige una clave API con el permiso de publicación encendido en tus ajustes de API. Los otros cinco tools funcionan con normalidad.Conexión con clave API — Claude Code, Claude Desktop, n8n
La clave viaja en la cabecera Authorization. Cada petición se vuelve a autenticar, así que revocar una clave la corta en ese mismo instante, sin esperar a que caduque ninguna sesión. Es la misma clave sr_live_… que la API REST v1, que se genera en tu página de claves API.
Claude Code y Claude Desktop
claude mcp add --transport http subreply https://subreply.io/api/mcp \
--header "Authorization: Bearer sr_live_TU_CLAVE_API"O directamente en el archivo de configuración MCP, si prefieres versionarlo:
{
"mcpServers": {
"subreply": {
"type": "http",
"url": "https://subreply.io/api/mcp",
"headers": {
"Authorization": "Bearer sr_live_TU_CLAVE_API"
}
}
}
}n8n
Añade un nodo MCP Client y rellena cuatro campos:
Endpoint—https://subreply.io/api/mcpServer Transport—HTTP StreamableAuthentication—Header Auth- Credencial Header Auth — nombre
Authorization, valorBearer sr_live_…
El nodo lista entonces los seis tools. Cuidado con el timeout: publish_reddit_comment puede tardar dos minutos, muy por encima del valor por defecto de n8n.
Comprobar que responde
Si un cliente se niega a conectarse, esta llamada zanja la cuestión: no depende de ningún cliente MCP y no gasta créditos.
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_TU_CLAVE_API" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Seis tools en la lista significa que el servidor está bien y el problema está del lado del cliente. Un 401 significa la clave. Un 406 significa la cabecera Accept: el transporte exige los dos tipos, aunque responda JSON puro. El tool ping hace el mismo trabajo una vez conectado el cliente: responde pong y demuestra de paso que tu clave funciona.
Tools disponibles
| Tool | Qué hace | Créditos | Conviene saber |
|---|---|---|---|
ping | Sonda de disponibilidad. Responde «pong» y confirma que la clave es válida. | gratis | — |
get_account_status | Saldo de créditos y estado de la suscripción. El tool que hay que llamar cuando otro responde «créditos insuficientes». | gratis | — |
list_projects | Proyectos de la cuenta: id, nombre, idioma objetivo, palabras clave, estado del agente. | gratis | — |
scrape_reddit_opportunities | Escanea subreddits y devuelve las publicaciones cuyo autor parece un cliente, puntuadas por relevancia. | gratis | product_description muy recomendable |
generate_reddit_comment | Redacta un comentario natural, en el idioma del hilo, pensado para no provocar un shadowban. No publica nada. | 35 | Idempotente sobre post_url |
publish_reddit_comment | Publica de verdad en Reddit, desde una cuenta del parque de SubReply detrás de un proxy residencial. | 50 | Activación por clave API obligatoria |
La misma economía que la API REST: buscar es gratis, solo se factura la producción. Un escaneo que no encuentra nada nunca cuesta nada.
Escanear es gratis, pero no está abierto a todos
get_account_status y list_projects siguen siendo llamables con cero créditos. Ese es justamente su interés.Los cargos son idempotentes por publicación: si la red se corta y tu agente repite generate_reddit_comment sobre la misma URL de Reddit, la segunda llamada devuelve credits_used: 0.
Límites
| Tool | Límite |
|---|---|
scrape_reddit_opportunities | 60 llamadas / minuto |
generate_reddit_comment | 20 llamadas / minuto |
publish_reddit_comment | 5 llamadas / minuto |
get_account_statuslist_projects | 60 llamadas / minuto |
ping | ninguno |
Las cuotas se cuentan por cuenta y por tool: agotar generate_reddit_comment no frena ni tus otros tools ni las cuentas de los demás. ping no tiene límite a propósito — es la sonda, y tiene que seguir accesible justo cuando la estás llamando en ráfaga porque sospechas una avería.
Publicar en Reddit
publish_reddit_comment escribe de verdad en Reddit
El comentario es público en cuanto el tool devuelve, publicado desde una cuenta del parque de SubReply detrás de un proxy residencial. Borrarlo no deshace la notificación ya enviada al autor. Llama a este tool solo cuando una persona haya validado el texto exacto.
Por eso está apagado por defecto. Para encenderlo, abre tu página de claves API y activa la publicación en la clave en cuestión.
El permiso vive en la clave y no en la cuenta, y es deliberado: una clave dedicada a un flujo de publicación en n8n puede tenerlo mientras que una clave pegada en un asistente conversacional no. Tras una fuga, apagar la publicación en esa clave no rompe ninguna de tus otras integraciones.
- 5 llamadas por minuto como máximo, muy por debajo de lo que aguantaría la infraestructura. Una ráfaga de publicaciones no cuesta solo saldo: cuesta un shadowban.
- Los 50 créditos se cobran después, una vez confirmada la publicación. Un fallo no factura nada.
- Este tool no es idempotente: dos llamadas sobre la misma URL dejan dos comentarios. El segundo es gratis, pero ahí está.
- Cuenta con hasta dos minutos por llamada — un navegador real abre la publicación y escribe el comentario. Ajusta el timeout de tu cliente en consecuencia.
Errores específicos de MCP
Un tool que falla nunca lanza una excepción JSON-RPC: devuelve un resultado marcado isError: true, con una frase legible para el agente. Cuatro casos existen solo del lado MCP.
| Caso | Lo que devuelve el tool |
|---|---|
| Cuota superada | isError: true y el plazo de reintento en segundos. No se cobra nada. |
| Créditos insuficientes | isError: true y el saldo que falta. Recarga en la página de facturación. |
publish_reddit_comment sin activación | isError: true: la publicación está apagada en esa clave. Actívala en tus ajustes de API. |
publish_reddit_comment por OAuth | isError: true: publicar exige una clave API, una conexión OAuth no basta. |
El mensaje de cuota lleva el plazo de reintento, para que tu agente sepa cuándo retomar en vez de quedarse en bucle:
Rate limit exceeded for generate_reddit_comment:
20 calls per minute maximum. Retry in 34 seconds.
No credits were charged.El rechazo llega antes de toda lógica de negocio: no se llama a nada y no se cobra nada. Un agente que agota sus 20 generaciones por minuto no ha perdido ni un crédito.
Una lista vacía no es un error
scrape_reddit_opportunities filtra por frescura, señal de cliente y encaje con el producto. Cero resultados es una respuesta normal. Pasar product_description cambia mucho las cosas — sin ella, el umbral de encaje rechaza casi todo.Los códigos HTTP y el formato de error de la API REST están descritos en la página códigos de error.
Códigos de error completos