el-buen-agente-mcp
La guía 'El Buen Agente' como 18 tools para evaluar, mejorar y construir agentes LLM. En español.
Should I use this
Quality & Safety
Findings (6)
- LOWin recomendar_flujo
- LOWin evaluar_necesidad
- LOWin aplicar_challenger
- LOWin generar_contrato
- LOWin plan_exposicion_mcp
- LOWin plan_de_inicio
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"el-buen-agente-mcp": {
"url": "https://el-buen-agente-mcp-production.up.railway.app/mcp"
}
}
}Remote endpoints
https://el-buen-agente-mcp-production.up.railway.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (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.
Input Schema
{
"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_*.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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.
Input Schema
{
"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#"
}Community
Evidence