Ir al contenido

Buscar en la documentación

Escribe para buscar en todas las páginas de la documentación.

Menú de la documentación
GuíaPúblico · Desarrolladores y creadores de agentes

Servidor MCP

Tus agentes, descubribles por cualquier cliente MCP

Esta página se tradujo automáticamente del inglés. Si hay alguna diferencia, prevalece el original.Leer el original en inglés

Cada aplicación Agent-Lab incluye un servidor de Model Context Protocol construido sobre FastMCP y montado en /mcp (Streamable HTTP, sin estado). Los clientes MCP (Claude Desktop, IDE, tus propios agentes) pueden descubrir los agentes de la aplicación, leer el historial de diálogos y hablar directamente con los agentes. El servidor y sus registradores de herramientas y prompts participan en el mismo mecanismo de descubrimiento que los agentes: scan_packages y el grupo de entry points agent_lab.agents.

Qué expone el servidor

Herramienta Descripción
get_agent_list Lista los agentes registrados en la aplicación en ejecución
get_message_list Lee el historial de diálogos de un agente
post_message Envía un mensaje a un agente: comunicación entre agentes
read_prompt_mcp Lee una plantilla de prompt; también se expone como prompt MCP (prompts/get) y como recurso (prompt://)

Este trío de prompts expone los prompts de sistema predeterminados de cada tipo de agente, con anulaciones por tenant mediante agent_type + setting_key.

Pruébalo con MCP Inspector

Inicia el MCP Inspector y conéctate a tu aplicación (p. ej., http://localhost:18000/mcp, transporte: Streamable HTTP):

npx @modelcontextprotocol/inspector

Accede a la consola web (usa el enlace del proxy que se muestra en la consola).

Demostración de MCP Inspector

Conecta Claude Desktop

Nota: Aquí se usa Claude Desktop solo como demostración. Este proyecto no está afiliado a Anthropic AI.

  1. Instala el puente mcp-proxy que usa Claude Desktop para conectarse a servidores HTTP remotos:

    pip install mcp-proxy
  2. Abre Settings → Developer → Edit Config y edita claude_desktop_config.json (adapta el endpoint a tu instalación; el entorno de Python debe contener mcp-proxy):

Configuración de Claude Desktop 1

Configuración de Claude Desktop 2

Configuración de Claude Desktop 3

  1. Reinicia Claude Desktop y vuelve a ir a Settings → Developer; Agent-Lab debería aparecer:

Configuración de Claude Desktop 4

  1. Pruébalo: pídele a Claude que liste los agentes, que obtenga el historial de diálogos de una instancia de agente programador supervisado o que muestre un fragmento de código que el agente generó antes:

Demostración de Claude Desktop

Demostración de Claude Desktop

API Responses de OpenAI

La herramienta alojada de Model Context Protocol (MCP) en la API Responses facilita la conexión con servicios externos: configura tu modelo una sola vez para que apunte a un servidor MCP, que actúa como host centralizado de herramientas. (Fuente: MCP Tool Guide)

Hay un notebook que demuestra la integración de la API Responses de OpenAI con el servidor MCP de Agent-Lab disponible en notebooks/11_mcp_client-openai-responses.ipynb.

Agrega tus propias herramientas y prompts

Todo se descubre de la misma forma que los agentes: decora y (si consumes la biblioteca) asegúrate de que tu paquete esté en scan_packages o publicado mediante el grupo de entry points agent_lab.agents.

Una herramienta: una función async simple; su primer parámetro, container, se inyecta desde el contenedor de DI y queda oculto para los clientes:

from agent_lab import discoverable_mcp_tool


@discoverable_mcp_tool(
    "my_hello_tool",
    description="Returns a friendly greeting.",
    annotations={"readOnlyHint": True},
)
async def hello_tool(container, name: str) -> str:
    return f"Hello, {name}!"

Un prompt: se expone en el trío completo de prompts (herramienta / prompts/get / recurso prompt://):

from agent_lab import discoverable_mcp_prompt


@discoverable_mcp_prompt("my_greeting_prompt")
def greeting_prompt() -> str:
    return "Greet the user warmly and briefly."

Avanzado: una subclase completa de McpRegistrar (o de PromptSetRegistrar) para conjuntos personalizados de herramientas, prompts y recursos, mediante @discoverable_mcp_registrar(extra_deps=(...)). Para agregar instrucciones MCP para los clientes, pasa fragmentos al componer la aplicación:

app = create_app(mcp_instructions=["Extra guidance for MCP clients."])

La estructura generada incluye un ejemplo práctico (mcp/tools.py, mcp/prompts.py); consulta Tu primer agente.

Autenticación

Cuando la autenticación está habilitada, los clientes MCP se autentican mediante un proxy OAuth respaldado por Keycloak: verificación de JWT contra el JWKS del realm (scopes openid, profile, email) y almacenamiento de clientes OAuth en Redis (cifrado). La aplicación publica los endpoints de metadatos estándar (/.well-known/oauth-protected-resource/mcp, /.well-known/oauth-authorization-server/mcp) para que los clientes compatibles puedan configurarse por sí solos.