Aller au contenu

Rechercher dans la documentation

Saisissez votre recherche pour parcourir toutes les pages de la documentation.

Menu de la documentation
GuidePublic · Développeurs et concepteurs d'agents

Serveur MCP

Vos agents, accessibles depuis n'importe quel client MCP

Cette page a été traduite automatiquement depuis l'anglais. En cas de divergence, la version originale fait foi.Lire l'original en anglais

Chaque application Agent-Lab embarque un serveur Model Context Protocol construit sur FastMCP, monté sur /mcp (Streamable HTTP, sans état). Les clients MCP — Claude Desktop, les IDE, vos propres agents — peuvent découvrir les agents de l'application, lire l'historique des dialogues et converser directement avec les agents. Le serveur et ses registrars d'outils et de prompts participent au même mécanisme de découverte que les agents : scan_packages et le groupe d'entry points agent_lab.agents.

Ce que le serveur expose

Outil Description
get_agent_list Liste les agents enregistrés dans l'application en cours d'exécution
get_message_list Lit l'historique des dialogues d'un agent
post_message Envoie un message à un agent — communication d'agent à agent
read_prompt_mcp Lit un template de prompt ; également exposé sous forme de prompt MCP (prompts/get) et de ressource (prompt://)

Ce triplet de prompts expose les prompts système par défaut de chaque type d'agent, avec des surcharges propres à chaque tenant via agent_type + setting_key.

Essayer avec MCP Inspector

Lancez MCP Inspector et connectez-vous à votre application (par exemple http://localhost:18000/mcp, transport : Streamable HTTP) :

npx @modelcontextprotocol/inspector

Accédez à la console web (utilisez le lien de proxy affiché dans la console).

Démo de MCP Inspector

Connecter Claude Desktop

Remarque : Claude Desktop n'est utilisé ici qu'à titre de démonstration. Ce projet n'est pas affilié à Anthropic AI.

  1. Installez la passerelle mcp-proxy qu'utilise Claude Desktop pour accéder aux serveurs HTTP distants :

    pip install mcp-proxy
  2. Ouvrez Settings → Developer → Edit Config et modifiez claude_desktop_config.json (adaptez le point de terminaison à votre installation ; l'environnement Python doit contenir mcp-proxy) :

Configuration de Claude Desktop 1

Configuration de Claude Desktop 2

Configuration de Claude Desktop 3

  1. Redémarrez Claude Desktop et retournez dans Settings → Developer — Agent-Lab doit y apparaître :

Configuration de Claude Desktop 4

  1. Essayez : demandez à Claude de lister les agents, de récupérer l'historique des dialogues d'une instance d'agent codeur supervisé, ou de vous montrer un extrait de code que l'agent a généré précédemment :

Démo de Claude Desktop

Démo de Claude Desktop

API OpenAI Responses

L'outil hébergé Model Context Protocol (MCP) de l'API Responses facilite la connexion à des services externes : configurez votre modèle une seule fois pour qu'il pointe vers un serveur MCP — celui-ci joue le rôle d'hôte d'outils centralisé. (Source : MCP Tool Guide)

Un notebook illustrant l'intégration de l'API OpenAI Responses avec le serveur MCP d'Agent-Lab est disponible ici : notebooks/11_mcp_client-openai-responses.ipynb.

Ajouter vos propres outils et prompts

Tout est découvert de la même manière que les agents — décorez, et (pour les utilisateurs de la bibliothèque) assurez-vous que votre package figure dans scan_packages ou est publié via le groupe d'entry points agent_lab.agents.

Un outil — une simple fonction asynchrone ; son premier paramètre container est injecté depuis le conteneur DI et masqué aux clients :

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 — exposé sur l'ensemble du triplet de prompts (outil / prompts/get / ressource 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."

Avancé — une sous-classe complète de McpRegistrar (ou de PromptSetRegistrar) pour des ensembles personnalisés d'outils, de prompts et de ressources, via @discoverable_mcp_registrar(extra_deps=(...)). Pour ajouter des instructions MCP destinées aux clients, passez des fragments lors de la composition :

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

Un exemple complet est fourni dans le projet généré (mcp/tools.py, mcp/prompts.py) — voir Votre premier agent.

Authentification

Lorsque l'authentification est activée, les clients MCP s'authentifient via un proxy OAuth adossé à Keycloak : vérification des JWT à l'aide du JWKS du realm (scopes openid, profile, email) et stockage des clients OAuth dans Redis (chiffré). L'application publie les points de terminaison de métadonnées standard (/.well-known/oauth-protected-resource/mcp, /.well-known/oauth-authorization-server/mcp) afin que les clients conformes puissent se configurer d'eux-mêmes.