el-buen-agente-mcp

La guía 'El Buen Agente' como 18 tools para evaluar, mejorar y construir agentes LLM. En español.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
84%
Integridad del esquema
96%
Calidad de los nombres
83%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (6)

  • LOWTool 'recomendar_flujo' description lacks action verben recomendar_flujo
  • LOWTool 'evaluar_necesidad' description lacks action verben evaluar_necesidad
  • LOWTool 'aplicar_challenger' description lacks action verben aplicar_challenger
  • LOWTool 'generar_contrato' description lacks action verben generar_contrato
  • LOWTool 'plan_exposicion_mcp' description lacks action verben plan_exposicion_mcp
  • LOWTool 'plan_de_inicio' description lacks action verben plan_de_inicio

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,931Tokens (definiciones de herramientas)
~1.7 KBTamaño de respuesta típico
Impacto significativo en la atención (3.07% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "el-buen-agente-mcp": {
      "url": "https://el-buen-agente-mcp-production.up.railway.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://el-buen-agente-mcp-production.up.railway.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (18)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪recomendar_flujo(situacion)

Devuelve el flujo recomendado de tools según la situación: agente nuevo (diseño desde cero) o agente existente (mejora). Llamala PRIMERO si no sabés por dónde empezar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "situacion": {
      "type": "string",
      "enum": [
        "nuevo",
        "existente"
      ],
      "description": "'nuevo' = diseñar un agente desde cero; 'existente' = mejorar un agente que ya está definido o en producción."
    }
  },
  "required": [
    "situacion"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_el_buen_agente

Devuelve la guía completa 'El Buen Agente (v2)' en Markdown. Usala para contexto general; para operar sobre un agente concreto usá las tools evaluar_*/revisar_*/auditar_*.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evaluar_necesidad(problema, language)

Evalúa si el problema justifica un agente o se resuelve con menos (prompt, workflow, skill). Detecta antipatrones: agente genérico, sobre-orquestación, agente sin contexto, autonomía total día 1. Usala ANTES de construir, o para cuestionar un agente existente.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "problema": {
      "type": "string",
      "description": "Descripción del problema que se quiere resolver y, si existe, cómo lo resuelve el agente actual."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "problema"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪revisar_rol_y_frontera(agent_definition, language)

Verifica que el agente tenga rol claro, dominio acotado y frontera explícita de qué NO es su responsabilidad, escrita en el identity layer y enforced en código donde se pueda. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪revisar_outputs(agent_definition, language)

Verifica que los outputs sean accionables: schema estricto (JSON Schema/Pydantic), resumen legible para humanos separado del razonamiento, y exposición de qué gates pasó/falló. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evaluar_autonomia(agent_definition, language)

Determina el nivel de autonomía adecuado (copiloto / ejecutor supervisado / autónomo con guardrails) y verifica los mecanismos de reducción de riesgo: sandbox/shadow mode, límites duros, frenos progresivos, override humano. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪revisar_frontera_ejecucion(agent_definition, language)

Verifica que la línea entre lo que el agente recomienda y lo que ejecuta esté definida en código (status + gates), no descubierta en producción: qué ejecuta directo, qué queda pendiente de aprobación, qué se rechaza. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪aplicar_challenger(agent_definition, language)

Aplica el patrón challenger/red-team a la definición o a una decisión del agente: contraargumentos basados en datos, autocrítica y gate de calidad. Útil como segunda pasada adversarial. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪auditar_contexto(agent_definition, language)

Audita el contexto del agente: separación en 3 capas (identidad/dominio/referencia), relevancia y caducidad de datos, estrategia de integración (directo/snapshot/RAG/estático), gobernanza, least-privilege, trazabilidad y defensa anti prompt-injection. Recibe la definición del agente y devuelve un brief de evaluación estructurado.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪challenger_decision(decision, contexto, language)

Genera el brief para cuestionar una decisión concreta del agente: 3 razones basadas en datos para NO hacerla. No bloquea, informa al humano.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "description": "La decisión o recomendación del agente que se quiere cuestionar."
    },
    "contexto": {
      "type": "string",
      "description": "Contexto y datos relevantes a la decisión."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "decision"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡disenar_evaluacion(agent_definition, language)

Evalúa el plan de evaluación del agente (o ayuda a crearlo): 3 dimensiones (capacidades/trayectoria/resultado), métricas (tasa de éxito, consistencia, coste por tarea, adopción), golden set de 20-50 tareas, monitoreo de drift y self-consistency para alto stake.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪generar_contrato(nombre, problema, inputs, output, puede, ...)

Genera el contrato formal del agente (patrón contractor de §8) a partir de los campos provistos. Los campos faltantes quedan marcados como [PENDIENTE] para completar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "nombre": {
      "type": "string",
      "description": "Nombre del agente."
    },
    "problema": {
      "type": "string",
      "description": "Qué resuelve (1 frase) + qué deliberadamente NO toca."
    },
    "inputs": {
      "type": "string",
      "description": "Qué consume."
    },
    "output": {
      "type": "string",
      "description": "Schema exacto + formato legible para humano."
    },
    "puede": {
      "type": "string",
      "description": "Acciones autónomas dentro de límites."
    },
    "no_puede": {
      "type": "string",
      "description": "Acciones que requieren aprobación humana / fuera de alcance."
    },
    "coste": {
      "type": "string",
      "description": "Modelo + estimado de tokens/mes + tope."
    },
    "evaluacion": {
      "type": "string",
      "description": "Métricas de éxito (verde/amarillo/rojo) + cadencia de review."
    },
    "autonomia": {
      "type": "string",
      "description": "copiloto | supervisado | autónomo con guardrails (+ plan de progresión)."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "nombre"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evaluar_sistema(agent_definition, ecosistema, language)

Evalúa cómo el agente encaja en el sistema mayor: catálogo de skills, reutilización vs especialización, orquestación ligera vs orquestador, qué automatizar vs supervisar, y memorias separadas por agente.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "ecosistema": {
      "type": "string",
      "description": "Otros agentes/skills existentes en el sistema, si los hay."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪plan_exposicion_mcp(agent_definition, language)

Evalúa qué partes del agente conviene exponer a la economía de agentes y cómo: qué modelar como tool (capacidad accionable), resource (doc/dato legible) o prompt (plantilla), y qué merece UI vs API/MCP.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪checklist_nacimiento(agent_definition, language)

Corre el checklist completo de 19 puntos contra la definición del agente. Es el gate final antes de mergear: el agente debe NACER cumpliéndolo, no corregirse después. Devuelve veredicto punto por punto.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_definition": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "agent_definition"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪validar_veredicto(puntos)

Cierra el ciclo de checklist_nacimiento con un contrato a nivel protocolo. Pasale los 19 puntos con su estado (ok|parcial|falta) y devuelve structuredContent validado: conteos y veredicto normalizado (apto solo si faltas === 0). Pensada para consumo programático / gates de CI: no depende de parsear texto.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "puntos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "n": {
            "type": "integer",
            "minimum": 1,
            "maximum": 19
          },
          "estado": {
            "type": "string",
            "enum": [
              "ok",
              "parcial",
              "falta"
            ]
          }
        },
        "required": [
          "n",
          "estado"
        ],
        "additionalProperties": false
      },
      "minItems": 19,
      "maxItems": 19,
      "description": "Los 19 puntos del checklist con su estado evaluado."
    }
  },
  "required": [
    "puntos"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "aptos": {
      "type": "integer"
    },
    "parciales": {
      "type": "integer"
    },
    "faltas": {
      "type": "integer"
    },
    "veredicto": {
      "type": "string",
      "enum": [
        "apto",
        "no_apto"
      ]
    },
    "completo": {
      "type": "boolean",
      "description": "true si están los 19 puntos sin números repetidos."
    }
  },
  "required": [
    "aptos",
    "parciales",
    "faltas",
    "veredicto",
    "completo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪construir_agente(definicion_final, contrato, formato, language)

El paso de CIERRE del flujo: toma la definición iterada (tras pasar por las revisiones) y produce el artefacto final listo para usar: identity layer, tools con least-privilege, límites duros, schema de output, gates, contexto, evaluación. Llamala cuando checklist_nacimiento dé APTO.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "definicion_final": {
      "type": "string",
      "minLength": 1,
      "description": "Definición completa del agente a mejorar: system prompt, frontmatter, configuración, descripción de tools y cualquier doc de diseño. Cuanto más completa, mejor la evaluación."
    },
    "contrato": {
      "type": "string",
      "description": "El contrato generado por generar_contrato, si existe."
    },
    "formato": {
      "type": "string",
      "enum": [
        "markdown",
        "claude_skill",
        "system_prompt"
      ],
      "description": "Formato del artefacto: 'markdown' (doc de diseño completo, default), 'claude_skill' (SKILL.md con frontmatter), 'system_prompt' (prompt + config para cualquier framework)."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "definicion_final"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪plan_de_inicio(problema, equipo, language)

Genera el plan de arranque correcto para un agente nuevo: un agente, un problema concreto, un humano revisando. Verifica que la tarea elegida sea recurrente, costosa en tiempo y con datos accesibles.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "problema": {
      "type": "string",
      "description": "El problema o tarea candidata para el primer agente."
    },
    "equipo": {
      "type": "string",
      "description": "Quiénes lo van a usar y revisar."
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en"
      ],
      "description": "Idioma de la respuesta (default \"es\"). / Response language: pass \"en\" for English output."
    }
  },
  "required": [
    "problema"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada18 herramientas
verificadoversión no registrada18 herramientas
verificadoversión no registrada18 herramientas