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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to authenticate as an admin.

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