Integrieren · E2 · 7 Stufen

MCP: externe Tools sicher nutzen

Track E ist der Andock-Track. In E3 verstehst du das Model Context Protocol protokolltief — Transport, Handshake, Tool-Discovery, Schemas — und bindest die CRM-MCP aus C5 sicher an.

Worum es hier geht

Wir binden die CRM MCP der Muster GmbH protokolltief an — denselben Server, dessen Tools der Helpdesk-Assistent in C5 im Workflow nutzt. Hier geht es eine Ebene tiefer: wie die Verbindung funktioniert und wie du sie absicherst. Editor-Ansichten zeigen wir als Konfigurations-Mockups (.cfg), Protokoll-Nachrichten als HTML-sichere pre-Blöcke.

Voraussetzung: Track B, idealerweise C5 (HTTP/Funktion/MCP im Workflow) und die Rolle Organisations-Admin oder höher zum Eintragen von MCP-Servern. Kein echter Endpunkt: alle URIs und Tokens sind Demo-Platzhalter (https://mcp.example.com, ${MCP_TOKEN}).

Abgrenzung zu C5: C5 zeigt MCP im Workflow (die Nutzung). E3 vertieft den Mechanismus selbst: Protokoll, Transport, Discovery, Schemas, Sicherheit. Der direkte Vergleich MCP ↔ HTTP-Service ↔ Funktion ist Teil von Stufe 7; die ScriptEngine-Funktionen vertieft E4.

Quellen und Stand

Geprüft gegen das AuxData-Administrator-Handbuch Kap. 7.3 (MCP-Server) sowie 7.4/7.5 (Rechte, Best Practices) und die MCP-Spezifikation (Revision 2025-11-25; Abgleich 03.06.2026) plus die Instanz. Protokoll-Details (JSON-RPC, Handshake, Transporte, HTTP-Header, Tasks) sind gegen MCP-Spec & Instanz zu prüfen: das Handbuch nennt URI/Endpoint, aber keine konkrete Protokollversion.

Stufe 1 von 7

MCP-Grundlagen

Offenes Protokoll, klare Rollen — und wo AuxData darin steht.

1Was MCP löst

MCP (Model Context Protocol) ist ein offenes Protokoll, das LLMs Zugriff auf standardisierte Tools, Prompts und Ressourcen erlaubt. (AH 7.3, wörtlich)

Das Problem dahinter: Ein Chatbot kann reden, ein Agent soll handeln — und externe Systeme (CRM, Kalender, Datenbank, Ticketsystem) sind uneinheitlich. Ohne Standard braucht jeder Client für jedes Tool eine Sonderintegration (N×M); MCP macht daraus N+M — das „USB-C der KI-Tools".

2Rollenmodell & AuxData-Einordnung

Die MCP-Spezifikation kennt drei Rollen: Host = Anwendung, mit der der Nutzer interagiert; Client = Protokoll-Komponente im Host, je eine Verbindung zu genau einem Server; Server = stellt Kontext und Fähigkeiten bereit.

AuxData-Einordnung (AH 7.3, wörtlich): „AuxData.ai fungiert als MCP-Client." AuxData verbindet sich also mit externen MCP-Servern, liest deren Fähigkeiten aus und macht ihre Tools in Workflows bzw. im Agent-Tool-Use nutzbar.

Belegt vs. unbelegt: AuxData ist als MCP-Client belegt, nicht als MCP-Server. Keine „AuxData hostet MCP"-Aussage ohne Quelle. (AH 7.3)

3Tools, Resources, Prompts

Drei Bausteine stellt ein MCP-Server bereit — am CRM-Beispiel:

Tools
Aktionen, die das Modell auslösen kann — z. B. customer_lookup.
Resources
lesbarer Kontext — z. B. crm://schema/customer.
Prompts
wiederverwendbare Vorlagen — z. B. support_triage_prompt.
✎ Übung: Ordne zu — „Kundendaten abrufen", „Datenbankschema anzeigen", „Supportantwort nach Vorlage" → Tool / Resource / Prompt.

✓ Integrationsschritte erledigt

Stufe 2 von 7

Transport & Auth

Wie Client und Server reden — und sich begrüßen.

1Protokollformat & Transporte

MCP nutzt JSON-RPC 2.0 als Nachrichtenformat. (MCP-Spec)

Es gibt zwei Standard-Transporte (Revision 2025-11-25): stdio (lokaler Prozess, Standard-Ein/Ausgabe) und Streamable HTTP (entfernter Server, ein HTTP-Endpoint mit POST/GET, optional SSE-Streaming). Für AuxData → externer Server ist Streamable HTTP der relevante Fall.

In Klartext: MCP-Nachrichten sind kleine JSON-Pakete nach einem festen Standard (JSON-RPC). Bei AuxData läuft das über einen normalen HTTPS-Endpoint — AuxData fragt an, der externe Server antwortet im selben Format.

2Die drei Pflichtfelder im Editor

AuxData-Editor-Felder (AH 7.3, wörtlich):

URI
Basis-URL, z. B. https://mcp.example.com.
Endpoint
HTTP-Pfad, Standard /mcp.
Authorization
Bearer-Token oder API-Key.
MCP-Server-Editor (offizielle Abbildung aus dem Admin-Handbuch)
Offizielle Abbildung aus dem Admin-Handbuch (Kap. 7) — der MCP-Server-Editor.

3Der initialize-Handshake

Bevor ein Tool aufgerufen wird, handeln Client und Server eine Protokollversion und ihre capabilities aus — der initialize-Handshake (MCP-Spec, Lifecycle):

initialize
result
initialized
tools/list
Erst Handshake, dann Tool-Discovery · gegen MCP-Spec & Instanz prüfen
→ initialize                 // protocolVersion: "2025-11-25", clientInfo: AuxData
← result                     // serverInfo + capabilities
→ notifications/initialized  // Session steht
→ tools/list
← result                     // [customer_lookup, ticket_create]
HTTP-Header bei Streamable HTTP: Der Client sendet JSON-RPC per POST an den MCP-Endpoint und akzeptiert application/json sowie text/event-stream. Nach der Initialisierung gehört die ausgehandelte Version in MCP-Protocol-Version; vergibt der Server eine Session, muss Mcp-Session-Id in Folge-Requests mit. Ob AuxData diese Header sichtbar macht oder intern setzt, gegen Instanz prüfen. (MCP-Spec 2025-11-25)

Merksatz: Erst initializeinitialized, dann erst tools/list / tools/call. Keine Tool-Calls vor dem Handshake.

Divergenz: Die AuxData-Handbücher nennen URI und Endpoint, aber keine konkrete MCP-Protokollversion. Vor produktiver Nutzung prüfen, ob der Server Streamable HTTP (2025-11-25 / 2025-06-18) oder Legacy HTTP+SSE erwartet. (gegen MCP-Spec & Instanz prüfen)
✎ Übung: Welche drei Pflichtfelder trägst du im Editor ein, bevor du „Neu laden" drückst?

✓ Integrationsschritte erledigt

Stufe 3 von 7

Tools entdecken

„Neu laden" — und das JSON-Schema je Tool lesen.

1„Neu laden" & die Listen-Methoden

„Neu laden" (AH 7.3, wörtlich) „fragt den Server nach verfügbaren Tools, Prompts und Resources ab." Auf Protokollebene löst das die Listen-Methoden tools/list, resources/list, prompts/list aus. (MCP-Spec)

Je Tool sichtbar (AH 7.3, wörtlich): Name, Beschreibung, JSON-Schema der erwarteten Argumente. Dieses inputSchema ist zentral, weil AuxData die Argumente aus Workflow-Variablen befüllt — ohne Schema weiß AuxData nicht, welche Felder das Tool erwartet.

2Ein Tool-Schema lesen

{
  "name": "customer_lookup",
  "description": "Findet Kundendaten anhand einer Kundennummer",
  "inputSchema": {
    "type": "object",
    "properties": {
      "customerId": { "type": "string" }
    },
    "required": ["customerId"]
  }
}

So liest man es: type: object = das Tool erwartet ein Objekt; properties = die erlaubten Felder mit Typ; required = Pflichtfelder. AuxData mappt customerId später auf eine Workflow-Variable (z. B. die Kundennummer aus der Eingabe).

3Tool, Resource oder Prompt?

customer_lookup
Tool (Aktion).
crm://schema/customer
Resource (lesbarer Kontext).
support_triage_prompt
Prompt (Vorlage).
Hinweis: „Umgebungsvariablen" im Editor = zusätzliche Parameter, die bei Tool-Aufrufen mitgesendet werden. (AH 7.3)
✎ Übung: Im Schema oben — welches Feld ist Pflicht, und welchen Typ hat es?

✓ Integrationsschritte erledigt

Stufe 4 von 7

Tool-Nutzung im Workflow

Vom Schema zum echten tools/call — Rückbezug C5.

1Zwei Nutzungswege

AH 7.3 (wörtlich) nennt zwei Wege: (1) Ein konfigurierter MCP-Server ist im Workflow-Schritt-Editor unter Vorverarbeitung oder Nachverarbeitung als Tool auswählbar. (2) Alternativ nutzen LLMs mit Tool-Use-Capability die Tools autonom, wenn der Administrator dies im Agent-Editor aktiviert hat.

Rückbezug C5: Genau diesen Workflow hast du in C5 als Nutzung gesehen — hier verstehst du die Mechanik darunter.

2Beispiel-Workflow (Supportfall)

Eingabe
customer_lookup
LLM-Schritt
ticket_create*
* nur nach Freigabe (Nachverarbeitung) · Helpdesk-Assistent der Muster GmbH

Eingabe Kundennummer + Frage → Vorverarbeitung customer_lookup(customerId) → Ergebnis in Variable ${customer}LLM-Schritt „Beantworte die Kundenfrage. Nutze Kundendaten: ${customer}" → optional Nachverarbeitung ticket_create(summary, priority) (nur nach Freigabe).

3tools/call: Request & Response

→ Request
{
  "jsonrpc": "2.0", "id": 3,
  "method": "tools/call",
  "params": {
    "name": "customer_lookup",
    "arguments": { "customerId": "K-1842" }
  }
}

← Response
{
  "jsonrpc": "2.0", "id": 3,
  "result": {
    "content": [{ "type": "text",
      "text": "{ status: Premium, offeneTickets: 1, vertrag: aktiv }" }],
    "isError": false
  }
}

Parameter-Mapping: Die arguments kommen aus Workflow-Variablen; das result.content wird in der Ergebnisvariable gespeichert und im Prompt referenziert.

Ergebnis weiterverwenden: Im Folge-Prompt referenzierst du die Ergebnisvariable über ${answer} (Vorschritt) bzw. ${result[N]} (1-basiert). Jeder MCP-/HTTP-Schritt kann sein Ergebnis als Versteckt markieren (intern weiterverarbeitet, nicht im Chat gezeigt) und optional in die Wissensdatenbank speichern (Neu / Anhängen / Überschreiben). (AH 5.9; 5)
Autonomer Tool-Use: Das LLM entscheidet selbst über den Aufruf — kritische Tools (z. B. ticket_create) nur mit Human-in-the-loop / Freigabe zulassen. (MCP-Spec, Sicherheit)
✎ Übung: Soll customer_lookup in die Vor- oder Nachverarbeitung — und warum?

✓ Integrationsschritte erledigt

Stufe 5 von 7

Eigenen MCP-Server anbinden

Felder ausfüllen, speichern, „Neu laden", Liste prüfen.

1Voraussetzung & Übersicht

Voraussetzung (AH 7.4): Organisations-Admin oder höher. MCP-Server werden auf Organisationsebene gepflegt und stehen dann allen Agenten der Organisation zur Verfügung.

Die Übersicht (AH 7.3) listet die eingetragenen Server mit Verbindungsstatus und Tool-Zahl.

2MCP-Server-Editor (Reiter Verbindung)

VerbindungFähigkeitenUmgebungsvariablen
CRM MCP Server
Name
CRM MCP Server
URIBasis-URL
https://mcp.example.com
Demo-Platzhalter — kein echter Endpunkt.
EndpointStandard /mcp
/mcp
AuthorizationBearer-Token oder API-Key
Bearer ${MCP_TOKEN}
Secret als Umgebungsvariable — nie im Klartext.
Umgebungsvariablenoptional, werden mitgesendet
optional
Echter MCP-Server-Editor (Demo-Instanz), Reiter Verbindung: Name, URI, Endpoint und Server-Status-Bereich
Echter MCP-Server-Editor an der Demo-Instanz (Reiter „Verbindung") — Demo-Werte (`mcp.example.com`), keine echten Endpunkte/Secrets
MCP-Server-Manager (offizielle Abbildung aus dem Admin-Handbuch)
Offizielle Abbildung aus dem Admin-Handbuch (Kap. 7) — der MCP-Server-Manager (Übersicht).
  1. Felder ausfüllen.
  2. Speichern.
  3. „Neu laden" drücken.
  4. Tool-/Resource-/Prompt-Liste prüfen (Name, Beschreibung, JSON-Schema).

3Demo-CRM-MCP (Schemas)

Tool      customer_lookup   inputSchema: { customerId: string (required) }
Tool      ticket_create     inputSchema: { summary: string, priority: enum[low,med,high] }
Resource  crm://schema/customer   Feldstruktur des CRM als lesbarer Kontext
Prompt    support_triage_prompt   Vorlage zur Erst-Triage eines Supportfalls
Kein Fake-Live-Test: Ohne echten Test-MCP-Server ist diese Stufe UI- und Konzept-Demo, kein simulierter „Live-Test". Für risikoarmes Üben gibt es öffentliche Demo-Server (everything-Server); ein filesystem-Server nur mit isoliertem Demo-Ordner — niemals mit Home-Verzeichnis, Kundendaten oder produktiven Shares.
✎ Übung: Welche zwei Felder im Editor sind Secret-relevant und gehören nicht in den Klartext?

✓ Integrationsschritte erledigt

Stufe 6 von 7

Sicherheit

Drei AuxData-Regeln — und die Risiken aus der MCP-Spec.

1AuxData-Regeln

AH 7.3 (wörtlich) nennt drei harte Regeln:

HTTPS + Zertifikat
nur HTTPS-Server mit validen Zertifikaten sind zugelassen.
URL-Whitelist
greift ebenfalls (wie bei HTTP-Services/Funktionen, AH 7.2).
Timeout
jede Tool-Ausführung mit 15-Sekunden-Timeout begrenzt.

Secrets (AH 7.5): API-Keys/Tokens gehören in Umgebungsvariablen, nicht in Prompt oder Body — sie liegen verschlüsselt in der Datenbank.

2Risiken aus der MCP-Spezifikation

Sicherheitsrisiken: Tools können externe Aktionen ausführen → Human-in-the-loop für kritische Tools; Prompt Injection aus Resource-Inhalten; Geheimnisse landen in Logs; nicht vertrauenswürdiger Server; harmlos klingende Tool-Beschreibung mit kritischer Wirkung; der 15-s-Timeout reicht für lange Jobs nicht. Bei Streamable HTTP: Origin validieren, Authentifizierung erzwingen. (MCP-Spec)

3Sicherheits-Checkliste

✓ Vor dem Produktivbetrieb

✎ Übung: Ein MCP-Server läuft nur über http:// — darfst du ihn in AuxData eintragen?

✓ Integrationsschritte erledigt

Stufe 7 von 7

Betrieb & Grenzen

Fehlerbilder lesen — und MCP richtig einordnen.

1Versions- und Transport-Grenzen

AH nennt URI/Endpoint, aber keine Protokollversion → Transport (stdio vs. Streamable HTTP), HTTP-Header und Version (2025-11-25 / 2025-06-18 / Legacy HTTP+SSE) sind implementierungsabhängig und vor Produktivbetrieb gegen Instanz + Server zu prüfen. (gegen MCP-Spec & Instanz prüfen)

Neue Spec-Fähigkeiten nicht blind voraussetzen: Die MCP-Spezifikation 2025-11-25 führt u. a. task-basierte Workflows für lange laufende Serverarbeit ein. AuxData begrenzt Tool-Ausführungen laut Handbuch weiterhin auf 15 Sekunden. Deshalb lange Jobs in AuxData nicht als automatisch unterstützt behandeln, sondern asynchrones Pattern, Polling oder separaten HTTP-/Workflow-Ansatz gegen Instanz testen.

2Drei Fehler-Ebenen

Protokoll-Fehler
error-Objekt (z. B. -32602 Invalid params) → Aufruf hat das Tool nicht erreicht/akzeptiert; Schritt abbrechen und loggen.
Tool-Fehler
result mit isError: true → Tool lief, meldet aber fachlichen Fehler; Fallback oder Nutzerhinweis.
Timeout
kein Ergebnis in 15 s (AuxData-Limit) → Workflow muss Abbruch/Retry definieren, nicht hängen bleiben.
← Tool-Fehler
{
  "jsonrpc": "2.0", "id": 4,
  "result": {
    "content": [{ "type": "text", "text": "Kunde K-9999 nicht gefunden" }],
    "isError": true
  }
}

3MCP vs. HTTP-Service vs. Funktion

HTTP-Service
ein einzelner Stecker für einen bekannten REST-Endpunkt mit fester Signatur.
Funktion
eigener ES5.1-Code (SQL/HTTP/Mail/KnowledgeDB) — vertieft in E4.
MCP
ein ganzer Werkzeugkasten, den AuxData entdecken kann (Tools/Resources/Prompts standardisiert).

Merksatz: einzelner REST-Call → HTTP-Service; eigene Logik → Funktion; standardisiertes externes Tool-Ökosystem → MCP.

Best Practices (AH 7.5): versionsgebunden arbeiten (Fremd-API ändert sich → neuer Server „v2" statt Signatur ändern); Tests pflegen; großzügig loggen, aber keine Secrets in Logs.

CRM-MCP protokolltief verstanden!

Du verstehst die CRM-MCP jetzt protokolltief — Rolle, Transport, Handshake, Tool-Discovery, Schemas, Workflow-Einsatz und Sicherheit — und kannst sie sicher anbinden. Mach das Quiz und geh dann weiter zu E4 — Funktionen & HTTP-Services mit ScriptEngine.

✎ Übung: Eine Fremd-API ändert ihre Tool-Signatur — änderst du den bestehenden MCP-Server oder legst du einen neuen an?

✓ Integrationsschritte erledigt

Kurz-Quiz

Sitzt MCP protokolltief?

7 Fragen aus den Stufen 1–7. Kein Zertifikat — zur Selbstkontrolle. Beliebig oft wiederholbar.

Frage 1 von 7
Lade Frage…