Elke Agent-Lab-applicatie bevat een Model Context Protocol-server,
gebouwd op FastMCP en gemount op /mcp
(Streamable HTTP, stateless). MCP-clients — Claude Desktop, IDE's, je eigen agents —
kunnen de agents van de app ontdekken, de gespreksgeschiedenis lezen en rechtstreeks met agents praten. De
server en zijn registrars voor tools/prompts doen mee aan hetzelfde discoverymechanisme als
agents: scan_packages en de entry-pointgroep agent_lab.agents.
Wat de server beschikbaar stelt
| Tool | Beschrijving |
|---|---|
get_agent_list |
Toont de agents die in de draaiende app zijn geregistreerd |
get_message_list |
Leest de gespreksgeschiedenis van een agent |
post_message |
Stuurt een bericht naar een agent — communicatie van agent tot agent |
read_prompt_mcp |
Leest een prompttemplate; ook beschikbaar als MCP-prompt (prompts/get) en -resource (prompt://) |
Het prompttrio maakt de standaard systeemprompts van elk agenttype beschikbaar, met overrides per tenant
via agent_type + setting_key.
Probeer het met MCP Inspector
Start de MCP Inspector en
maak verbinding met je app (bijv. http://localhost:18000/mcp, transport: Streamable HTTP):
npx @modelcontextprotocol/inspectorOpen de webconsole (gebruik de proxylink die in de console wordt getoond).

Claude Desktop verbinden
Let op: Claude Desktop wordt hier alleen ter demonstratie gebruikt. Dit project is niet gelieerd aan Anthropic AI.
Installeer de mcp-proxy-bridge die Claude Desktop gebruikt om externe HTTP-servers te bereiken:
pip install mcp-proxyOpen Settings → Developer → Edit Config en bewerk
claude_desktop_config.json(pas het endpoint aan je installatie aan; de Python-omgeving moetmcp-proxybevatten):



- Start Claude Desktop opnieuw en ga weer naar Settings → Developer — Agent-Lab zou zichtbaar moeten zijn:

- Probeer het uit: vraag Claude om de agents op te sommen, de gespreksgeschiedenis van een instantie van een supervised coder-agent op te halen, of laat Claude een codefragment tonen dat de agent eerder heeft gegenereerd:


OpenAI Responses API
De gehoste Model Context Protocol (MCP)-tool in de Responses API maakt het eenvoudiger om verbinding te maken met externe services: configureer je model één keer zodat het naar een MCP-server wijst — die fungeert als centrale toolhost. (Bron: MCP Tool Guide)
Een notebook dat de integratie van de OpenAI Responses API met de MCP-server van Agent-Lab demonstreert, vind je in notebooks/11_mcp_client-openai-responses.ipynb.
Je eigen tools en prompts toevoegen
Alles wordt op dezelfde manier ontdekt als agents — voeg een decorator toe en zorg er (als je de
bibliotheek gebruikt) voor dat je package in scan_packages staat of via de
entry-pointgroep agent_lab.agents wordt gepubliceerd.
Een tool — een gewone async-functie; de eerste parameter container wordt
vanuit de DI-container geïnjecteerd en is verborgen voor 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}!"Een prompt — beschikbaar via het volledige prompttrio (tool / prompts/get /
prompt://-resource):
from agent_lab import discoverable_mcp_prompt
@discoverable_mcp_prompt("my_greeting_prompt")
def greeting_prompt() -> str:
return "Greet the user warmly and briefly."Geavanceerd — een volledige subklasse van McpRegistrar (of PromptSetRegistrar) voor eigen
sets van tools/prompts/resources, via @discoverable_mcp_registrar(extra_deps=(...)). Om
MCP-instructies voor clients toe te voegen, geef je fragmenten mee bij de compositie:
app = create_app(mcp_instructions=["Extra guidance for MCP clients."])Een uitgewerkt voorbeeld zit in de scaffold (mcp/tools.py, mcp/prompts.py) — zie
Je eerste agent.
Authenticatie
Als authenticatie is ingeschakeld, authenticeren MCP-clients zich via een OAuth-proxy die steunt op
Keycloak: JWT-verificatie tegen de JWKS van de realm (scopes openid,
profile, email) en opslag van OAuth-clients in Redis (versleuteld). De app
publiceert de standaard metadata-endpoints
(/.well-known/oauth-protected-resource/mcp,
/.well-known/oauth-authorization-server/mcp), zodat compatibele clients zichzelf kunnen configureren.