Skip to main content
Glama
yashwant-kumar08

GitHub Dev Copilot

GitHub Dev Copilot - MCP Server

Готовый к продакшену сервер Model Context Protocol (MCP), который выступает в роли GitHub Copilot для ИИ-агентов. Он предоставляет инструменты для взаимодействия с GitHub API, позволяя агентам управлять репозиториями, issues, пул-реквестами и анализировать состояние репозитория.

Архитектура

+----------------+      +-----------------------+      +-------------+
|    AI Agent    | ---> |  GitHub MCP Server    | <--> |  GitHub API |
| (Client)       | STDI |  (Python / FastMCP)   | HTTP |             |
+----------------+      +-----------------------+      +-------------+
                                   |
                        +-----------------------+
                        |        Tools          |
                        | - list_repositories   |
                        | - read_issues         |
                        | - create_issue        |
                        | - comment_on_pr       |
                        | - analyze_repo_health |
                        +-----------------------+

Related MCP server: github-mcp-server

Возможности

  • Аутентификация: безопасное подключение с использованием GitHub Personal Access Token (PAT).

  • Инструментарий: предоставляет надежные MCP-инструменты со строгой типизацией.

  • Безопасность:

    • Проверяет входные данные с помощью Pydantic.

    • Ограничивает частоту вызовов API для предотвращения блокировок.

    • Никогда не раскрывает токены.

  • Анализ: интеллектуальный инструмент analyze_repo_health для оценки репозиториев.

Настройка

  1. Клонируйте репозиторий (если применимо) или перейдите в каталог проекта.

  2. Установите зависимости:

    pip install -r requirements.txt
  3. Настройте окружение: Скопируйте .env.example в .env и добавьте ваш GitHub PAT.

    cp .env.example .env
    # Edit .env and set GITHUB_TOKEN
  4. Запустите сервер: Вы можете запустить его напрямую через Python или через инспектор MCP-клиента.

    python main.py

Использование с Claude Desktop или MCP-клиентами

Добавьте конфигурацию сервера в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "github-copilot": {
      "command": "python",
      "args": ["/path/to/mcp_github_dev_copilot/main.py"]
    }
  }
}

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

1. list_repositories

Перечисляет репозитории, доступные аутентифицированному пользователю.

  • Возвращает: название, владельца, статус приватности, звёзды, язык.

2. read_issues

Получает issues из репозитория.

  • Входные данные: repo_owner, repo_name, state ("open", "closed", "all")

  • Выходные данные: список issues с ID, заголовком и метками.

3. create_issue

Создаёт новый issue.

  • Входные данные: repo_owner, repo_name, title, body (markdown), labels

  • Выходные данные: URL и номер issue.

4. comment_on_pr

Добавляет комментарий к Pull Request.

  • Входные данные: repo_owner, repo_name, pr_number, comment_text

  • Выходные данные: URL комментария.

5. analyze_repo_health

Выполняет проверку состояния репозитория.

  • Проверки: количество открытых issues, устаревшие issues (>30 дней), недавняя активность коммитов, наличие тестов, конфигурация CI.

  • Выходные данные: оценка состояния (0-100) и предложения по улучшению.

Безопасность и ограничения

  • Ограничение частоты запросов: сервер реализует декоратор для обработки ограничений GitHub путем ожидания или повторных попыток.

  • Области (scopes): убедитесь, что ваш PAT имеет области repo, read:org и workflow.

  • Без браузера: этот сервер использует официальный GitHub API, а не веб-скрапинг.

  • Журналы: действия записываются в stderr, чтобы не мешать MCP stdio-взаимодействию.

Будущие улучшения

  • Добавить инструменты update_issue и merge_pr.

  • Реализовать чтение/поиск содержимого файлов.

  • Добавить поддержку аутентификации GitHub App.

Related MCP Connectors

Related MCP Servers