RedditAPIs MCP

Servidor MCP oficial de redditapis.com: búsqueda de subreddits, publicaciones, comentarios, comunidades, usuarios y medios, además de gestión de monitores/webhooks como herramientas nativas de Claude/Cursor.

Documentación

redditapis-mcp

npm version npm downloads license

Servidor oficial del Model Context Protocol para redditapis.com, la API de Reddit como herramientas nativas para Claude, Cursor, Windsurf y cualquier cliente MCP. Convierte las lecturas de Reddit (búsqueda, listados de subreddits, árboles de comentarios, perfiles de usuario, metadatos de comunidades) en herramientas tipadas que tu agente puede llamar directamente, además (desde 0.2.0) de gestionar tus propios monitores y webhooks de redditapis.com, y (desde 0.4.0) de enviar comentarios del producto al equipo que el agente redactó y tú revisaste.

Pídele a tu agente que busque en Reddit un tema, lea las publicaciones principales de una comunidad de la semana, obtenga el historial de comentarios de un usuario, muestre los redditors que hablan de un producto, o lea las reglas de un subreddit antes de participar, y él llamará a la API por ti. También puede configurar un monitor que vigile un subreddit en busca de nuevas publicaciones que coincidan con un filtro y las entregue a un webhook, y luego comprobar lo que realmente ha entregado. Cada herramienta se asigna a un endpoint REST en https://api.redditapis.com; el servidor no mantiene estado y reenvía tu clave de API en cada llamada.

Inicio rápido

No requiere instalación. Ejecuta con npx. Solo necesitas una cosa: una clave de API de redditapis.com. Las lecturas funcionan solo con esa clave, por lo que no hay inicio de sesión ni paso de sesión que configurar. La gestión de monitores/webhooks requiere además un plan de monitoreo activo (el monitoreo no tiene nivel gratuito).

Configuración

Claude Desktop

Edita claude_desktop_config.json (Configuración > Desarrollador > Editar configuración):

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

Reinicia Claude Desktop. Las herramientas reddit_* aparecen en el selector de herramientas.

Claude Code

claude mcp add reddit --env REDDITAPIS_KEY=YOUR_API_KEY -- npx -y redditapis-mcp@latest

Cursor

~/.cursor/mcp.json (o Configuración > MCP > Agregar nuevo servidor):

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

VS Code (Copilot / modo agente)

.vscode/mcp.json en tu espacio de trabajo, o la configuración MCP a nivel de usuario:

{
  "servers": {
    "reddit": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

Configuración

Variable de entornoRequeridaPredeterminadoPropósito
REDDITAPIS_KEYSí(ninguna)Clave de API de redditapis.com. REDDIT_APIS_KEY se acepta como alias.
REDDITAPIS_BASE_URLNohttps://api.redditapis.comAnula el host de la API.
REDDITAPIS_TIMEOUT_MSNo30000Tiempo de espera por solicitud en milisegundos.
REDDITAPIS_FEEDBACK_DIRNo~/.redditapisDónde reddit_feedback_send mantiene su cola local de borradores (feedback-queue.json).

La autenticación es un token Bearer: el servidor envía Authorization: Bearer <REDDITAPIS_KEY> en cada solicitud.

Herramientas

44 herramientas: 30 lecturas de Reddit, 10 herramientas de gestión de monitores/webhooks, 3 herramientas de comentarios y 1 herramienta de cuenta (reddit_account_me). Las escrituras en Reddit (publicar, comentar, votar, mensajes directos) siguen siendo una superficie autenticada separada y están intencionalmente fuera del alcance aquí: las herramientas de monitores/webhooks configuran TU PROPIA cuenta de redditapis.com (una suscripción de alertas), nunca Reddit en sí, y las herramientas de comentarios envían un informe al equipo de redditapis.com, nunca a Reddit. Cada lectura funciona solo con tu clave de API; las 6 escrituras de monitores/webhooks además necesitan un plan de monitoreo activo (ver Monitoreo abajo). Las herramientas de comentarios son gratuitas y solo necesitan tu clave.

Algunas convenciones en todo el catálogo:

  • Los nombres de subreddits van sin el prefijo r/, y los nombres de usuario sin el prefijo u/. reddit_subreddit_posts toma su comunidad como subreddit; las herramientas /sub/{name}/... la toman como name.
  • Las herramientas de listados y búsqueda devuelven un cursor after. Pásalo de vuelta como after para obtener la siguiente página, exactamente como fue devuelto. limit acepta de 1 a 100 (la API ajusta los valores fuera de rango).
  • Cuando after regresa null no hay siguiente página que solicitar. Eso no siempre significa que tengas todos los elementos: Reddit a menudo deja de servir un listado ocupado mucho antes de que se agote. La respuesta final también lleva listing_status, que se lee como complete, truncated o unknown. Solo complete significa que no falta nada. Trata los otros dos como una respuesta parcial y amplía entre ordenamientos, períodos de tiempo o términos de búsqueda en lugar de paginar más profundo.
  • t (hour, day, week, month, year, all) establece la ventana de tiempo; en los listados de subreddits se aplica a los ordenamientos top y controversial, y en la búsqueda limita todo el conjunto de resultados.

Búsqueda y descubrimiento

HerramientaEndpointQué hace
reddit_searchGET /api/reddit/searchBusca publicaciones en todo Reddit o dentro de un subreddit (subreddit).
reddit_search_commentsGET /api/reddit/search/commentsBusca por texto de comentarios; devuelve las publicaciones principales, ya que la búsqueda de comentarios de Reddit no entrega el comentario coincidente en sí.
reddit_deep_comment_searchGET /api/reddit/search/comments/deepBúsqueda genuina de comentarios: devuelve los cuerpos de comentarios coincidentes reales (puntuación, autor, enlace permanente profundo del comentario, publicación principal). limit establece cuántas publicaciones principales expandir; group_by="author" cambia al modo de investigación (las personas distintas que hablan de tu consulta). Llamada premium.
reddit_search_mediaGET /api/reddit/search/mediaBusca publicaciones filtradas por medios, limitadas por kind (image, video, gif, all).
reddit_search_communitiesGET /api/reddit/search/communitiesEncuentra subreddits por nombre o tema (título, suscriptores, descripción, marcador NSFW).
reddit_search_usersGET /api/reddit/search/usersEncuentra redditors por nombre o palabra clave (nombre de usuario, karma, antigüedad de la cuenta).

Subreddits

HerramientaEndpointQué hace
reddit_subreddit_postsGET /api/reddit/postsLista las publicaciones de un subreddit por sort (new, hot, top, rising, controversial, best).
reddit_feedback_listGET /feedbackLista los informes que esta cuenta ha enviado, los más recientes primero, con su estado. La forma de volver a un informe cuyo id no se guardó. Gratis.
reddit_verify_commentsPOST /api/reddit/comments/verifyComprueba si hasta 100 comentarios específicos aún existen y son visibles públicamente. Una lectura a pesar del POST; distingue 'eliminado por el autor' de 'eliminado por un moderador' de 'sigue ahí'.
reddit_home_feedGET /api/reddit/feedLee TU PROPIO feed de inicio de Reddit. Necesita tu reddit_session y loid de POST /api/reddit/login (una llamada REST, no una herramienta MCP); viajan como encabezados, nunca en la URL.
reddit_subreddit_topGET /api/reddit/sub/{name}/topPublicaciones principales de un subreddit para una ventana de tiempo (t).
reddit_subreddit_commentsGET /api/reddit/sub/{name}/commentsTransmite los comentarios más recientes de todo un subreddit (no el hilo de una sola publicación).
reddit_subreddit_aboutGET /api/reddit/sub/{name}/aboutMetadatos públicos de un subreddit: título, descripción, recuentos de suscriptores y usuarios activos, tipo, marcador NSFW.
reddit_subreddit_rulesGET /api/reddit/sub/{name}/rulesReglas de publicación de un subreddit más las reglas generales del sitio de Reddit.
reddit_subreddit_moderatorsGET /api/reddit/sub/{name}/moderatorsEquipo de moderadores de un subreddit, cada uno con permisos, etiqueta y cuándo se unió.
reddit_subreddit_wikiGET /api/reddit/sub/{name}/wiki/{page}Página wiki de un subreddit por nombre y page (markdown + HTML, metadatos de revisión).

Publicaciones y comentarios

HerramientaEndpointQué hace
reddit_post_visibilityGET /api/reddit/post/{id}/visibility¿Una publicación sigue siendo visible públicamente, o dejó de serlo silenciosamente? Obtiene la publicación y una página del listado de su autor y compara. Devuelve live, not_visible o undecidable con una razón, y nunca afirma saber POR QUÉ. Dos llamadas ascendentes, $0.004.
reddit_postGET /api/reddit/post/{id}Una sola publicación por su id en base-36 (sin prefijo t3_): título, autor, puntuación, texto, enlace permanente, subreddit, url.
reddit_post_commentsGET /api/reddit/commentsUna publicación más su árbol de comentarios completo en hilo, obtenido por permalink.
reddit_by_idGET /api/reddit/by_id/{fullnames}Hidrata en masa hasta 100 publicaciones en una sola llamada desde una lista separada por comas de t3_ fullnames.

Usuarios

HerramientaEndpointQué hace
reddit_user_profileGET /api/reddit/user/{name}Perfil público de un usuario: karma, antigüedad de la cuenta, marcadores de verificado/empleado, avatar.
reddit_user_commentsGET /api/reddit/user/{name}/commentsComentarios recientes de un usuario (cuerpo, puntuación, subreddit, enlace principal, marca de tiempo).
reddit_user_submittedGET /api/reddit/user/{name}/submittedPublicaciones enviadas de un usuario (el hermano de reddit_user_comments).
reddit_user_achievementsGET /api/reddit/user/{name}/achievementsLogros públicos de un usuario (los trofeos en su perfil): nombre, descripción, marca de tiempo de concesión, iconos. Una cuenta sin ninguno devuelve una lista vacía.

Exploración de comunidades (sin palabra clave)

HerramientaEndpointQué hace
reddit_subreddits_popularGET /api/reddit/subreddits/popularExplora los subreddits más suscritos y en tendencia en este momento.
reddit_subreddits_newGET /api/reddit/subreddits/newExplora los subreddits más nuevos, los creados más recientemente primero.
reddit_subreddits_defaultGET /api/reddit/subreddits/defaultExplora el conjunto predeterminado de subreddits de la portada de Reddit.

Monitoreo: gestiona tus propios monitores y webhooks

Los monitores v1 están limitados a subreddits, solo publicaciones (sin vigilancia de palabras clave en todo Reddit, sin monitoreo de comentarios aún). Crear o actualizar un monitor o webhook necesita un plan activo; leer tu propia lista/salud/entregas nunca lo necesita.

HerramientaEndpointQué hace
reddit_monitor_addPOST /api/reddit/monitor/addCrea un monitor: subreddits a vigilar más un filtro opcional (palabra clave, autor, dominio, términos de inclusión/exclusión, puntuación mínima, NSFW). Solo hacia adelante desde la creación (o desde baseline_item_id).
reddit_monitor_listGET /api/reddit/monitor/listLista cada monitor en tu cuenta, más slots ({usado, total, nivel}).
reddit_monitor_updatePOST /api/reddit/monitor/updatePausar/reanudar (active), re-cadencia, o reemplazar el filtro de un monitor. Pasar cualquier campo de filtro REEMPLAZA todo el filtro: vuelve a proporcionar todo lo que quieras conservar.
reddit_monitor_removePOST /api/reddit/monitor/removeElimina permanentemente un monitor. No se puede deshacer.
reddit_monitor_healthGET /api/reddit/monitor/healthRecuentos por monitor de entregados/fallidos/suprimidos (últimas 24h), suppressed_breakdown dividiendo esas supresiones en razones ceiling y stale, y si se ha alcanzado el techo de entrega específicamente.
reddit_monitor_deliveriesGET /api/reddit/monitor/deliveriesLas publicaciones reales entregadas (o intentadas), las más recientes primero, con contenido real, no solo recuentos. Omite id para agregar en todos los monitores que posees.
reddit_monitor_webhook_createPOST /api/reddit/monitor/webhook/createRegistra un destino de entrega (webhook/slack/discord). Devuelve un secreto de firma mostrado UNA VEZ.
reddit_monitor_webhook_listGET /api/reddit/monitor/webhook/listLista tus webhooks. Nunca devuelve el secreto.
reddit_monitor_webhook_testPOST /api/reddit/monitor/webhook/testEnvía una entrega de prueba única para confirmar que un webhook está configurado correctamente.
reddit_monitor_webhook_deletePOST /api/reddit/monitor/webhook/deleteElimina permanentemente un webhook. No pausa en cascada los monitores que aún apuntan a él.

Comentarios: dile al equipo qué falló, después de revisar el borrador

Modelado según la propia herramienta de comentarios de Claude Code. Cuando una llamada falla de una manera que no es tu clave, créditos o un límite de velocidad, cuando pides algo que ninguna herramienta cubre, o cuando un resultado es claramente incorrecto, el modelo puede redactar un informe en una cola local (~/.redditapis/feedback-queue.json, como máximo 10 borradores, anula el directorio con REDDITAPIS_FEEDBACK_DIR). Nada se envía hasta que pidas revisar la cola y nombres los borradores a enviar. Cada informe lleva el endpoint de la última llamada fallida, el estado y el id de la solicitud, tu nombre de cliente y la versión de este paquete, para que el equipo pueda actuar sin un seguimiento. Usa reddit_feedback_get con el id de servidor devuelto para ver si fue clasificado, enviado o rechazado. Ambas herramientas son gratuitas.

HerramientaEndpointQué hace
reddit_feedback_sendPOST /feedbackaction: "draft" (predeterminado) pone en cola un informe localmente y no envía nada; "list" muestra la cola; "send" publica solo los borradores que nombres; "discard" los descarta.
reddit_account_meGET /account/meCuánto crédito le queda a esta clave, antes de gastar nada. Gratuito, nunca medido.
reddit_feedback_getGET /feedback/{id}Lee el estado de un informe enviado (new, triaged, shipped, declined) y la respuesta del equipo.

Ejemplos de uso

Investiga un tema en Reddit

"¿Qué dice la gente sobre el borrow checker de Rust este mes?"

El agente llama a reddit_search con:

q: "borrow checker"
sort: "relevance"
t: "month"
sort_type: "score"

Lee las publicaciones principales de una comunidad de la semana

"Muéstrame las publicaciones principales de r/programming esta semana."

El agente llama a reddit_subreddit_top con:

name: "programming"
t: "week"

Para paginar más, pasa el cursor after de la respuesta en la siguiente llamada: { name: "programming", t: "week", after: "<after from response>" }.

Encuentra quién habla de un producto

"¿Qué redditors recomiendan teclados mecánicos y qué dicen?"

El agente llama a reddit_deep_comment_search con:

q: "mechanical keyboard"
group_by: "author"
sort: "relevance"

El modo de investigación devuelve las personas distintas que mencionaron la consulta, clasificadas por cuántos de sus comentarios coincidieron, cada una con su comentario principal y los subreddits en los que coincidieron.

Evalúa un subreddit y luego lee un hilo

"Encuentra una discusión sobre límites de tasa de API en r/webdev, revisa las reglas del sub y lee el hilo completo."

El agente llama a reddit_search limitado a la comunidad:

q: "rate limiting"
subreddit: "webdev"
sort: "relevance"
t: "year"

Luego reddit_subreddit_rules con { name: "webdev" }, y finalmente reddit_post_comments con el permalink de un resultado de búsqueda, por ejemplo { permalink: "/r/webdev/comments/abc123/some_title/" }, para obtener la publicación y su árbol de comentarios.

Configura el monitoreo de marca y revisa lo que llegó

"Vigila r/SaaS y r/startups por menciones de mi producto, envía coincidencias a mi Slack y muéstrame lo que ha llegado hasta ahora."

El agente llama a reddit_monitor_webhook_create con:

url: "https://hooks.slack.com/services/..."
kind: "slack"

Luego reddit_monitor_add con:

subreddit: ["SaaS", "startups"]
q: "my product name"

Más tarde, reddit_monitor_deliveries con { id: "<monitor id from the add response>" } devuelve las publicaciones coincidentes reales enviadas hasta ahora, o reddit_monitor_health solo para los conteos.

No se necesita sesión para lecturas; las escrituras de monitoreo/webhook requieren un plan activo

Las lecturas solo necesitan tu clave de API: sin vinculación de cuenta, inicio de sesión ni paso de cookies. Las acciones de escritura en Reddit (publicar, comentar, votar, enviar mensajes directos) se manejan mediante una superficie autenticada separada fuera de este paquete y permanecen deliberadamente no expuestas aquí, por lo que un agente que use este servidor nunca puede publicar, votar ni enviar mensajes directos como tú en Reddit. Las herramientas de gestión de monitoreo/webhook son un tipo diferente de escritura: configuran TU PROPIA cuenta de redditapis.com (una suscripción de alertas) y requieren un plan de monitoreo activo para cualquier cosa que cree o cambie estado (reddit_monitor_add/update/remove, reddit_monitor_webhook_create/test/delete); leer tu propia lista, estado o historial de entrega nunca lo requiere.

Solución de problemas

HTTP 401 (invalid or missing API key) Verifica que REDDITAPIS_KEY esté configurado correctamente en la configuración de tu cliente MCP y coincida con la clave de redditapis.com.

HTTP 402 (insufficient credits) Recarga tu cuenta en redditapis.com. Para una escritura de monitoreo/webhook específicamente, un cuerpo 402 de subscription_required significa que no hay un plan de monitoreo activo (el monitoreo no tiene nivel gratuito); monitor_slots_exhausted significa que el límite de ranuras de monitoreo del plan ya está en uso: el campo slots de reddit_monitor_list muestra usado vs total.

HTTP 403 (access forbidden) El subreddit o usuario puede ser privado, baneado o en cuarentena, o tu plan puede no incluir este endpoint.

HTTP 404 (not found) El subreddit, ID de publicación, usuario o enlace permanente puede ser incorrecto, o el contenido puede haber sido eliminado o retirado.

HTTP 429 (rate limited) Espera unos segundos y reintenta, o reduce la frecuencia de solicitudes. Para trabajo masivo, espacia las llamadas y aumenta REDDITAPIS_TIMEOUT_MS.

Request failed: timed out after 30000ms El tiempo de espera predeterminado es de 30 segundos. Para reddit_deep_comment_search grandes o recuperaciones paginadas, establece REDDITAPIS_TIMEOUT_MS más alto (por ejemplo 60000).

Las herramientas no aparecen en Claude / Cursor Asegúrate de que npx esté en tu PATH y que Node.js 18+ esté instalado (node --version). Revisa los registros de tu cliente MCP para ver errores de inicio.

Desarrollo

npm install
npm run check   # syntax-check both source files
npm test        # unit-test the tool catalog + query/path builders (no network)
npm start       # run the stdio server (needs REDDITAPIS_KEY)

Enlaces

  • Sitio y claves de API: redditapis.com
  • URL base de la API REST (llámala directamente, sin MCP): https://api.redditapis.com

Preguntas frecuentes

¿Necesito una cuenta de desarrollador de Reddit? No. Obtén una clave de API en redditapis.com; no hay paso de solicitud ni aprobación.

¿Puede publicar, comentar o votar? No. Las 30 herramientas orientadas a Reddit leen Reddit; publicar, comentar, votar y enviar mensajes directos son una superficie autenticada separada y no están expuestas aquí. De las otras 14, las 10 herramientas de monitoreo/webhook gestionan TUS PROPIOS monitores y webhooks de redditapis.com (una escritura, pero nunca una escritura a Reddit en sí), las 3 herramientas de comentarios envían o leen un informe al equipo de redditapis.com, y reddit_account_me lee tu propio saldo y plan.

¿Qué clientes son compatibles? Claude Desktop, Claude Code, Cursor, Windsurf y VS Code (modo agente de Copilot), o cualquier cliente del Protocolo de Contexto de Modelo.

¿Almacena mi clave o datos? No. El servidor no mantiene estado y reenvía tu clave de API en cada llamada.

Licencia

MIT