Saltar al contenido

Buscar en la documentación

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

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

Servidor MCP

Tus agentes, descubribles desde cualquier cliente MCP

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

Toda aplicación Agent-Lab incluye un servidor de Model Context Protocol basado en 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álogo 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álogo 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://)

El triple de prompts expone los prompts de sistema por defecto de cada tipo de agente, con sustituciones por tenant mediante agent_type + setting_key.

Pruébalo con MCP Inspector

Inicia 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

Conectar Claude Desktop

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

  1. Instala el puente mcp-proxy que utiliza Claude Desktop para acceder 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 Settings → Developer; Agent-Lab debería aparecer:

Configuración de Claude Desktop 4

  1. Pruébalo: pide a Claude que liste los agentes, que obtenga el historial de diálogo de una instancia del agente programador supervisado o que muestre un fragmento de código que el agente generó anteriormente:

Demostración de Claude Desktop

Demostración de Claude Desktop

OpenAI Responses API

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

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

Añadir tus propias herramientas y prompts

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

Una herramienta: una función async normal; su parámetro inicial 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 triple de prompts completo (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 PromptSetRegistrar) para conjuntos personalizados de herramientas, prompts y recursos, mediante @discoverable_mcp_registrar(extra_deps=(...)). Para añadir instrucciones MCP para los clientes, pasa fragmentos durante la composición:

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

El scaffold incluye un ejemplo completo (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 solos.