Skip to main content
Glama
AmaimaKhalidSethi

Multi-Server FastMCP PR Reviewer

マルチサーバー FastMCP PR レビュアー

ゼロコスト、マルチサーバーの Model Context Protocol (MCP) スイートで、統合 ゲートウェイと LangGraph による自動 PR レビューエージェントを備えています。 使用するすべてのツール/API は無料枠で利用可能です(GitHub PAT、Groq LLM)。

アーキテクチャ

Claude Desktop / Agent
        |
        v
  FastMCP Gateway  (namespaces: code., gh., doc. — dot-separated per MCP tool-naming spec)
   /      |       \
  v       v        v
Code    GitHub   Documentation
Intel   Server   Server (Groq)
(AST+Radon)(PyGithub)
   \       |       /
    Shared Security & Audit Layer
    (API key auth, SQLite WAL, rate limiting)

Related MCP server: GitHub MCP Agent Server

プロジェクト構成

mcp-pr-reviewer/
├── core/
│   └── security.py        # auth + rate limit + SQLite audit decorator
├── servers/
│   ├── code_server.py      # AST/radon static analysis (no external API)
│   ├── github_server.py    # PyGithub-backed PR/issue/commit tools
│   └── doc_server.py       # Groq-backed docstring/README/API doc generation
├── gateway/
│   └── gateway.py          # unifies all three servers under code:/gh:/doc: namespaces
├── agent/
│   └── workflow.py         # LangGraph PR-review pipeline (fetch → analyze → doc → publish)
├── data/                    # SQLite audit_log.db lives here (gitignored)
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── .env.example
└── claude_desktop_config.example.json

セットアップ

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt

cp .env.example .env
# edit .env with your real MCP_API_KEY, GITHUB_TOKEN, GROQ_API_KEY

ローカルで何かを実行する前に環境変数を読み込んでください。例:

export $(grep -v '^#' .env | xargs)   # macOS/Linux

実行方法

個別サーバー(stdio、ローカルテスト用)

python servers/code_server.py
python servers/github_server.py
python servers/doc_server.py

ゲートウェイ

fastmcp run gateway/gateway.py:gateway

Docker

docker compose up --build

Claude Desktop との統合

claude_desktop_config.example.json を Claude Desktop の設定ファイル (claude_desktop_config.json)にコピーし、gateway/gateway.py への絶対パスを修正し、 実際の認証情報を入力してください。Claude Desktop を再起動すると反映されます。

テストチェックリスト

1. スキーマ検証

fastmcp inspect servers/code_server.py
fastmcp inspect servers/github_server.py
fastmcp inspect servers/doc_server.py

2. セキュリティ / 監査検証

# Should raise 401 Unauthorized
CLIENT_API_KEY=wrong_key python -c "from servers.code_server import analyse_code; analyse_code('x = 1')"

# Inspect the WAL SQLite audit log
sqlite3 data/audit_log.db "SELECT * FROM access_log ORDER BY id DESC LIMIT 5;"

3. エンドツーエンドの PR レビュー

python -c "
import asyncio
from agent.workflow import app

async def run():
    result = await app.ainvoke({
        'repo': 'your-username/your-repo',
        'pr_number': 1
    })
    print('Review published:', result['issue_url'])

asyncio.run(run())
"

本番環境で使用する前に確認すべき注意事項

  • core/security.pybucket は単一プロセス全体の TokenBucket です — サーバー内のすべてのツールが同じ 60/分のバジェットを共有します。より細かい制限が必要な場合は、 ツールごとまたはクライアントごとのバケットに分割してください。

  • secure_tool は FastAPI の HTTPException を発生させますが、これは 実行している FastMCP トランスポートが実際に FastAPI/ASGI の背後にある場合にのみ、 HTTP ステータスコードに適切にマッピングされます。プレーンな stdio でサーバーを実行する場合は、 MCP レイヤーでこれをキャッチするか、トランスポートに適した例外に置き換えてください。

  • MCP_API_KEYGITHUB_TOKENGROQ_API_KEY.env から削除し、 ローカル以外のデプロイでは実際のシークレットマネージャーに移行してください — .env は開発環境のみで問題ありません。

  • GitHub のコード検索 API はコア API よりもはるかに低いレート制限があります(30 req/min 対 5,000 req/hr)— search_repo_code は負荷がかかると最初にこの制限に達します。

F
license - not found
-
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

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • One PAT, any MCP agent: Vercel, GitHub, Cloudflare, Supabase, GCP — unified dev infra gateway.

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/AmaimaKhalidSethi/MCP-PR-REVIEWER'

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