Interactúa con Reddit publicando comentarios y buscando publicaciones.
Documentación
Servidor MCP de Reddit
Este servidor MCP permite a los Clientes interactuar con Reddit mediante autenticación OAuth2, habilitando acceso de solo lectura para buscar publicaciones dentro de subreddits.
Características
- Buscar publicaciones: Busca publicaciones en subreddits específicos con varias opciones de ordenamiento (relevancia, populares, mejores, nuevos, comentarios)
- Autenticación OAuth2: Autenticación segura utilizando el flujo de credenciales de cliente OAuth2 de Reddit
- Acceso de solo lectura: Acceso seguro y de solo lectura a los datos de Reddit sin requerir credenciales de usuario
Inicio Rápido
-
Crea una aplicación de Reddit para obtener tus credenciales de API:
- Ve a https://www.reddit.com/prefs/apps
- Haz clic en "Create App" o "Create Another App"
- Elige "script" como tipo de aplicación
- Anota tu ID de cliente y secreto de cliente
-
Agrega esta configuración a tu archivo de configuración de Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"reddit-mcp": {
"command": "npx",
"args": ["-y", "@enisze/reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here",
"REDDIT_USER_AGENT": "reddit-mcp-server/1.0.0"
}
}
}
}
- Reinicia Claude Desktop
¡Eso es todo! Claude ahora puede buscar en Reddit a través de la herramienta search_posts.
Ejemplo de Uso
Intenta preguntarle a Claude:
- "¿Puedes buscar publicaciones sobre 'inteligencia artificial' en el subreddit MachineLearning?"
- "Busca las 10 publicaciones principales sobre 'Claude AI' en el subreddit artificial"
- "Encuentra discusiones recientes sobre 'mejores prácticas de programación' en el subreddit programming"
Variables de Entorno
REDDIT_CLIENT_ID: El ID de cliente de tu aplicación de RedditREDDIT_CLIENT_SECRET: El secreto de cliente de tu aplicación de RedditREDDIT_USER_AGENT: Cadena de agente de usuario (opcional, por defecto "reddit-mcp-server/1.0.0")
Desarrollo
Si deseas contribuir o ejecutar desde el código fuente:
- Clona el repositorio:
git clone <repository-url>
cd reddit-mcp
- Instala las dependencias:
npm install
- Compila:
npm run build
- Ejecuta:
npm start
- Prueba:
# Run unit tests (no API credentials needed)
npm test
# Run API integration tests (requires Reddit credentials)
npm run test:api
Ejecutar Evaluaciones
Para probar la funcionalidad del servidor MCP de Reddit:
npm run eval
Esto ejecutará una serie de evaluaciones para asegurar que todas las herramientas funcionen correctamente.
Ejecutar Evals
El paquete de evals carga un cliente MCP que luego ejecuta el archivo index.ts, por lo que no es necesario recompilar entre pruebas. Puedes cargar variables de entorno prefijando el comando npx. La documentación completa se puede encontrar aquí.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Soporte para Docker
También puedes ejecutar este servidor MCP usando Docker:
# Build the Docker image
docker build -t reddit-mcp .
# Run the container with environment variables
docker run -e REDDIT_CLIENT_ID=your_client_id \
-e REDDIT_CLIENT_SECRET=your_client_secret \
reddit-mcp
Documentación de la API
search_posts
Busca publicaciones en un subreddit de Reddit utilizando autenticación OAuth2.
Parámetros:
query(cadena, requerido): Consulta de búsquedasubreddit(cadena, requerido): El nombre del subreddit (sin el prefijo r/)count(número, opcional): Número de publicaciones a devolver (1-100, por defecto: 25)sort(cadena, opcional): Orden de clasificación - 'relevance', 'hot', 'top', 'new', 'comments' (por defecto: 'relevance')
Solución de Problemas
Problemas de Autenticación
- Asegúrate de que tu ID de cliente y secreto de Reddit sean correctos
- Verifica que tu aplicación de Reddit esté configurada como tipo "script"
- Comprueba que tu cadena de agente de usuario sea descriptiva y única
Límites de Tasa
- El servidor implementa límites de tasa básicos (2 segundos entre solicitudes)
- Reddit tiene sus propios límites de tasa - si los alcanzas, espera antes de reintentar
Errores Comunes
- "Subreddit not found": Verifica la ortografía del nombre del subreddit
- "OAuth2 authentication failed": Verifica las credenciales de tu aplicación de Reddit
- "Invalid credentials": Asegúrate de que tu ID de cliente y secreto sean correctos
Pruebas
El proyecto incluye pruebas exhaustivas para verificar la funcionalidad:
Pruebas Unitarias
Ejecuta pruebas de funcionalidad básica sin requerir credenciales de API de Reddit:
npm test
Estas pruebas verifican:
- Formato de respuestas
- Definiciones de tipos
- Manejo de estructuras de datos
- Lógica de manejo de errores
Pruebas de Integración de API
Prueba la funcionalidad real de la API de Reddit (requiere credenciales):
npm run test:api
Configura tus credenciales en .env primero (copia desde .env.example).
Estas pruebas verifican:
- Flujo de autenticación OAuth2
- Funcionalidad de búsqueda
- Manejo de respuestas de la API
- Manejo de errores para varios escenarios
Consulta TEST.md para instrucciones detalladas de prueba.
Licencia
MIT