GitHub Agent Server
БесплатноНе проверенMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.
Описание
MCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.
README
MCP server giving AI agents controlled GitHub access with policy guard and audit trail.
Architecture
┌───────────────┐ MCP stdio ┌───────────────────┐
│ AI Agent │ ◄──────────────────────► │ GitHub MCP Server │
│ (Claude, Codex│ JSON-RPC 2.0 │ │
│ or any MCP │ ┌─┴───────────────┐ │
│ client) │ │ Policy Guard │ │
└───────────────┘ ├─────────────────┤ │
│ Audit Log │ │
└─────────────────┘ │
┌──────────────────────────────────────────────┐ │
│ github_client.py │ │
│ (httpx) │ │
│ GitHub API │ │
└──────────────────────────────────────────────┘ │
┌──────────────────────────────────────────────┐ │
│ Review Engine (ruff + regex) │ │
└──────────────────────────────────────────────┘ │
└───┘
Features & Tools
| Tool | Description | Example Input | Example Output |
|---|---|---|---|
search_code |
Search GitHub repo code by query | search_code("def main", "owner/repo") |
List of matching files with paths & URLs |
list_issues |
List open or closed issues | list_issues("owner/repo", state="open") |
Formatted list of issues |
create_issue |
Create a new issue (policy-guarded) | create_issue("owner/repo", "Bug: timeout", "Steps to reproduce...") |
Confirmation with issue URL |
get_pr_diff |
Fetch raw diff of a pull request | get_pr_diff("owner/repo", pr_number=7) |
Unified diff as text |
create_pr |
Create a pull request between branches | create_pr("owner/repo", "Add feature", "Details...", head="feat", base="main") |
Confirmation with PR URL |
review_pr_diff |
Run local automated code review rules | review_pr_diff("owner/repo", pr_number=7) |
List of warnings and errors found |
comment_pr_review |
Post review findings as PR comments | comment_pr_review("owner/repo", pr_number=7) |
Number of comments posted |
get_file_contents |
Read a file from a repository | get_file_contents("owner/repo", "src/main.py", ref="main") |
Decoded file content with metadata |
create_or_update_file |
Create or update a single file (guarded) | create_or_update_file("owner/repo", "src/app.py", content="print(1)", message="Add app.py") |
Commit SHA and URL |
push_files |
Push multiple files as a single commit | push_files("owner/repo", "main", "feat: add modules", '[{"path":"a.py","content":"..."}]') |
Commit SHA and file list |
add_issue_comment |
Comment on an issue or pull request | add_issue_comment("owner/repo", 1, "Looks good!") |
Comment URL |
merge_pull_request |
Merge a pull request | merge_pull_request("owner/repo", 42, merge_method="squash") |
Merge status and SHA |
Security Model
- Repository Allowlist: Only repositories explicitly allowed by policy can be accessed.
- Branch Protection: PRs to protected branches are subject to branch protection rules before merging.
- Dry-Run Mode: Execute operations without side effects for safe testing and auditing.
- Audit Logging: All actions logged in JSONL format with precise timestamps to maintain traceability.
- Policy Configuration: Start from
policy.example.jsonto configure repository allowlists and protected branches.
FAQ
Why not call the GitHub API directly?
Direct API calls lack centralized policy enforcement, audit logging, and uniform tooling support for AI agents. This MCP server adds a controlled, auditable layer for safer automation.
What MCP clients work with this?
Agents like Claude Code, OpenAI Codex, and any client supporting the MCP JSON-RPC 2.0 transport can connect to this server.
How is this different from the official GitHub MCP server?
This project's key differentiator is policy enforcement. Repository allowlists prevent agents from touching unauthorized repos, branch protection blocks accidental PRs to sensitive branches, dry-run mode supports safe validation, and write actions are audit-logged with timestamps.
Quick Start
Prerequisites
- Python 3.10+
- GitHub personal access token with
reposcope
Install
pip install fastmcp httpx python-dotenv
Configure and Run
git clone https://github.com/FMorgan-111/github-mcp-server.git
cd github-mcp-server
cp .env.example .env && nano .env
python3 -m src.main
Connect with Claude Code
claude mcp add github-agent -- python3 /path/to/github-mcp-server/src/main.py
Development
pip install -e . --break-system-packages
python3 -m pytest tests/ -v
python3 -m src.main
106 tests, all passing.
Docker Deployment
docker build -t github-mcp-server .
docker run \
-e GITHUB_TOKEN=ghp_your_token_here \
-i github-mcp-server
The -e GITHUB_TOKEN=... flag passes the token into the container because
the local .env file is not copied into the image.
License
MIT
Установить GitHub Agent Server в Claude Desktop, Claude Code, Cursor
unyly install github-mcp-agent-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add github-mcp-agent-server -- uvx mcp-github-agentFAQ
GitHub Agent Server MCP бесплатный?
Да, GitHub Agent Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для GitHub Agent Server?
Нет, GitHub Agent Server работает без API-ключей и переменных окружения.
GitHub Agent Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить GitHub Agent Server в Claude Desktop, Claude Code или Cursor?
Открой GitHub Agent Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare GitHub Agent Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
