Skip to main content
Glama
frangelbarrera

Code Review Agent MCP

Code Review Agent MCP

Agente de revisión de código con IA que no endulza nada. Si tu código es malo, te lo dice. Sin rodeos.

PyPI version Python 3.10+ License: MIT Code style: ruff

Un servidor MCP (Model Context Protocol) impulsado por IA que revisa tu código de la misma manera en que los mantenedores experimentados revisan los parches en proyectos serios: técnicamente, directamente, sin diplomacia.

Qué hace

  • Revisión de código con IA — revisa fragmentos de código, archivos, diffs de git y commits.

  • Devuelve hallazgos con etiquetas de severidad: CRITICAL, MAJOR, MINOR, NIT, CLEAN.

  • Cita números de línea específicos para cada hallazgo.

  • Explica por qué algo está mal y luego cómo corregirlo.

  • Termina con un veredicto claro: "Envíalo." o "No fusiones hasta..."

  • Sin elogios falsos. Sin rodeos. Sin disculpas. Sin relleno.

Related MCP server: greybeard

¿Por qué?

La mayoría de los revisores de código con IA están entrenados para ser educados. Prefieren la crítica con «gran trabajo, pero...», se andan con rodeos con «quizás quieras considerar...», suavizan los hallazgos con «esto podría ser un problema».

Así no funciona la revisión de código seria. En proyectos reales (Linux kernel, PostgreSQL, Redis, SQLite), los mantenedores revisan los parches directamente. Encuentran problemas y los señalan con claridad. No existen para hacer sentir bien al autor — existen para mejorar el código.

Este MCP codifica esa tradición. La personalidad ES el producto.

Ingeniería anti-RLHF

Los LLM están entrenados con RLHF para ser educados. Este agente de IA combate eso con tres capas:

  1. System prompt — 12 principios fundamentales (código-no-programador, veredicto-primero, etiquetas de severidad, citas de línea, sin elogios falsos, sin rodeos, sin disculpas, sin relleno, segunda persona, sin referencias demográficas, sin rechazo, sin errores alucinados)

  2. Post-procesador — elimina más de 40 frases prohibidas (rodeos, suavizadores, disculpas, relleno) de la salida del LLM

  3. Validador — comprueba que la salida tenga etiquetas de severidad, citas de línea y veredicto; marca las declaraciones de problemas vagas como señales de alucinación

Herramientas

Tool

Descripción

review_code

Revisar un fragmento de código

review_file

Revisar un archivo desde el disco (en sandbox)

review_diff

Revisar un diff de git

review_commit

Revisar un commit de git (git show <ref>)

list_severities

Listar etiquetas de severidad con definiciones

Niveles de dureza

Nivel

Comportamiento

gentle

Suaviza ligeramente el lenguaje. Aun así informa todos los hallazgos.

standard

Revisión directa por defecto. Directa, técnica, sin diplomacia.

brutal

Sin suavización. "Esto está mal." no "Esto debería cambiarse."

kernel-maintainer

Máxima franqueza. Frases cortas. Voz imperativa.

Instalación

pip install code-review-agent-mcp

O con uv:

uv pip install code-review-agent-mcp

Configuración

Claude Desktop

Añade a claude_desktop_config.json:

{
  "mcpServers": {
    "code-review-agent": {
      "command": "python",
      "args": ["-m", "code_review_agent.server"]
    }
  }
}

O si se instala vía pip:

{
  "mcpServers": {
    "code-review-agent": {
      "command": "code-review-agent-mcp"
    }
  }
}

Cursor

Añade a .cursor/mcp.json:

{
  "mcpServers": {
    "code-review-agent": {
      "command": "python",
      "args": ["-m", "code_review_agent.server"]
    }
  }
}

Ejemplos de uso

Revisar un fragmento de código

User: Review this code for me

def get_user(username):
    import sqlite3
    conn = sqlite3.connect("users.db")
    cursor = conn.cursor()
    query = f"SELECT * FROM users WHERE username = '{username}'"
    cursor.execute(query)
    return cursor.fetchone()

Respuesta de MCP:

## Code Review: snippet

### Findings

**CRITICAL** `snippet:7` — SQL injection
The query uses an f-string with user input, allowing SQL injection. Use parameterized queries: `cursor.execute("SELECT * FROM users WHERE username = ?", (username,))`.

### Verdict

Do not merge until CRITICAL is fixed.

Revisar un archivo

User: Review src/auth.py

MCP calls review_file with file_path="src/auth.py"
Returns blunt review with line citations.

Revisar un commit

User: Review the last commit

MCP calls review_commit with commit_ref="HEAD"
Returns blunt review of the diff.

Etiquetas de severidad

Etiqueta

Cuándo usarla

CRITICAL

Vulnerabilidad de seguridad, pérdida de datos, deadlock, RCE, cualquier cosa que se lance rota

MAJOR

Error de lógica, condición de carrera, fuga de recursos, caso límite roto, abstracción incorrecta

MINOR

Estilo, nombres, prueba faltante, código redundante, suposición frágil

NIT

Cosmético, formato, redacción de comentarios

CLEAN

Declara explícitamente cuando una sección está bien. Evita el sesgo de errores inventados.

Seguridad

Este servidor MCP implementa sandboxing de seguridad:

  • El acceso a archivos está aislado en el directorio de trabajo actual por defecto

  • Las rutas sensibles (.ssh, .aws, .env, /etc/passwd, etc.) se rechazan

  • Las referencias de git se validan contra una lista blanca estricta de caracteres para prevenir la inyección de opciones

  • Las llamadas a subprocesos usan shell=False y desactivan la configuración global de git

Consulta SECURITY.md para el modelo de amenazas completo.

Desarrollo

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=code_review_agent

Fragmentos de benchmark

El directorio benchmarks/ contiene 5 fragmentos de regresión que verifican al revisor:

  1. Inyección SQL — espera CRITICAL, cita de línea, "No fusionar"

  2. Default mutable — espera MAJOR

  3. Código limpio (búsqueda binaria) — espera CLEAN, "Envíalo" (prueba anti-alucinación)

  4. Excepción tragada — espera MAJOR

  5. Off-by-one — espera MAJOR

El benchmark de código limpio es el más importante: detecta alucinaciones. Si el revisor inventa errores en código correcto, el sistema anti-RLHF está roto.

Licencia

MIT

Agradecimientos

Este proyecto codifica la tradición de revisión de código de los mantenedores del kernel — una metodología practicada por muchos ingenieros senior en muchos proyectos (Linux kernel, PostgreSQL, Redis, SQLite y otros). Citamos la tradición, no a un practicante individual.

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

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/frangelbarrera/code-review-agent-mcp'

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