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: GitHub MCP Agent Server
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 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 Servers
- Alicense-qualityCmaintenanceMCP server that equips AI agents with dev workflow tools including GitHub project management, conventional commits, visual regression testing, Jira/Confluence integration, and a persistent memory knowledge graph.25MIT
- AlicenseBqualityAmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.12MIT
- Flicense-qualityDmaintenanceAn MCP server that automates pull request reviews using multiple LLM providers (OpenAI, Claude, Gemini, Groq, Perplexity) and supports GitHub and Bitbucket with real-time webhook integration and interactive AI assistant commands.1
- Flicense-qualityCmaintenanceMulti-model agent orchestration MCP server that enables plan-code-review-deliver pipelines with configurable providers and models.
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.
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/AmaimaKhalidSethi/MCP-PR-REVIEWER'
If you have feedback or need assistance with the MCP directory API, please join our Discord server