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.

GitHub GraphQL API MCP

Английский |中文|日本語| испанский | Франсэ

Инструмент на основе MCP (Model Control Protocol) для запросов и использования API GitHub GraphQL. Этот проект предоставляет сервер, который позволяет вам исследовать схему GitHub GraphQL и выполнять запросы GraphQL через клиентские инструменты MCP (например, Claude AI).

Зачем использовать API GitHub GraphQL

API GitHub GraphQL предлагает значительные преимущества по сравнению с традиционными API REST:

  • Точный поиск данных : GraphQL позволяет клиентам точно указывать, какие поля им нужны, избегая избыточных данных.
  • Сокращение потребления токенов : запрашивая только необходимые поля, размер ответа API значительно сокращается, что снижает потребление токенов моделью ИИ.
  • Один запрос на связанные данные : один запрос может извлечь несколько связанных ресурсов, что сокращает количество запросов.
  • Самодокументирование : благодаря встроенной системе документирования вы можете напрямую запрашивать и понимать схему API без внешней документации.
  • Строгая система типов : обеспечивает проверку типов, сокращая количество ошибок.

Этот проект использует эти преимущества для предоставления инструментов, которые помогут вам эффективно исследовать схему API GitHub GraphQL и выполнять оптимизированные запросы, предоставляя помощникам на основе ИИ эффективные возможности извлечения данных из GitHub.

Сценарии применения

Основные функции

Этот инструмент легко реализует следующие распространённые операции:

  1. Запрос базовой информации о репозитории : получение имени репозитория, описания, количества звезд, списка ветвей и другой базовой информации.
  2. Извлечение данных о проблемах: запрос списков проблем, подробностей или содержимого комментариев для определенных репозиториев.
  3. Доступ к профилю пользователя : получение личных профилей пользователей, статистики по вкладам и другой общедоступной информации.
  4. Просмотр статуса запроса на извлечение : получение базового статуса запроса на извлечение, содержимого комментариев и информации о слиянии.
  5. Запрос зависимостей проекта : получение списков пакетов зависимостей проекта и информации о версии.

Исследовательские расширенные функции

Благодаря гибким возможностям запросов GraphQL вы также можете попробовать реализовать следующие расширенные функции анализа:

  1. Анализ тенденций вклада в репозиторий : анализ частоты обновления кода и участия участников путем агрегирования данных о коммитах, оценки активности проекта.
  2. Управление проблемами и классификация : организация данных о проблемах в соответствии с индивидуальными условиями, выявление проблем, требующих приоритетного решения, и повышение эффективности управления проектами.
  3. Анализ шаблонов проверки кода : анализ комментариев PR и процессов проверки, выявление распространенных шаблонов проблем и оптимизация рабочего процесса проверки кода.
  4. Визуализация сети участников : построение отношений сотрудничества между участниками проекта, выявление ключевых участников и областей знаний.
  5. Оценка работоспособности зависимостей : оценка частоты обновления и потенциальных проблем безопасности зависимостей проекта, предоставление рекомендаций по управлению зависимостями.

Функции

  • Запрос корневых типов схемы GitHub GraphQL (Запрос/Мутация)
  • Получите подробную документацию по конкретным типам
  • Запрос документации и параметров для определенных полей
  • Выполняйте запросы API GitHub GraphQL напрямую, точно извлекая необходимые данные и сокращая потребление токенов.
  • Двуязычная поддержка (английский/китайский)

Предпосылки

  • Python 3.10 или выше
  • Персональный токен доступа GitHub (для доступа к API GitHub)
  • Поэзия (рекомендуемый инструмент управления зависимостями)

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/wanzunz/github_graphql_api_mcp.git cd github_graphql_api_mcp
  1. Установка зависимостей с помощью 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

Если вы не используете поэзию, вы можете воспользоваться традиционным методом:

# 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. Настройте переменные среды:

Создайте файл .env и добавьте свой персональный токен доступа GitHub:

GITHUB_TOKEN="your_github_token_here"

Вы можете создать его, скопировав файл .env.example :

cp .env.example .env

Затем отредактируйте файл .env , заменив your_github_token_here на ваш реальный токен GitHub.

Использование

Запуск сервера

Убедитесь, что вы активировали виртуальную среду Poetry ( poetry shell ), затем:

Бегать
python github_graphql_api_mcp_server.py

После запуска сервера вы можете подключиться к нему через MCP-клиент (например, Claude AI).

Настроить в Claude Desktop

Вы можете настроить этот MCP-сервер в настольном приложении Claude для запуска в один клик:

  1. Откройте приложение Claude для ПК.
  2. Зайдите в настройки, найдите раздел конфигурации сервера MCP
  3. Добавьте следующую конфигурацию (измените в соответствии с вашим реальным путем):
{ "mcpServers": { "github_mcp": { "command": "<your Python interpreter path>", "args": [ "--directory", "<project path>", "run", "github_graphql_api_mcp_server.py" ] } } }

Пример конфигурации:

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

Если вы используете conda или другие инструменты управления средой:

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

После настройки вы можете запустить сервер MCP непосредственно из настольного приложения Claude, без необходимости запускать его вручную.

Доступные инструменты

Сервер предоставляет следующие инструменты:

  1. print_type_field : Запрос полей корневых типов схемы GitHub GraphQL
  2. graphql_schema_root_type : Получить документацию по корневым типам (Запрос/Мутация)
  3. graphql_schema_type : Запрос документации для определенных типов
  4. call_github_graphql : Выполнение запросов API GitHub GraphQL

Примеры использования

Подключившись к серверу с помощью MCP-клиента, вы можете:

  1. Запрос документации по типу корня:
    Use the graphql_schema_root_type tool, parameter type_name="QUERY"
  2. Поля запроса определенных типов:
    Use the print_type_field tool, parameters type_name="QUERY", type_fields_name="repository"
  3. Запросить документацию по конкретным типам:
    Use the graphql_schema_type tool, parameter type_name="Repository"
  4. Выполнение запросов GraphQL:
    Use the call_github_graphql tool, parameter: graphql=""" query { viewer { login name } } """
Пример скриншота

Ниже приведен пример использования GitHub GraphQL API MCP с Клодом:

Примечания

  • Перед использованием убедитесь, что ваш токен GitHub имеет соответствующие разрешения.
  • Токен хранится в файле .env , который не следует передавать в системы контроля версий.
  • Запросы должны соответствовать ограничениям на использование API GitHub.

Лицензия

Данный проект лицензирован в соответствии с лицензией MIT — очень либеральной лицензией, которая позволяет пользователям свободно использовать, изменять, распространять и коммерциализировать это программное обеспечение при условии сохранения уведомления об авторских правах и заявления о лицензии.

Подробные условия см. в лицензии MIT .

-
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.

Сервер, позволяющий исследовать схему GitHub GraphQL и выполнять запросы GraphQL с помощью клиентских инструментов MCP, обеспечивая эффективное извлечение данных из GitHub с уменьшенным потреблением токенов.

  1. Зачем использовать API GitHub GraphQL
    1. Сценарии применения
      1. Основные функции
      2. Исследовательские расширенные функции
    2. Функции
      1. Предпосылки
        1. Установка
          1. Использование
            1. Запуск сервера
            2. Настроить в Claude Desktop
            3. Доступные инструменты
            4. Примеры использования
          2. Примечания
            1. Лицензия

              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