MCPInstall
CustomMcpAI-ModelContextProtocol-GithubApi-TS logo

CustomMcpAI-ModelContextProtocol-GithubApi-TS

by ArlandMv ArlandMv/CustomMcpAI-ModelContextProtocol-GithubApi-TS

Proyecto inicial utilizando el Protocolo de Contexto de Modelo (MCP) para conectar IA con la API de GitHub mediante TypeScript, con el objetivo de exponer datos de repositorios de forma estandarizada para modelos de lenguaje (LLMs).

READMEmain

Servidor MCP para Repositorios de GitHub

Versión de Node.js Protocolo MCP

Un servidor del Model Context Protocol (MCP) que proporciona información de repositorios de GitHub mediante herramientas accesibles para IA, compatible con WindSurf Editor y otros clientes MCP.

📖 Descripción

Este servidor implementa el protocolo MCP para exponer la herramienta get-repo-info, que recupera información detallada de repositorios de GitHub. Diseñado para integrarse con flujos de trabajo de desarrollo asistidos por IA, permite:

  • Consultas en lenguaje natural sobre repositorios
  • Acceso estructurado a datos mediante clientes MCP
  • Validación de respuestas de la API usando esquemas Zod

✨ Características

  • Herramienta única: get-repo-info para información detallada de repositorios
  • Integración con GitHub API: Manejo seguro de solicitudes con límites de tasa
  • Sistema de validación: Esquemas Zod para entradas y salidas
  • Tolerancia a fallos: Manejo exhaustivo de errores y registro
  • Soporte para MCP 1.7.0: Compatibilidad total con la última versión del protocolo

⚙️ Requisitos

🚀 Instalación

# Clonar repositorio
git clone https://github.com/ArlandMv/CustomMcpAI-ModelContextProtocol-GithubApi-TS
cd CustomMcpAI-ModelContextProtocol-GithubApi-TS

# Instalar dependencias
npm install

# Compilar proyecto y dar permisos de ejecución
npm run build

# No esnecesario ejecutarlo manualmente, Salir
Ctrl+C

🔧 Configuración

Token de GitHub (opcional)

Para límites de API más altos, crea un archivo .env:

echo "GITHUB_TOKEN=tu_token_de_acceso_personal" > .env

Añade a tu configuración a tu cliente (Cursor, Claude Desktop, WindSurf Editor)

🔌 Integración con Herramientas

Cursor

  1. Abre la configuración de la herramienta
  2. Navega a la sección MCP Servers
  3. Haz clic en Add Custom Server
  4. Completa los campos:
    - Name: mcp-repos
    - Type: Command
    - Command: node
    - Arguments: [ruta_absoluta/build/index.js]
      # Ejemplo Windows: C:/Users/tuusuario/proyecto/build/index.js
      # Ejemplo Linux/macOS: /home/tuusuario/proyecto/build/index.js
    

Claude Desktop

  1. Edita el archivo de configuración (claude.conf.json) siguiendo la guía oficial:
{
    "mcpServers": {
        "repos": {
            "command": "node",
            "args": [
                "ruta/absoluta/al/proyecto/build/index.js"
            ]
        }
    }
}

Windsurf

Configura el archivo (mcp_config.json) según la documentación oficial:

{
    "servers": [
        {
            "name": "mcp-repos",
            "type": "stdio",
            "command": "node",
            "args": ["{BuildPath}/build/index.js"],
            "environment": {}
        }
    ]
}

🛠️ Uso

Prueba tu servidor MCP desde tu cliente:

tell me about a repo named "typescript" by microsoft

Ejemplo de solicitud desde cliente

// En cliente MCP (ej. WindSurf Editor)
const response = await mcpClient.callTool({
  name: "get-repo-info",
  arguments: {
    owner: "microsoft",
    repo: "typescript",
  },
});

Salida de ejemplo

🏷️ microsoft/typescript
📝 TypeScript es un superconjunto de JavaScript que compila a código JavaScript limpio.
🌐 https://github.com/microsoft/typescript

📊 Estadísticas:
  🌟 Estrellas: 94700
  🍴 Bifuraciones: 12280
  👀 Visibilidad: public

💻 Lenguaje: TypeScript
📅 Actualizado: 15/2/2024

📚 Referencia de API

Herramienta get-repo-info

Endpoint: GET https://api.github.com/repos/{owner}/{repo}

ParámetroTipoDescripción
ownerstringUsuario/organización en GitHub
repostringNombre del repositorio

📄 Licencia

Licencia MIT - ver LICENCIA para detalles


Desarrollado con: