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.
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.
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.
https://entityenricher.ai/api/mcp/.Für Clients, die über eine JSON-Datei statt über eine interaktive Anmeldung konfiguriert werden (Claude Desktop, Continue, Zed).
ent_… – er wird nur einmal angezeigt.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.
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.
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.
| Kategorie | Tool | Beschreibung |
|---|---|---|
| Entdeckung | list_models | Verfügbare LLM-Modelle + die profile_limits Ihres Tarifs auflisten, damit Claude sich selbst drosselt, bevor HTTP 402 erreicht wird. |
| Schemas | list_schemas | Gespeicherte JSON-Schemas in Ihrer Organisation auflisten, angeheftete zuerst. |
| Schemas | get_schema | Rufen Sie den vollständigen Inhalt eines Schemas anhand der UUID ab. |
| Schemas | generate_sample | Generieren 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. |
| Schemas | create_schema_from_sample | Generieren 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. |
| Schemas | edit_schema | Änderung eines bestehenden Schemas in natürlicher Sprache. Gibt neuen Inhalt + 5 Folgevorschläge zurück. |
| Schemas | save_schema | Speichern Sie ein von Claude direkt erstelltes Schema — kein LLM-Aufruf, keine Kosten, serverseitig validiert. |
| Schemas | update_schema | Benennen Sie ein gespeichertes Schema um, ersetzen Sie den Inhalt, taggen Sie es neu oder pinnen Sie es — ohne LLM-Aufruf. |
| Schemas | delete_schema | Soft-Löschen Sie ein gespeichertes Schema anhand der UUID. |
| Anreicherung | enrich_entity | Multi-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. |
| Anreicherung | start_batch_enrichment | Reichern 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. |
| Anreicherung | fetch_entities | Rufen Sie serverseitig ein JSON-Array von Entitäten aus einer externen REST-API ab (bearer / api_key / basic auth) — passend zur Batch-Anreicherung. |
| Anreicherung | retry_expertises | Fü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. |
| Anreicherung | merge_records | Führen Sie 2+ bestehende Datensätze zu einem fusionierten Ergebnis zusammen — regelbasiert oder mit einem LLM-Arbitrierungsmodell. |
| Jobs | get_job_status | Fragen Sie jeden asynchronen Job ab (Batch, Beispielgenerierung, Benchmark-Lauf): Fortschrittszähler, abschließende Zusammenfassungen und ausstehende Rückfragen. |
| Jobs | cancel_job | Brechen Sie einen ausstehenden, laufenden oder pausierten Job ab. |
| Jobs | answer_job_question | Beantworten Sie die Rückfragen eines pausierten Jobs und setzen Sie ihn fort — die interaktive Hälfte von generate_sample. |
| Benchmarks | list_benchmark_scenarios | Listen Sie Ihre gespeicherten Benchmark-Szenarien auf (wiederverwendbare Anreicherungstests). |
| Benchmarks | get_benchmark_scenario | Ein Szenario mit seinen pro Modell bewerteten Ergebnissen (Qualität / Kosten / Geschwindigkeit). |
| Benchmarks | create_benchmark_scenario | Erstellen Sie ein Szenario: Schema + feste Entität + Strategie + Bewertungs-Judge. Owner-Rolle + ein Plan mit Benchmarks erforderlich. |
| Benchmarks | update_benchmark_scenario | Aktualisieren Sie die Testdefinition oder Bewertungskonfiguration eines Szenarios; bestehende Ergebnisse werden als veraltet markiert. |
| Benchmarks | set_benchmark_reference | Speichern Sie die Gold-Referenzausgabe und markieren Sie sie als verifiziert — erforderlich vor einem Lauf. |
| Benchmarks | delete_benchmark_scenario | Löschen Sie ein Szenario und seine Ergebnisse. |
| Benchmarks | run_benchmark | Fü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ätze | list_records | Blättern Sie durch vergangene Records mit Filtern nach Typ, Erfolg, Modell, Job und Freitextsuche. |
| Datensätze | get_record | Vollständige strukturierte Ausgabe + Validierungsfehler für einen Record. |
| Datensätze | get_stats | Aggregierte Organisationsstatistiken: Summen, Erfolgsquote, Tokens, Kosten. |
| Anhänge | upload_attachment | Laden Sie eine base64-Datei hoch (filename, content_base64, media_type?) und erhalten Sie deren Attachment-ID zur Verwendung in enrich_entity. |
| Anhänge | delete_attachment | Einen Anhang anhand der ID löschen – ein praktischer Aufräumschritt nach der Anreicherung. |
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-Vorlage | Beschreibung |
|---|---|
| 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. |
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.
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_code | Wann |
|---|---|
| invalid_request | Ungültige UUID, sich gegenseitig ausschließende Argumente (schema_id + target_schema) oder Validierung des Anfragetexts fehlgeschlagen. |
| prompt_limit_reached | Tägliches/wöchentliches/monatliches Prompt-Kontingent erschöpft (HTTP 402). Der Body enthält period, limit, used, needed. |
| insufficient_credits | Fü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_exceeded | Mehr Modelle angefordert, als der Tarif erlaubt (HTTP 402). Gibt Limit + Anforderung zurück. |
| language_limit_exceeded | Mehr Sprachen angefordert, als der Tarif erlaubt (HTTP 402). |
| concurrent_job_limit_reached | Zu 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_plan | Benchmark-Tools erfordern die Owner-Rolle und einen Plan, der Modell-Benchmarks umfasst (HTTP 403). |
| enrichment_timeout | Job hat timeout_seconds überschritten. Empfehlung: weniger Modelle oder die Entität aufteilen. |
| schema_generation_timeout | Die Schemagenerierung hat timeout_seconds überschritten. |
| schema_generation_failed | Upstream-LLM-Fehler bei der Schema-Generierung (HTTP 502). |
| cancelled | Job wurde während der Ausführung abgebrochen (HTTP 499). |
| not_found | Die Schema- oder Datensatz-ID existiert nicht in Ihrer Organisation. |
| http_error | Auffangregel für HTTP-Fehler ohne strukturierten Detailtext. |
get_stats liefert Zusammenfassungen auf Chat-Seite; die vollständigen Dashboards bleiben in der App.