Skip to main content
Glama

GithubMCP

Производственный MCP-сервер персонального помощника разработчика

License: MIT Python: 3.11+ Managed by: uv MCP Compatible Code style: ruff Type checked with: mypy

Бесшовно подключайте ИИ-модели (Claude, Cursor и др.) к вашим рабочим процессам GitHub, CI/CD-пайплайнам, контексту локального рабочего пространства и инструментам анализа кода.


Обзор

GithubMCP — это MCP-сервер (Model Context Protocol), созданный для разработчиков. Он напрямую связывает ИИ-ассистентов с вашей средой разработки и позволяет им:

  • Исследовать репозитории GitHub, пул-реквесты, issue, коммиты и код в публичных и приватных репозиториях.

  • Управлять конфиденциальностью и видимостью репозиториев (public/private) прямо через диалог.

  • Отслеживать запуски CI/CD-пайплайнов и разбирать упавшие шаги сборки в GitHub Actions.

  • Безопасно просматривать локальную файловую систему в пределах заданных пользователем разрешённых путей.

  • Анализировать качество кода, рассчитывать метрики сложности, находить TODO и обнаруживать потенциально опасные места с секретами.

Поддерживаются оба режима транспорта: STDIO (Claude Desktop, Cursor) и SSE (Server-Sent Events, для веб-клиентов).


Related MCP server: GitHub MCP Server

Справочник инструментов

GithubMCP предоставляет 13 специализированных инструментов:

Категория

Инструмент

Описание

GitHub

search_repos

Поиск публичных и приватных репозиториев пользователей/организаций с фильтрами по языку и сортировке.

GitHub

inspect_pr

Получение сведений о PR, изменённых файлах, статистике добавлений/удалений и комментариях к ревью.

GitHub

inspect_issue

Просмотр состояния issue, ответственных, связанных PR, меток и последних комментариев.

GitHub

search_code

Поиск фрагментов кода по репозиториям с фильтрами по расширениям файлов.

GitHub

recent_commits

Получение истории последних коммитов со статистикой diff и авторами.

GitHub

update_repo_visibility

Изменение видимости репозитория между private и public.

CI/CD

check_ci_status

Мониторинг статуса GitHub Actions (успех/сбой/выполняется) и журнал упавших шагов.

Файловая система

read_file

Безопасное чтение локальных файлов с определением MIME-типа и проверкой размера.

Файловая система

list_directory

Вывод дерева каталогов с размерами файлов, временем изменения и glob-фильтрами.

Файловая система

search_local_files

Асинхронный поиск по файлам с регулярными выражениями/шаблонами и контекстом соседних строк.

Файловая система

get_project_context

Определение технологического стека проекта (Node, Python, Rust, Go, Docker) и команд запуска.

Анализ

generate_change_summary

Сравнение git-ссылок и категоризация коммитов: Features, Fixes, Breaking Changes и др.

Анализ

analyze_code_quality

Подсчёт строк кода, оценка сложности, поиск TODO-задач и выявление признаков утечки секретов.


Быстрый старт

1. Предварительные требования

  • Python 3.11+

  • uv (быстрый менеджер пакетов Python)

Установите uv (если ещё не установлен):

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

2. Клонирование и настройка

git clone https://github.com/Dhananjayrbiraris/github-mcp.git
cd github-mcp

# Install dependencies and sync virtual environment
uv sync

3. Конфигурация окружения

Скопируйте файл-шаблон .env.example в .env:

cp .env.example .env

Отредактируйте .env, указав личный токен доступа GitHub (Personal Access Token):

# GitHub Personal Access Token (Classic PAT with 'repo', 'workflow', 'read:user' scopes)
GITHUB_TOKEN=ghp_your_github_token_here

# Default GitHub Username (Optional)
GITHUB_USERNAME=your_username

# Sandboxed directories allowed for local filesystem operations
ALLOWED_PATHS=["~/projects", "~/workspace", "."]

# Max file size limit in MB for reading files
MAX_FILE_SIZE_MB=10

# Default Transport mode: "stdio" or "sse"
TRANSPORT=stdio

Генерация GitHub-токена: Перейдите в GitHub Settings -> Developer Settings -> Personal access tokens (classic) и создайте токен с правами repo, workflow и read:user.


Руководства по настройке клиентов

A. Claude Desktop

1. Откройте файл конфигурации Claude Desktop:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Добавьте сервер github-mcp:

{
  "mcpServers": {
    "github-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/github-mcp",
        "run",
        "python",
        "-m",
        "github_mcp.main",
        "--transport",
        "stdio"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_access_token_here"
      }
    }
  }
}

(В Windows используйте обратную косую черту, например C:\\Users\\yourname\\path\\to\\github-mcp, либо прямую).

3. Перезапустите Claude Desktop

Откройте Claude Desktop — нажмите иконку Tools (Инструменты) в правом нижнем углу поля ввода, чтобы увидеть все подключённые инструменты GithubMCP.


B. Cursor IDE

В Cursor:

  1. Перейдите в Cursor Settings -> Features -> MCP.

  2. Нажмите + Add New MCP Server.

  3. Заполните:

    • Name: github-mcp

    • Type: command

    • Command: uv --directory /path/to/github-mcp run python -m github_mcp.main --transport stdio


C. Server-Sent Events (SSE) / веб-клиенты

Чтобы запустить MCP-сервер через HTTP / Server-Sent Events:

uv run python -m github_mcp.main --transport sse --host 0.0.0.0 --port 8000

SSE-эндпоинтбудет доступен по адресу: http://localhost:8000/sse


Безопасность и песочница

  1. Ограничение путей: файловые инструменты (read_file, list_directory, search_local_files, get_project_context) строго проверяют пути на допустимость относительно ALLOWED_PATHS. Дата обращений до минимум вне разрешённого списка вызовет исключение SecurityError.

  2. Управление секретами: токены и учётные данные никогда не логируются и не раскрываются.

  3. Устойчивость к ограничениям: при тротлинге лимитов GitHub API автоматически выполняются повторные попытки с экспоненциальной задержкой.


Разработка и тестирование

Запустите полный набор тестов и проверки качества:

# Run pytest unit tests
uv run pytest

# Run linter
uv run ruff check .

# Check code formatting
uv run ruff format --check .

# Run strict type checking
uv run mypy src/

Структура репозитория

github-mcp/
├── .github/workflows/ci.yml # GitHub Actions CI workflow
├── src/github_mcp/
│   ├── __init__.py
│   ├── main.py              # Server entrypoint & MCP tool registrations
│   ├── config.py            # Pydantic Settings model
│   ├── github_tools.py      # GitHub API integrations & visibility controls
│   ├── file_tools.py        # Sandboxed local filesystem operations
│   ├── ci_tools.py          # GitHub Actions CI/CD monitoring
│   ├── analysis_tools.py    # Diff categorization & code quality analyzer
│   └── utils.py             # Path safety, error handling, rate limiting
├── tests/
│   ├── conftest.py          # Pytest fixtures and mocks
│   ├── test_github.py       # GitHub tools unit tests
│   ├── test_files.py        # Filesystem tools unit tests
│   └── test_ci.py           # CI status tools unit tests
├── docs/
│   ├── architecture.md      # System architecture & data flow
│   └── tools_reference.md   # Complete API schemas for all 13 tools
├── pyproject.toml           # Project dependencies & tool configurations
├── .env.example             # Environment variable template
├── CONTRIBUTING.md          # Open-source contribution guidelines
├── SECURITY.md              # Security policy & vulnerability reporting
└── LICENSE                  # MIT License

Лицензия

Этот проект по лицензии MIT License — бесплатно для личного и коммерческого использования.


Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

View all MCP Connectors

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/Dhananjayrbiraris/github-mcp'

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