Skip to main content
Glama
MadanMohan0537

GitHub MCP Agent

GitHub MCP Agent

Задавайте вопросы на естественном языке о репозиториях GitHub и получайте ответы, подкрепленные актуальными данными GitHub. На Cloudflare Worker вызывает любого LLM-провайдера (Google, OpenAI, DeepSeek, Cloudflare, Groq или кастомный OpenAI-совместимый API) с поддержкой вызова инструментов и реализует инструменты GitHub через REST API. Локально вы по-прежнему можете запустить оригинальное приложение Streamlit, которое общается с официальным MCP-сервером GitHub через Docker.

Это самостоятельная упаковка GitHub MCP-агента из Shubhamsaboo/awesome-llm-apps. Оригинал находится внутри большой коллекции примеров; этот репозиторий — самодостаточный проект, который вы можете клонировать, запустить и развернуть.

Что он делает

Укажите приложению любой owner/repo, задайте вопрос и получите структурированный ответ, основанный на актуальных данных GitHub, а не на обобщенном предположении LLM. Типичные вопросы:

  • Какие issues помечены как баги?

  • Какие pull request'ы все еще требуют ревью?

  • Что недавно было смержено?

  • Насколько активен этот репозиторий?

Агент форматирует ответы в markdown, включая таблицы и ссылки обратно на GitHub, когда это уместно.

Related MCP server: GitHub Tools MCP Server

Возможности

  • Запросы на естественном языке по issues, pull request'ам, метаданным репозитория, файлам и поиску

  • Cloudflare Worker + статический чат-интерфейс для хостинга (любой LLM-провайдер + GitHub REST)

  • Официальный MCP-сервер GitHub (опциональный локальный путь) через Docker для оригинального приложения Streamlit

  • Используйте свой ключ LLM: Google, OpenAI, DeepSeek, Cloudflare Workers AI, Anthropic, Groq, OpenRouter, Mistral, xAI, Together или любой OpenAI-совместимый endpoint

  • Боковая панель аутентификации, выбор провайдера и поле модели, шаблоны запросов и пользовательские вопросы

  • Опциональная загрузка .env / .dev.vars, чтобы хранить ключи вне интерфейса

Архитектура хостинга (Cloudflare)

Streamlit и Docker-образ GitHub MCP не могут работать на Cloudflare Pages/Workers. Хостируемое приложение — это переработанная для Cloudflare версия того же продукта:

┌─────────────────┐     POST /api/chat (SSE)      ┌──────────────────┐
│ Static chat UI  │ ────────────────────────────► │ Cloudflare Worker│
│ public/         │                               │ Any LLM + tools  │
└─────────────────┘                               └────────┬─────────┘
                                                           │ GitHub REST
                                                           ▼
                                                  ┌──────────────────┐
                                                  │ api.github.com   │
                                                  └──────────────────┘
  1. Worker обслуживает чат-интерфейс из public/ и обрабатывает /api/*.

  2. Запросы чата вызывают выбранный вами LLM с инструментами GitHub, эквивалентными наборам инструментов MCP repos, issues и pull_requests (плюс файлы и поиск).

  3. Worker выполняет эти инструменты через REST API GitHub, используя GITHUB_TOKEN.

  4. Токены могут поступать из секретов Wrangler или из боковой панели (X-LLM-Key, X-GitHub-Token). Значения из боковой панели переопределяют секреты для этого запроса.

Развертывание на Cloudflare

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

  • Node.js 18+

  • Аккаунт Cloudflare

  • Ключ API LLM от любого провайдера (Google, OpenAI, DeepSeek, Cloudflare, Groq, …)

  • Персональный токен доступа GitHub (не коммитить)

git clone https://github.com/MadanMohan0537/github-mcp-agent.git
cd github-mcp-agent
npm install
npx wrangler login
npx wrangler secret put LLM_API_KEY
npx wrangler secret put GITHUB_TOKEN
npx wrangler secret put LLM_PROVIDER
npm run deploy

После развертывания Wrangler выведет URL вида *.workers.dev. Интерфейс и API находятся на одном origin.

Локальная разработка Cloudflare

copy .dev.vars.example .dev.vars

Отредактируйте .dev.vars, указав реальные ключи (никогда не коммитьте его), затем:

npm run dev

Откройте URL, который выведет Wrangler (обычно http://127.0.0.1:8787).

Переменная

Обязательно

Назначение

LLM_API_KEY

Да (для запросов)

Ключ любого провайдера: Google, OpenAI, DeepSeek, Groq, Cloudflare и т.д.

LLM_PROVIDER

Нет

openai, google, deepseek, cloudflare, anthropic, groq, openrouter, mistral, xai, together или custom

LLM_MODEL

Нет

Идентификатор модели для этого провайдера

LLM_BASE_URL

Кастомный / переопределение Cloudflare

OpenAI-совместимый базовый URL

CLOUDFLARE_ACCOUNT_ID

Cloudflare Workers AI

ID аккаунта, используемый для построения URL Workers AI

GITHUB_TOKEN

Да (для запросов)

Аутентифицирует вызовы GitHub REST

Псевдонимы провайдеров

Нет

GOOGLE_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, GROQ_API_KEY, …

Вы также можете ввести ключи в боковой панели. Поле называется LLM API key, а не только OpenAI. Значения из боковой панели отправляются только этому Worker в качестве заголовков запроса.

Области действия токена:

  • Публичные репозитории: достаточно public_repo

  • Приватные репозитории: repo

Опциональный локальный путь: Streamlit + GitHub MCP Docker

Оригинальное Python-приложение не изменено. Оно использует Agno, Streamlit и ghcr.io/github/github-mcp-server.

┌─────────────────┐     natural-language query      ┌──────────────────┐
│  Streamlit UI   │ ───────────────────────────────► │  Agno Agent      │
│  github_agent.py│                                  │  (any LLM)      │
└─────────────────┘                                  └────────┬─────────┘
                                                              │ MCP tools
                                                              ▼
                                                     ┌──────────────────┐
                                                     │ Docker container │
                                                     │ github-mcp-server│
                                                     └────────┬─────────┘
                                                              │ GitHub API
                                                              ▼
                                                     ┌──────────────────┐
                                                     │ api.github.com   │
                                                     └──────────────────┘

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

Требование

Примечания

Python 3.10+

Разрабатывалось под 3.12

Docker

Должен быть запущен; MCP-сервер GitHub — это контейнер

Ключ API LLM

Google, OpenAI, DeepSeek, Cloudflare, Groq или любой OpenAI-совместимый провайдер

Персональный токен доступа GitHub

Из github.com/settings/tokens

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
streamlit run github_agent.py

Или . un.ps1 / run.bat после установки виртуального окружения. Откройте URL, который выведет Streamlit (обычно http://localhost:8501).

Первый Docker pull образа ghcr.io/github/github-mcp-server может занять минуту. Запросы имеют тайм-аут 120 секунд.

Пример использования

Репозиторий: Shubhamsaboo/awesome-llm-apps

Issues

  • Найди issues, помеченные как баги, в Shubhamsaboo/awesome-llm-apps

  • Какие issues активно обсуждаются?

Pull request'ы

  • Какие PR требуют ревью?

  • Покажи недавно смерженные PR

Репозиторий

  • Покажи метрики здоровья репозитория

  • Покажи паттерны активности репозитория

  • Проанализируй тренды качества кода

Старайтесь, чтобы каждый вопрос был сосредоточен на одной области (issues, PR или статистика репозитория). Широкие запросы выполняются дольше и дают более зашумленные ответы.

Структура проекта

github-mcp-agent/
├── public/              # Cloudflare static chat UI
├── src/                 # Worker: multi-provider LLM agent + GitHub REST tools
├── wrangler.toml        # Workers + assets project
├── package.json         # npm run dev / npm run deploy
├── github_agent.py      # Optional local Streamlit + MCP Docker app
├── requirements.txt
├── .env.example
├── .dev.vars.example
├── LICENSE              # Apache License 2.0 (from the original project)
├── NOTICE
└── README.md

Устранение неполадок

Симптом

Что проверять

LLM API key not provided

Ключ в боковой панели, .dev.vars или npx wrangler secret put LLM_API_KEY

GitHub token not provided

Токен в боковой панели, .dev.vars или npx wrangler secret put GITHUB_TOKEN

Развертывание Worker просит войти

Выполните npx wrangler login и завершите OAuth-процесс в браузере

Ошибки Docker / docker не найден

Требуется только для пути Streamlit; установите Docker и запустите демон

Тайм-аут / усеченные ответы

Сузьте запрос; результаты инструментов хостинга обрезаются для соблюдения лимитов Worker/LLM

ImportError о McpError / mcp

Путь Streamlit: установите из requirements.txt этого репозитория (mcp>=1.9,<2.0)

Ошибки 401 / разрешений от GitHub

Срок действия токена истек, или отсутствует область repo / public_repo

Атрибуция

Основано на GitHub MCP Agent из Shubhamsaboo/awesome-llm-apps, а именно:

mcp_ai_agents/github_mcp_agent

Обучающее руководство: Build an MCP GitHub agent in less than 50 lines of code.

Этот репозиторий является независимым самостоятельным ответвлением с документацией, хостом Cloudflare Workers и небольшими изменениями упаковки. Он не является официальным продуктом GitHub или Cloudflare.

Лицензия

Оригинальный проект awesome-llm-apps лицензирован под Apache License 2.0. Это производное сохраняет эту лицензию. См. NOTICE для указания источника.

A
license - permissive license
-
quality - not tested
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

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables analyzing and querying GitHub repositories through the GitHub Chat API, allowing users to index repositories and ask questions about their code, architecture and tech stack.
    2
    86
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    A production-ready server featuring over 28 tools for comprehensive GitHub analysis, including repository metadata, issue tracking, and workflow monitoring. It enables users to search repositories, analyze contributor activity, and inspect codebase health through natural language.
    1
  • F
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that connects Claude AI directly to the GitHub API, enabling natural language queries for live repository data, issues, PRs, and contributions.
    1

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • GibsonAI MCP server: manage your databases with natural language

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

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

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