GitHub GraphQL API MCP

by wanzunz

Integrations

  • Uses .env files to securely store GitHub access tokens needed for API authentication.

  • Enables querying GitHub's GraphQL API to retrieve repository information, issues, pull requests, user profiles, and project dependencies with precise data control to reduce token consumption.

  • Provides schema exploration and query execution capabilities for GitHub's GraphQL API, allowing for precise data retrieval through query customization.

MCP de la API GraphQL de GitHub

Inglés |中文|日本語| Español | francés

Una herramienta basada en MCP (Protocolo de Control de Modelos) para consultar y usar la API GraphQL de GitHub. Este proyecto proporciona un servidor que permite explorar el esquema GraphQL de GitHub y ejecutar consultas GraphQL mediante herramientas cliente MCP (como Claude AI).

¿Por qué usar la API GraphQL de GitHub?

La API GraphQL de GitHub ofrece ventajas significativas sobre las API REST tradicionales:

  • Recuperación precisa de datos : GraphQL permite a los clientes especificar exactamente qué campos necesitan, evitando el exceso de datos.
  • Consumo de tokens reducido : al solicitar solo los campos necesarios, el tamaño de la respuesta de la API se reduce significativamente, lo que disminuye el consumo de tokens del modelo de IA.
  • Solicitud única de datos relacionados : una consulta puede recuperar varios recursos relacionados, lo que reduce la cantidad de solicitudes
  • Autodocumentación : a través de su sistema de documentación integrado, puede consultar y comprender directamente el esquema de API sin documentación externa.
  • Sistema de tipos fuerte : proporciona verificación de tipos, lo que reduce errores

Este proyecto aprovecha estas ventajas para proporcionar herramientas que lo ayuden a explorar de manera efectiva el esquema de API GraphQL de GitHub y ejecutar consultas optimizadas, proporcionando a los asistentes de IA capacidades eficientes de recuperación de datos de GitHub.

Escenarios de aplicación

Funciones básicas

Esta herramienta implementa fácilmente las siguientes operaciones comunes:

  1. Consulta de información básica del repositorio : obtenga el nombre del repositorio, la descripción, el número de estrellas, la lista de ramas y otra información básica
  2. Recuperación de datos de problemas : consulte listas de problemas, detalles o contenido de comentarios para repositorios específicos
  3. Acceso al perfil de usuario : recupera perfiles personales de los usuarios, estadísticas de contribución y otra información pública
  4. Vista del estado de la solicitud de extracción : obtenga el estado básico de la solicitud de extracción, el contenido de los comentarios y la información de combinación
  5. Consulta de dependencias del proyecto : recupera listas de paquetes de dependencia del proyecto e información de la versión

Funciones avanzadas exploratorias

Con las capacidades de consulta flexibles de GraphQL, también puedes intentar implementar las siguientes funciones de análisis avanzadas:

  1. Análisis de tendencias de contribución del repositorio : analice la frecuencia de actualización del código y la participación de los contribuyentes agregando datos de confirmación y evaluando la actividad del proyecto.
  2. Gestión y clasificación de problemas : organice los datos de los problemas según las condiciones personalizadas, descubra problemas que necesitan un manejo prioritario y mejore la eficiencia de la gestión de proyectos.
  3. Análisis de patrones de revisión de código : analice los comentarios de PR y revise los procesos, identifique patrones de problemas comunes y optimice el flujo de trabajo de revisión de código
  4. Visualización de la red de colaboradores : cree relaciones de colaboración entre los colaboradores del proyecto, descubra colaboradores clave y áreas de especialización
  5. Evaluación del estado de las dependencias : evaluar la frecuencia de actualización y los posibles problemas de seguridad de las dependencias del proyecto, brindando sugerencias para la gestión de las dependencias.

Características

  • Consulta de tipos de raíz de esquema GraphQL de GitHub (Consulta/Mutación)
  • Obtenga documentación detallada para tipos específicos
  • Consultar documentación y parámetros para campos específicos
  • Ejecute consultas de API GraphQL de GitHub directamente, recuperando con precisión los datos necesarios y reduciendo el consumo de tokens
  • Soporte bilingüe (inglés/chino)

Prerrequisitos

  • Python 3.10 o superior
  • Token de acceso personal de GitHub (para acceder a la API de GitHub)
  • Poesía (herramienta de gestión de dependencias recomendada)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/wanzunz/github_graphql_api_mcp.git cd github_graphql_api_mcp
  1. Instalar dependencias usando Poetry:
# If you haven't installed Poetry yet, install it first: # curl -sSL https://install.python-poetry.org | python3 - # Install dependencies using Poetry poetry install # Activate the virtual environment poetry shell

Si no utilizas poesía, puedes utilizar el método tradicional:

# Create and activate a virtual environment python -m venv .venv source .venv/bin/activate # Linux/MacOS # or .venv\Scripts\activate # Windows # Install dependencies pip install -e .
  1. Configurar variables de entorno:

Crea un archivo .env y agrega tu token de acceso personal de GitHub:

GITHUB_TOKEN="your_github_token_here"

Puedes crearlo copiando el archivo .env.example :

cp .env.example .env

Luego edita el archivo .env , reemplazando your_github_token_here con tu token de GitHub real.

Uso

Iniciando el servidor

Asegúrate de tener activado el entorno virtual Poetry ( poetry shell ), luego:

Correr
python github_graphql_api_mcp_server.py

Una vez iniciado el servidor, puedes conectarte a él a través de un cliente MCP (como Claude AI).

Configurar en Claude Desktop

Puede configurar este servidor MCP en la aplicación de escritorio Claude para iniciarlo con un solo clic:

  1. Abra la aplicación de escritorio de Claude
  2. Vaya a configuración, busque la sección de configuración del servidor MCP
  3. Agregue la siguiente configuración (modifique según su ruta actual):
{ "mcpServers": { "github_mcp": { "command": "<your Python interpreter path>", "args": [ "--directory", "<project path>", "run", "github_graphql_api_mcp_server.py" ] } } }

Ejemplo de configuración:

{ "mcpServers": { "github_mcp": { "command": "/usr/bin/python3", "args": [ "--directory", "/home/user/projects/github_graphql_api_mcp/", "run", "github_graphql_api_mcp_server.py" ] } } }

Si utiliza conda u otras herramientas de gestión del entorno:

{ "mcpServers": { "github_mcp": { "command": "/opt/miniconda3/bin/python", "args": [ "--directory", "/Users/username/github/github_graphql_api_mcp/", "run", "github_graphql_api_mcp_server.py" ] } } }

Después de la configuración, puede iniciar el servidor MCP directamente desde la aplicación de escritorio Claude sin tener que iniciarlo manualmente.

Herramientas disponibles

El servidor proporciona las siguientes herramientas:

  1. print_type_field : Campos de consulta de tipos raíz del esquema GraphQL de GitHub
  2. graphql_schema_root_type : Obtener documentación para tipos raíz (Consulta/Mutación)
  3. graphql_schema_type : consulta la documentación para tipos específicos
  4. call_github_graphql : Ejecutar consultas de la API GraphQL de GitHub

Ejemplos de uso

Después de conectarse al servidor con un cliente MCP, puede:

  1. Documentación del tipo raíz de consulta:
    Use the graphql_schema_root_type tool, parameter type_name="QUERY"
  2. Campos de consulta de tipos específicos:
    Use the print_type_field tool, parameters type_name="QUERY", type_fields_name="repository"
  3. Consultar documentación para tipos específicos:
    Use the graphql_schema_type tool, parameter type_name="Repository"
  4. Ejecutar consultas GraphQL:
    Use the call_github_graphql tool, parameter: graphql=""" query { viewer { login name } } """
Ejemplo de captura de pantalla

A continuación se muestra un ejemplo del uso de la API GraphQL de GitHub MCP con Claude:

Notas

  • Asegúrese de que su token de GitHub tenga los permisos adecuados antes de usarlo
  • El token se almacena en el archivo .env , que no debe enviarse a los sistemas de control de versiones.
  • Las consultas deben cumplir con los límites de uso de la API de GitHub

Licencia

Este proyecto está licenciado bajo la Licencia MIT, una licencia muy permisiva que permite a los usuarios usar, modificar, distribuir y comercializar libremente este software, siempre que conserven el aviso de copyright y la declaración de licencia.

Consulte la licencia MIT para conocer los términos detallados.

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor que le permite explorar el esquema GraphQL de GitHub y ejecutar consultas GraphQL a través de herramientas de cliente MCP, lo que permite una recuperación de datos eficiente de GitHub con un consumo de tokens reducido.

  1. ¿Por qué usar la API GraphQL de GitHub?
    1. Escenarios de aplicación
      1. Funciones básicas
      2. Funciones avanzadas exploratorias
    2. Características
      1. Prerrequisitos
        1. Instalación
          1. Uso
            1. Iniciando el servidor
            2. Configurar en Claude Desktop
            3. Herramientas disponibles
            4. Ejemplos de uso
          2. Notas
            1. Licencia

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
                Last updated -
                17
                22,912
                44,357
                JavaScript
                MIT License
              • A
                security
                F
                license
                A
                quality
                Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
                Last updated -
                2
                16
                TypeScript
              • A
                security
                A
                license
                A
                quality
                An MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etc
                Last updated -
                3
                8
                Python
                MIT License
                • Apple
              • A
                security
                F
                license
                A
                quality
                An MCP server that enables integration with GitHub Enterprise API, allowing users to access repository information, manage issues, pull requests, workflows, and other GitHub features through Cursor.
                Last updated -
                16
                33
                13
                TypeScript
                • Linux
                • Apple

              View all related MCP servers

              ID: isnddb3ty9