github-mcp-proxy
github-mcp-proxy
Самохостируемый GitHub MCP-сервер, работающий на Cloudflare Workers, разработанный для личного использования или небольших команд с защитными барьерами для каждого репозитория для ИИ-агентов.
Любой агент с поддержкой MCP (Claude, Codex, ChatGPT, Cursor, Cline и др.) может быть подключен — с жестким контролем того, к каким репозиториям он имеет доступ и как именно.
[!WARNING] Если вам нужна безопасность или стабильность, используйте официальный GitHub MCP-сервер. Форкайте свободно; после форка ответственность за проблемы безопасности лежит на вас.
Зачем это нужно
Обычные токены GitHub предоставляют агенту полный доступ к учетной записи. Этот сервер ограничивает его:
Уровни доступа для каждого репозитория —
read(чтение) /issues(задачи) /full(полный)Защита веток — новые ветки должны соответствовать префиксу (по умолчанию
claude/); веткиmain/masterникогда не доступны для записиПолитика сообщений коммитов — Conventional Commits, проверяемые на стороне сервера
Белый список меток —
allowedLabelsдля каждого репозитория; сервер никогда не создает метки на GitHub автоматическиЗапрещенные пути —
.github/workflows/**всегда заблокированыАудит действий — каждая запись автоматически добавляет трейлеры
Signed-off-by/Assisted-byили футер, идентифицирующий агента и модель
Related MCP server: Kontrol
Архитектура
MCP agent ──(Streamable HTTP + OAuth)──▶ Cloudflare Worker
│
├── workers-oauth-provider (OAuth 2.1 server to MCP clients)
├── GitHub OAuth (OAuth client to github.com)
├── KV (session tokens)
├── Durable Object (MCP agent state)
└── Octokit (GitHub REST)Конфигурация (ghmcp.config.ts) упаковывается вместе с Worker во время развертывания — никаких чтений из KV во время выполнения, проверка типов через satisfies.
Быстрый старт
git clone <your-fork>
cd kz-github-mcp
npm install
cp ghmcp.config.sample.ts ghmcp.config.ts # edit: repos you want to expose
cp wrangler.sample.jsonc wrangler.jsonc # edit: KV id + worker name
cp .env.example .env # edit: for local dev onlyСоздайте GitHub OAuth App (Homepage = https://<worker>.<subdomain>.workers.dev, Callback = /callback), затем:
wrangler kv namespace create "OAUTH_KV" # add the id to wrangler.jsonc
wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY # openssl rand -hex 32
npm run deployЛокальная разработка: тот же процесс со вторым OAuth-приложением, указывающим на http://localhost:8788, учетные данные в .env, затем npm run dev.
Непрерывное развертывание (опционально)
.github/workflows/deploy.yml развертывает проект в Cloudflare при каждом пуше в main. Установите два секрета репозитория в GitHub Settings → Secrets and variables → Actions:
Секрет | Где получить |
| Панель управления Cloudflare → Мой профиль → API Tokens → создайте токен с шаблоном "Edit Cloudflare Workers" |
| Панель управления Cloudflare → правая боковая панель любой страницы Workers |
Учетные данные GitHub OAuth (GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, COOKIE_ENCRYPTION_KEY) хранятся как секреты Wrangler на самом Worker, а не в GitHub Actions — вам нужно установить их только один раз с помощью wrangler secret put.
См. docs/ARCHITECTURE.md для понимания принципов работы и docs/CONFIG.md для описания всех полей конфигурации.
Подключение ИИ-агента
Claude (claude.ai) — Settings → Connectors → Add custom connector → вставьте https://<worker>.<subdomain>.workers.dev/sse.
Claude Code / Codex / Cursor / Cline — добавьте в MCP-конфигурацию клиента:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["mcp-remote", "https://<worker>.<subdomain>.workers.dev/sse"]
}
}
}Любой MCP-хост — укажите тот же эндпоинт /sse. OAuth-процесс запустится при первом подключении.
Чтобы научить агента правильно использовать инструменты, включите SKILL.md в его системный промпт / инструкции проекта / директорию навыков.
Инструменты
Имеют префикс ghmcp_. Каждый объявляет минимальный уровень доступа; сервер отклоняет вызовы, если уровень ниже требуемого.
Категория | Инструменты | Мин. уровень |
Пользователь |
| read |
Репозиторий |
| read |
Задачи |
| read |
Задачи |
| issues |
PR |
| read |
PR |
| issues |
Файлы |
| full |
Действия |
| read |
Любой инструмент можно отключить через disabledTools в конфигурации.
Валидация
npm run validate-configИспользует CLI gh для подтверждения того, что каждый репозиторий в ghmcp.config.ts существует и что каждая метка в allowedLabels присутствует на GitHub. Запускается автоматически как хук prebuild, поэтому опечатка приведет к ошибке npm run build.
Лицензия
Изначально форкнуто из cloudflare/ai/demos/remote-mcp-github-oauth. Лицензия MIT.
Этот инструмент распространяется по лицензии MIT — см. LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AgentGuard — 20-tool AI safety MCP: policy preflight, risk scoring, audit logging, rate limits.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceA local MCP server that provides controlled repository access with policy-based file filtering, secret redaction, and audit logging for AI coding agents.-
- AlicenseNot gradedqualityBmaintenanceA self-hosted MCP server that enables AI coding agents to read, edit, search, and run code in local projects with human review loops and policy controls.MIT
- AlicenseCqualityBmaintenanceA policy-aware MCP server for GitHub and GitHub Actions that enables safe AI-assisted infrastructure workflows—inspecting repositories, preparing branches and pull requests, and constrained remote mutations behind explicit preview-bound approval tokens.18MIT
- AlicenseNot gradedqualityBmaintenanceA local-first MCP server that lets AI agents use gated APIs without holding keys, enforcing declarative policies, injecting secrets server-side, and auditing access without content.2Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kazaminn/github-mcp-proxy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server