Code Research MCP Server

Busca y accede a recursos de programación de Stack Overflow, MDN, GitHub, npm y PyPI.

Documentación

Servidor MCP de Code Research

smithery badge

Un servidor de Protocolo de Contexto de Modelo que proporciona herramientas para buscar y acceder a recursos de programación en múltiples plataformas. Este servidor se integra con plataformas populares para desarrolladores para ayudar a los LLMs a encontrar ejemplos de código, documentación y paquetes relevantes.

Code Research Server MCP server

Características

Plataformas Integradas

  • Stack Overflow - Preguntas y respuestas de programación
  • MDN Web Docs - Documentación de desarrollo web
  • GitHub - Búsqueda de código y repositorios
  • npm - Registro de paquetes de JavaScript
  • PyPI - Índice de paquetes de Python

Herramientas

search_stackoverflow

Busca en Stack Overflow preguntas y respuestas de programación.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
    • limit (opcional): Resultados máximos (1-10, predeterminado: 5)
  • Devuelve: Lista formateada de preguntas con puntuaciones, recuentos de respuestas y extractos
  • Los resultados se almacenan en caché durante 1 hora

search_mdn

Busca en MDN Web Docs documentación de desarrollo web.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
  • Devuelve: Las 5 mejores coincidencias de documentación de MDN con resúmenes y enlaces
  • Los resultados se almacenan en caché durante 1 hora

search_github

Busca en GitHub tanto repositorios como ejemplos de código.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
    • language (opcional): Filtrar por lenguaje de programación
    • limit (opcional): Resultados máximos por categoría (1-10, predeterminado: 5)
  • Devuelve: Dos secciones:
    1. Principales repositorios ordenados por estrellas
    2. Archivos de código relevantes con contexto del repositorio
  • Los resultados se almacenan en caché durante 1 hora

search_npm

Busca en el registro de npm paquetes de JavaScript.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
    • limit (opcional): Resultados máximos (1-10, predeterminado: 5)
  • Devuelve: Información del paquete que incluye versión, descripción y estadísticas de descargas
  • Los resultados se almacenan en caché durante 1 hora

search_pypi

Busca en PyPI paquetes de Python.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
  • Devuelve: Información detallada del paquete que incluye versión, autor y enlaces
  • Los resultados se almacenan en caché durante 1 hora

search_all

Busca en todas las plataformas simultáneamente para obtener resultados completos.

  • Parámetros:
    • query (obligatorio): Cadena de consulta de búsqueda
    • limit (opcional): Resultados máximos por plataforma (1-5, predeterminado: 3)
  • Devuelve: Resultados combinados de todas las plataformas:
    1. Preguntas y respuestas de Stack Overflow
    2. Documentación de MDN
    3. Repositorios y código de GitHub
    4. Paquetes de npm
    5. Paquetes de PyPI
  • Los resultados se almacenan en caché durante 1 hora
  • Nota: Ejecuta todas las búsquedas en paralelo para una respuesta más rápida

Requisitos

  • Node.js >= 20.11.0
  • npm >= 10.0.0
  • Opcional: Token de acceso personal de GitHub para límites de tasa de API más altos

Instalación

Instalación mediante Smithery

Para instalar Code Research Server para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @nahmanmate/code-research-mcp-server --client claude

Instalación Manual

  1. Clona el repositorio e instala las dependencias:
git clone https://github.com/nahmanmate/code-research-mcp-server.git
cd code-research-server
npm install
  1. Compila el servidor:
npm run build
  1. Configura los Ajustes de MCP:

Añade la configuración del servidor a tu archivo de ajustes de MCP:

  • VSCode: ~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Claude Desktop:
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "code-research": {
      "command": "node",
      "args": ["/absolute/path/to/code-research-mcp-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_token"  // Optional: Prevents rate limiting
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Nota: Reemplaza /absolute/path/to con la ruta real donde clonaste el repositorio.

Desarrollo

Ejecución en Modo de Desarrollo

Para desarrollo con reconstrucción automática en cambios:

npm run watch

Manejo de Errores

El servidor implementa un manejo robusto de errores:

  • Mensajes de error específicos de la API para cada plataforma
  • Manejo de límites de tasa para la API de GitHub
  • Alternativas elegantes para indisponibilidad del servicio
  • Respuestas en caché para reducir la carga de la API

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser desafiante. Usa el Inspector de MCP para monitoreo detallado de solicitudes/respuestas:

npm run inspector

El Inspector proporciona:

  • Monitoreo de solicitudes/respuestas en tiempo real
  • Trazado de ejecución de herramientas
  • Trazas de pila de errores
  • Métricas de rendimiento

Visita la URL proporcionada en tu navegador para acceder a la interfaz de depuración.

Almacenamiento en Caché

Los resultados se almacenan en caché usando node-cache:

  • TTL predeterminado: 1 hora
  • Claves de caché separadas por combinación de consulta/límite
  • Estrategias de almacenamiento en caché específicas de la plataforma
  • Almacenamiento eficiente en memoria

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Haz push a la rama
  5. Crea una Solicitud de Extracción

Licencia

AGPLv3