MCP-Server (claude.ai / Claude Desktop / Code / Cursor) – Entity Enricher Dokumentation

MCP-Server (Claude Desktop / Code / Cursor)

Entity Enricher liefert einen eingebetteten Model Context Protocol-Server unter /api/mcp – listen Sie Ihre Schemas auf, reichern Sie eine Entität an, prüfen Sie das Ergebnis und lösen Sie eine Klassifizierungswarnung alles innerhalb eines einzigen Claude-Chats. Kein Workflow-Editor erforderlich.

Warum MCP, wenn es bereits n8n + Make gibt?

Andere Form, anderer Anwendungsfall. Die n8n- und Make-Konnektoren binden die API für Workflow-Automatisierung ein: Trigger, geplante Läufe, mehrstufige Pipelines, persistenter Zustand. MCP bindet sie für den interaktiven Chat ein: spontane Fragen, explorative Anreicherungen, weiterführende Klärungen. Workflows sind Batch-förmig, Chats sind Konversations-förmig – die Oberfläche unterscheidet sich und damit auch die UX.

Das herausragende Feature, das nur MCP freischaltet: interaktive Wiederaufnahme der Klassifizierung. Wenn der Pre-Flight-Klassifikator Ihre Entität ablehnt (z. B. wenn Sie „Titan“ gegen ein Planet-Schema anreichern möchten, Titan aber ein Mond ist), müssen n8n/Make automatisch abbrechen, da sie nicht interaktiv sind. MCP zeigt Claude die Warnung an, Claude bittet Sie um Bestätigung, und bei „Ja“ wird das Tool erneut ohne den Klassifikator ausgeführt. Kein Fehler mitten in der Pipeline, kein Neustart von Grund auf.

Schnellstart

Option 1 — OAuth (empfohlen)

Für claude.ai, Claude Code, Cursor und jeden MCP-Client, der den standardmäßigen OAuth-Flow unterstützt. Kein API-Schlüssel zum Erstellen oder Einfügen — der Client erkennt den Autorisierungsserver automatisch.

  1. Fügen Sie Entity Enricher als Connector hinzu (in claude.ai: Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen, oder wählen Sie ihn aus dem Verzeichnis) mit der URL https://entityenricher.ai/api/mcp/.
  2. In Ihrem Browser öffnet sich der Zustimmungsbildschirm von Entity Enricher — melden Sie sich bei Bedarf an und klicken Sie auf Autorisieren. Die Verbindung handelt in Ihrem Namen mit Ihrer eigenen Rolle.
  3. Verwalten oder widerrufen Sie die Verbindung jederzeit unter API-Schlüssel → Verbundene Apps — ein Widerruf unterbricht den Zugriff sofort.

Option 2 — API-Schlüssel (statische JSON-Konfiguration)

Für Clients, die über eine JSON-Datei statt über eine interaktive Anmeldung konfiguriert werden (Claude Desktop, Continue, Zed).

  1. 1. Erstellen Sie einen API-Schlüssel
    In der Entity-Enricher-Weboberfläche: Einstellungen → API-Schlüssel → Neuer Organisationszugriffsschlüssel. Wählen Sie eine Rolle (Operator für überwiegend lesenden Zugriff, Editor zum Erstellen/Bearbeiten von Schemas, Owner für volle Kontrolle). Kopieren Sie den Wert ent_… – er wird nur einmal angezeigt.
  2. 2. Registrieren Sie sich in Ihrem MCP-Client

    Für Claude Desktop bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows):

    {
      "mcpServers": {
        "entityenricher": {
          "url": "https://entityenricher.ai/api/mcp/",
          "headers": { "X-API-Key": "ent_your_key_here" }
        }
      }
    }

    Starten Sie Claude Desktop neu. Derselbe Ausschnitt funktioniert für Claude Code, Cursor, Continue und Zed – jeden MCP-kompatiblen Client.

Ausprobieren

In einem neuen Chat: „Liste meine Entity-Enricher-Schemas auf und reichere dann Sanofi gegen das Schema für Pharmaunternehmen mit Claude Sonnet an.“ Claude erkennt die Tools automatisch, wählt das richtige aus, fordert Sie auf, das Modell und die Schema-Auswahl zu bestätigen, und streamt das Ergebnis inline.

Tools

29 Tools decken die gesamte Oberfläche für Anreicherung und Schema-Erstellung ab. Das Verhalten ist identisch mit den REST-Endpunkten, die sie kapseln (gleiche Validierung, Abrechnung, Plan-Limits) — wenn die Web-UI eine Korrektur erhält, erhält MCP sie ebenfalls. Länger laufende Aufgaben (Batch-Anreicherung, Beispielgenerierung, Benchmark-Läufe) sind asynchron: Das Start-Tool gibt eine job_id zurück, Claude fragt get_job_status ab und ruft die gespeicherten Ausgaben aus Ihren Datensätzen ab, sobald der Job abgeschlossen ist.

KategorieToolBeschreibung
Entdeckunglist_modelsVerfügbare LLM-Modelle + die profile_limits Ihres Tarifs auflisten, damit Claude sich selbst drosselt, bevor HTTP 402 erreicht wird.
Schemaslist_schemasGespeicherte JSON-Schemas in Ihrer Organisation auflisten, angeheftete zuerst.
Schemasget_schemaRufen Sie den vollständigen Inhalt eines Schemas anhand der UUID ab.
Schemasgenerate_sampleGenerieren Sie eine realistische Beispiel-Entität aus einer Beschreibung des Entitätstyps — der natürliche erste Schritt vor der Schema-Generierung. Mit Anhängen kann ein interaktiver Planer mit Rückfragen pausieren.
Schemascreate_schema_from_sampleGenerieren Sie ein JSON-Schema aus einem Beispiel-Entitäts-Dictionary per LLM, optional gestützt auf hochgeladene Quelldokumente (attachment_ids). Das Ergebnis wird automatisch gespeichert.
Schemasedit_schemaÄnderung eines bestehenden Schemas in natürlicher Sprache. Gibt neuen Inhalt + 5 Folgevorschläge zurück.
Schemassave_schemaSpeichern Sie ein von Claude direkt erstelltes Schema — kein LLM-Aufruf, keine Kosten, serverseitig validiert.
Schemasupdate_schemaBenennen Sie ein gespeichertes Schema um, ersetzen Sie den Inhalt, taggen Sie es neu oder pinnen Sie es — ohne LLM-Aufruf.
Schemasdelete_schemaSoft-Löschen Sie ein gespeichertes Schema anhand der UUID.
Anreicherungenrich_entityMulti-Modell-Anreicherung mit optionaler Auto-Fusion. Akzeptiert eine optionale attachment_ids-Liste. Klassifizierungskonflikte geben eine Antwort ohne Fehler zurück, sodass Claude den Benutzer um Bestätigung und einen erneuten Versuch bitten kann.
Anreicherungstart_batch_enrichmentReichern Sie bis zu 100 Entitäten asynchron an — vollständige Pipeline pro Entität mit automatischer Fusion. Gibt eine job_id zurück; die Ergebnisse landen in Ihren Datensätzen.
Anreicherungfetch_entitiesRufen Sie serverseitig ein JSON-Array von Entitäten aus einer externen REST-API ab (bearer / api_key / basic auth) — passend zur Batch-Anreicherung.
Anreicherungretry_expertisesFühren Sie nur die fehlgeschlagenen Fachbereiche eines Datensatzes erneut aus und führen Sie die wiederhergestellten Werte zurück — keine erneute Zahlung für bereits Erfolgreiches.
Anreicherungmerge_recordsFühren Sie 2+ bestehende Datensätze zu einem fusionierten Ergebnis zusammen — regelbasiert oder mit einem LLM-Arbitrierungsmodell.
Jobsget_job_statusFragen Sie jeden asynchronen Job ab (Batch, Beispielgenerierung, Benchmark-Lauf): Fortschrittszähler, abschließende Zusammenfassungen und ausstehende Rückfragen.
Jobscancel_jobBrechen Sie einen ausstehenden, laufenden oder pausierten Job ab.
Jobsanswer_job_questionBeantworten Sie die Rückfragen eines pausierten Jobs und setzen Sie ihn fort — die interaktive Hälfte von generate_sample.
Benchmarkslist_benchmark_scenariosListen Sie Ihre gespeicherten Benchmark-Szenarien auf (wiederverwendbare Anreicherungstests).
Benchmarksget_benchmark_scenarioEin Szenario mit seinen pro Modell bewerteten Ergebnissen (Qualität / Kosten / Geschwindigkeit).
Benchmarkscreate_benchmark_scenarioErstellen Sie ein Szenario: Schema + feste Entität + Strategie + Bewertungs-Judge. Owner-Rolle + ein Plan mit Benchmarks erforderlich.
Benchmarksupdate_benchmark_scenarioAktualisieren Sie die Testdefinition oder Bewertungskonfiguration eines Szenarios; bestehende Ergebnisse werden als veraltet markiert.
Benchmarksset_benchmark_referenceSpeichern Sie die Gold-Referenzausgabe und markieren Sie sie als verifiziert — erforderlich vor einem Lauf.
Benchmarksdelete_benchmark_scenarioLöschen Sie ein Szenario und seine Ergebnisse.
Benchmarksrun_benchmarkFühren Sie ein Szenario mit einer expliziten Modellliste, jedem aktiven Modell ausgewählter Provider oder allen aktiven Modellen aus — jedes Ergebnis wird automatisch anhand der Referenz bewertet.
Datensätzelist_recordsBlättern Sie durch vergangene Records mit Filtern nach Typ, Erfolg, Modell, Job und Freitextsuche.
Datensätzeget_recordVollständige strukturierte Ausgabe + Validierungsfehler für einen Record.
Datensätzeget_statsAggregierte Organisationsstatistiken: Summen, Erfolgsquote, Tokens, Kosten.
Anhängeupload_attachmentLaden Sie eine base64-Datei hoch (filename, content_base64, media_type?) und erhalten Sie deren Attachment-ID zur Verwendung in enrich_entity.
Anhängedelete_attachmentEinen Anhang anhand der ID löschen – ein praktischer Aufräumschritt nach der Anreicherung.

Ressourcen

Ressourcen ermöglichen es Claude, Daten zu durchsuchen, ohne einen Tool-Aufruf zu verbrauchen – der LLM-Client behandelt sie wie Dateien. Beide Ressourcentypen werden für eine kostengünstige Inline-Anzeige als Markdown gerendert.

URI-VorlageBeschreibung
enricher://schemas/{schema_id}Ein gespeichertes Schema, dargestellt als Markdown – Metadaten-Header + das GeneratedJsonSchema als eingerahmter JSON-Block.
enricher://records/{record_id}Ein vergangener Anreicherungs-Datensatz, dargestellt als Markdown – Metadaten + strukturierte Ausgabe + Validierungsfehler.

Das herausragende Feature: interaktive Wiederaufnahme der Klassifizierung

Wenn Sie enrich_entity anweisen, ein Klassifizierungsmodell zu verwenden, und die Entity nicht zum Schema-Typ passt, gibt das Tool eine fehlerfreie Antwort mit strukturierten Details zurück. Claude liest sie, legt Ihnen die Begründung dar und versucht es (nach Ihrer Bestätigung) erneut mit force_after_classification_warning=true – wodurch der Klassifikator beim erneuten Versuch weggelassen wird.

{
  "success": false,
  "error_code": "classification_warning",
  "message": "Pre-flight classification rejected the entity. ...",
  "classification": {
    "status": "mismatch",
    "reasoning": "Titan is a moon of Saturn, not a planet.",
    "confidence": 0.97
  },
  "job_id": "..."
}

n8n und Make brechen bei diesem Status automatisch ab, weil sie den Benutzer nicht mitten in der Pipeline fragen können. MCP kann das, und dieser eine Unterschied ist der Grund, warum der Connector existiert.

Dieselbe Interaktivität treibt einen zweiten Ablauf an: Wenn generate_sample mit Quelldokumenten läuft, kann sein Planer mit strukturellen Rückfragen pausieren. Claude leitet sie an Sie weiter und setzt den Job mit answer_job_question fort — Runde für Runde, bis das Beispiel generiert ist.

Fehlercodes

Tool-Fehler werden in strukturierte Dicts mit einem error_code-Feld überführt, sodass Claude Muster abgleichen kann, statt Freitext zu parsen. Die HTTP-Ebene bildet klar ab: 402 → Kontingent- oder Credit-Fehler, 422 → Klassifizierungs-Warnung, 504 → Timeout, 502 → Upstream-LLM-Fehler.

error_codeWann
invalid_requestUngültige UUID, sich gegenseitig ausschließende Argumente (schema_id + target_schema) oder Validierung des Anfragetexts fehlgeschlagen.
prompt_limit_reachedTägliches/wöchentliches/monatliches Prompt-Kontingent erschöpft (HTTP 402). Der Body enthält period, limit, used, needed.
insufficient_creditsFür die Org ist die Abrechnung aktiviert, aber das Credit-Guthaben ist zu gering, um den Job zu starten (HTTP 402). Der Body enthält das Guthaben und eine Kauf-URL.
model_limit_exceededMehr Modelle angefordert, als der Tarif erlaubt (HTTP 402). Gibt Limit + Anforderung zurück.
language_limit_exceededMehr Sprachen angefordert, als der Tarif erlaubt (HTTP 402).
concurrent_job_limit_reachedZu viele aktive Anreicherungs-Aufträge für diese Organisation. Warten Sie oder führen Sie ein Upgrade des Tarifs durch.
classification_warning⚡ Kein Fehler: Der Pre-Flight-Klassifikator hat die Entität abgelehnt. Die Antwort enthält den Klassifizierungskontext, damit Claude den Nutzer um Bestätigung bitten und mit force_after_classification_warning=true erneut versuchen kann.
benchmarks_not_in_planBenchmark-Tools erfordern die Owner-Rolle und einen Plan, der Modell-Benchmarks umfasst (HTTP 403).
enrichment_timeoutJob hat timeout_seconds überschritten. Empfehlung: weniger Modelle oder die Entität aufteilen.
schema_generation_timeoutDie Schemagenerierung hat timeout_seconds überschritten.
schema_generation_failedUpstream-LLM-Fehler bei der Schema-Generierung (HTTP 502).
cancelledJob wurde während der Ausführung abgebrochen (HTTP 499).
not_foundDie Schema- oder Datensatz-ID existiert nicht in Ihrer Organisation.
http_errorAuffangregel für HTTP-Fehler ohne strukturierten Detailtext.

Bewusste Auslassungen

Siehe auch