Multi-Server FastMCP PR Reviewer
Revisor de PR Multi-Servidor FastMCP
Suite de Protocolo de Contexto de Modelo (MCP) multi-servidor sin costo, con una puerta de enlace unificada y un agente automatizado de revisión de PR basado en LangGraph. Cada herramienta/API utilizada es elegible para el nivel gratuito (PAT de GitHub, LLM de Groq).
Arquitectura
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: orchestrator-mcp
Estructura del proyecto
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.jsonConfiguración
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_KEYCarga las variables de entorno antes de ejecutar cualquier cosa localmente, por ejemplo:
export $(grep -v '^#' .env | xargs) # macOS/LinuxEjecución
Servidores individuales (stdio, para pruebas locales)
python servers/code_server.py
python servers/github_server.py
python servers/doc_server.pyPuerta de enlace
fastmcp run gateway/gateway.py:gatewayDocker
docker compose up --buildIntegración con Claude Desktop
Copia claude_desktop_config.example.json en la configuración de tu Claude Desktop (claude_desktop_config.json), corrige la ruta absoluta a gateway/gateway.py y completa las credenciales reales. Reinicia Claude Desktop para que lo detecte.
Lista de verificación de pruebas
1. Verificación de esquema
fastmcp inspect servers/code_server.py
fastmcp inspect servers/github_server.py
fastmcp inspect servers/doc_server.py2. Verificación de seguridad/auditoría
# 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. Revisión de PR de extremo a extremo
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())
"Notas / aspectos a verificar antes de confiar en esto en producción
El
bucketdecore/security.pyes unTokenBucketúnico a nivel de proceso — cada herramienta en un servidor comparte el mismo presupuesto de 60/min. Divídelo en buckets por herramienta o por cliente si necesitas límites más detallados.secure_toollanzaHTTPExceptionde FastAPI, que solo se asigna correctamente a códigos de estado HTTP si el transporte FastMCP que estás ejecutando realmente está detrás de FastAPI/ASGI. Si ejecutas un servidor sobre stdio simple, captura esto en la capa MCP o reemplázalo con una excepción adecuada para el transporte.Rota
MCP_API_KEY,GITHUB_TOKENyGROQ_API_KEYfuera de.envy colócalos en un gestor de secretos real antes de cualquier implementación no local —.envestá bien solo para desarrollo.La API de búsqueda de código de GitHub tiene un límite mucho más bajo que la API principal (30 solicitudes/min frente a 5,000 solicitudes/hora) —
search_repo_codealcanzará ese límite primero bajo carga.
This server cannot be deployed
Maintenance
Related MCP Connectors
LLM cost optimization gateway, repo token-waste auditor & model arbitrage MCP server.
LLM cost optimization gateway, repo token-waste auditor & model arbitrage MCP server.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.1233 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceMulti-model agent orchestration MCP server that enables plan-code-review-deliver pipelines with configurable providers and models.-

ThinkReview MCPofficial
AlicenseNot gradedqualityAmaintenanceHosted MCP server that enables AI code reviews on GitHub, GitLab, Azure DevOps, and Bitbucket PR/MR URLs via a single tool (review_url_code), integrating with Cursor, Claude Code, Claude Desktop, and GitHub Copilot through OAuth or Bearer token authentication.1MIT- FlicenseAqualityCmaintenanceAn MCP server that brings GitHub workflow tools (repo, PR, issue, CI) and cost-free LLM-powered engineering tools (PR review, issue triage, commit messages) to any MCP client via the Groq free tier.17-