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
Hallazgos (6)
- LOWen recomendar_flujo
- LOWen evaluar_necesidad
- LOWen aplicar_challenger
- LOWen generar_contrato
- LOWen plan_exposicion_mcp
- LOWen plan_de_inicio
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (18)
⚪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
Evidencia