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.
Related MCP server: mcp-graphql
Сценарии применения
Основные функции
Этот инструмент легко реализует следующие распространённые операции:
Запрос базовой информации о репозитории : получение имени репозитория, описания, количества звезд, списка ветвей и другой базовой информации.
Извлечение данных о проблемах: запрос списков проблем, подробностей или содержимого комментариев для определенных репозиториев.
Доступ к профилю пользователя : получение личных профилей пользователей, статистики по вкладам и другой общедоступной информации.
Просмотр статуса запроса на извлечение : получение базового статуса запроса на извлечение, содержимого комментариев и информации о слиянии.
Запрос зависимостей проекта : получение списков пакетов зависимостей проекта и информации о версии.
Исследовательские расширенные функции
Благодаря гибким возможностям запросов GraphQL вы также можете попробовать реализовать следующие расширенные функции анализа:
Анализ тенденций вклада в репозиторий : анализ частоты обновления кода и участия участников путем агрегирования данных о коммитах, оценки активности проекта.
Управление проблемами и классификация : организация данных о проблемах в соответствии с индивидуальными условиями, выявление проблем, требующих приоритетного решения, и повышение эффективности управления проектами.
Анализ шаблонов проверки кода : анализ комментариев PR и процессов проверки, выявление распространенных шаблонов проблем и оптимизация рабочего процесса проверки кода.
Визуализация сети участников : построение отношений сотрудничества между участниками проекта, выявление ключевых участников и областей знаний.
Оценка работоспособности зависимостей : оценка частоты обновления и потенциальных проблем безопасности зависимостей проекта, предоставление рекомендаций по управлению зависимостями.
Функции
Запрос корневых типов схемы GitHub GraphQL (Запрос/Мутация)
Получите подробную документацию по конкретным типам
Запрос документации и параметров для определенных полей
Выполняйте запросы API GitHub GraphQL напрямую, точно извлекая необходимые данные и сокращая потребление токенов.
Двуязычная поддержка (английский/китайский)
Предпосылки
Python 3.10 или выше
Персональный токен доступа GitHub (для доступа к API GitHub)
Поэзия (рекомендуемый инструмент управления зависимостями)
Установка
Клонируйте репозиторий:
Установка зависимостей с помощью Poetry:
Если вы не используете поэзию, вы можете воспользоваться традиционным методом:
Настройте переменные среды:
Создайте файл .env и добавьте свой персональный токен доступа GitHub:
Вы можете создать его, скопировав файл .env.example :
Затем отредактируйте файл .env , заменив your_github_token_here на ваш реальный токен GitHub.
Использование
Запуск сервера
Убедитесь, что вы активировали виртуальную среду Poetry ( poetry shell ), затем:
Бегать
После запуска сервера вы можете подключиться к нему через MCP-клиент (например, Claude AI).
Настроить в Claude Desktop
Вы можете настроить этот MCP-сервер в настольном приложении Claude для запуска в один клик:
Откройте приложение Claude для ПК.
Зайдите в настройки, найдите раздел конфигурации сервера MCP
Добавьте следующую конфигурацию (измените в соответствии с вашим реальным путем):
Пример конфигурации:
Если вы используете conda или другие инструменты управления средой:
После настройки вы можете запустить сервер MCP непосредственно из настольного приложения Claude, без необходимости запускать его вручную.
Доступные инструменты
Сервер предоставляет следующие инструменты:
print_type_field : Запрос полей корневых типов схемы GitHub GraphQL
graphql_schema_root_type : Получить документацию по корневым типам (Запрос/Мутация)
graphql_schema_type : Запрос документации для определенных типов
call_github_graphql : Выполнение запросов API GitHub GraphQL
Примеры использования
Подключившись к серверу с помощью MCP-клиента, вы можете:
Запрос документации по типу корня:
Use the graphql_schema_root_type tool, parameter type_name="QUERY"Поля запроса определенных типов:
Use the print_type_field tool, parameters type_name="QUERY", type_fields_name="repository"Запросить документацию по конкретным типам:
Use the graphql_schema_type tool, parameter type_name="Repository"Выполнение запросов GraphQL:
Use the call_github_graphql tool, parameter: graphql=""" query { viewer { login name } } """
Пример скриншота
Ниже приведен пример использования GitHub GraphQL API MCP с Клодом:

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