DANIEL KIRCHNERSoftware Architect · Cloud & DevOps · AI
All Articles
March 28, 20266 min read

MCP Servers: The Model Context Protocol in Practice

MCPAILangChainPythonFastAPILLM

Was ist das Model Context Protocol?

Das Model Context Protocol (MCP) ist ein offener Standard, der definiert, wie KI-Modelle mit externen Tools und Datenquellen kommunizieren. Statt dass jedes LLM seine eigene Tool-Integration implementiert, bietet MCP eine einheitliche Schnittstelle.

Das Problem: LLMs sind in sich geschlossene Systeme. Sie können Text generieren, aber nicht auf Ihre Datenbank zugreifen, keine E-Mails senden oder Ihre internen APIs aufrufen – zumindest nicht ohne Hilfe.

Die Lösung: Ein MCP-Server stellt dem LLM definierte "Tools" zur Verfügung. Das Modell entscheidet eigenständig, wann es welches Tool aufruft.

Architektur eines MCP-Servers

Ein MCP-Server besteht aus drei Teilen:

  • Tool-Definitionen – Welche Funktionen stehen dem LLM zur Verfügung?
  • Transport Layer – Wie kommuniziert das LLM mit dem Server? (stdio, HTTP/SSE)
  • Tool-Implementierung – Was passiert, wenn das LLM ein Tool aufruft?
  • Ein konkretes Beispiel

    In einem Gesundheitsplattform-Projekt habe ich einen MCP-Server gebaut, der dem KI-Chatbot Zugriff auf die Wissensdatenbank gibt:

    ``python

    from mcp.server import Server

    from mcp.types import Tool, TextContent

    server = Server("health-knowledge")

    @server.tool()

    async def search_knowledge(

    query: str,

    category: str | None = None,

    ) -> list[TextContent]:

    """Durchsucht die Wissensdatenbank nach relevanten Inhalten."""

    results = await vector_store.similarity_search(

    query=query,

    filter={"category": category} if category else None,

    k=5,

    )

    return [

    TextContent(

    type="text",

    text=f"{r.metadata['title']}\n{r.page_content}"

    )

    for r in results

    ]

    @server.tool()

    async def get_article_details(article_id: str) -> list[TextContent]:

    """Holt die vollständigen Details eines Wissensartikels."""

    article = await db.get_article(article_id)

    return [TextContent(type="text", text=article.to_markdown())]

    ``

    MCP vs. klassisches Function Calling

    AspektFunction CallingMCP

    |--------|-----------------|-----|

    StandardProvider-spezifisch (OpenAI, Anthropic)Offener Standard
    TransportHTTP/RESTstdio, HTTP/SSE
    DiscoveryManuell definiertAutomatische Tool-Discovery
    WiederverwendungPro IntegrationEin Server, viele Clients

    Der größte Vorteil von MCP: Ein MCP-Server kann von verschiedenen KI-Clients genutzt werden – ob Claude, ChatGPT oder ein eigener LangChain-Agent. Man implementiert die Integration einmal und kann sie überall nutzen.

    Lessons Learned

    1. Tool-Beschreibungen sind entscheidend

    Das LLM entscheidet anhand der Tool-Beschreibung, ob und wann es ein Tool aufruft. Klare, präzise Beschreibungen mit Beispielen verbessern die Trefferquote drastisch.

    2. Error Handling nicht vergessen

    Was passiert, wenn die Datenbank nicht erreichbar ist? Oder die Suche keine Ergebnisse liefert? Der MCP-Server muss sinnvolle Fehlermeldungen zurückgeben, die das LLM interpretieren kann.

    3. Logging und Observability

    In Produktionsumgebungen ist es essenziell zu wissen, welche Tools wie oft aufgerufen werden und wie lange die Antwortzeiten sind. Wir loggen jeden Tool-Call mit Metadaten.

    Wann lohnt sich ein MCP-Server?

  • Wenn Ihr KI-Chatbot auf interne Datenquellen zugreifen soll
  • Wenn Sie die gleiche Tool-Integration für verschiedene LLMs nutzen wollen
  • Wenn Sie KI-Agenten bauen, die aktiv mit Ihren Systemen interagieren sollen
  • Fazit

    MCP ist noch ein junger Standard, aber er löst ein reales Problem: die standardisierte Kommunikation zwischen KI-Modellen und externen Systemen. Die Implementierung eines MCP-Servers ist mit Python und dem offiziellen SDK in wenigen Tagen machbar.

    Sie möchten KI in Ihre Produkte integrieren? Ich helfe Ihnen beim Entwurf und der Implementierung von MCP-Servern und RAG-Pipelines.

    Discuss your project?

    Free consultation – I'll get back to you within 24 hours.

    Free Consultation