Naar de inhoud springen

Zoek in de documentatie

Typ om elke pagina van de documentatie te doorzoeken.

Documentatiemenu
GidsDoelgroep · Ontwikkelaars & bouwers van agents

MCP-server

Je agents, vindbaar voor elke MCP-client

Deze pagina is automatisch vanuit het Engels vertaald. Bij verschillen geldt het origineel.Het origineel in het Engels lezen

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/inspector

Open de webconsole (gebruik de proxylink die in de console wordt getoond).

Demo van MCP Inspector

Claude Desktop verbinden

Let op: Claude Desktop wordt hier alleen ter demonstratie gebruikt. Dit project is niet gelieerd aan Anthropic AI.

  1. Installeer de mcp-proxy-bridge die Claude Desktop gebruikt om externe HTTP-servers te bereiken:

    pip install mcp-proxy
  2. Open Settings → Developer → Edit Config en bewerk claude_desktop_config.json (pas het endpoint aan je installatie aan; de Python-omgeving moet mcp-proxy bevatten):

Claude Desktop-setup 1

Claude Desktop-setup 2

Claude Desktop-setup 3

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

Claude Desktop-setup 4

  1. 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:

Demo van Claude Desktop

Demo van Claude Desktop

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.