Skip to main content
Glama
wanzunz

GitHub GraphQL API MCP

by wanzunz

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

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

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

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

  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 GraphQL API MCP

Примечания

  • Перед использованием убедитесь, что ваш токен GitHub имеет соответствующие разрешения.

  • Токен хранится в файле .env , который не следует передавать в системы контроля версий.

  • Запросы должны соответствовать ограничениям на использование API GitHub.

Лицензия

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

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

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wanzunz/github_graphql_api_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server