MCP Server (Claude Desktop / Code / Cursor)

Gebruik Entity Enricher vanuit een MCP-compatibele client om modelkennis en documenten om te zetten in gestructureerde data. Ontwerp schema's, verrijk entiteiten in meerdere talen, fuseer modellen, cureer semantische identiteiten, benchmark de kwaliteit en synchroniseer relationele tabellen naar je eigen database.

Schemavalidatie en overeenstemming tussen modellen garanderen geen feitelijke juistheid of actualiteit. Bekijk bronnen, fouten en gedeeltelijke databaseresultaten. De MCP biedt conversationele toegang; n8n en Make bieden workflowautomatisering op dezelfde service.

Snel aan de slag

Optie 1 — OAuth (aanbevolen)

Voor claude.ai, Claude Code, Cursor en elke MCP-client die de standaard OAuth-flow ondersteunt. Geen API-sleutel om aan te maken of te plakken — de client ontdekt de autorisatieserver automatisch.

  1. Voeg Entity Enricher toe als connector (in claude.ai: Instellingen → Connectors → Aangepaste connector toevoegen, of kies het uit de directory) met URL https://entityenricher.ai/api/mcp/.
  2. Je browser opent het toestemmingsscherm van Entity Enricher — meld je aan indien nodig en klik op Autoriseren. De verbinding handelt namens jou met je eigen rol.
  3. Beheer of trek de verbinding op elk moment in onder API Keys → Verbonden apps — intrekken beëindigt de toegang onmiddellijk.
  1. 1De organisatie waartoe de toestemming beperkt is
  2. 2De verbinding handelt met je eigen rol, nooit met een ruimere
  3. 3Op elk moment in te trekken via Verbonden apps
Het enige scherm van Entity Enricher dat het OAuth-pad je laat zien: het noemt de organisatie waartoe de toestemming beperkt is en de rol waarmee die zal handelen — die van jou.

Optie 2 — API-sleutel (statische JSON-configuratie)

Voor clients die via een JSON-bestand worden geconfigureerd in plaats van een interactieve aanmelding (Claude Desktop, Continue, Zed).

  1. 1. Maak een API-sleutel aan
    In de Entity Enricher-webinterface: Instellingen → API-sleutels → Nieuwe organisatietoegangssleutel. Kies een rol (operator voor voornamelijk lezen, editor voor het aanmaken/bewerken van schema's, owner voor volledige controle). Kopieer de ent_…-waarde — die wordt maar één keer getoond.
  2. 2. Registreer in je MCP-client

    Bewerk voor Claude Desktop het bestand ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) of %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

    Gebruik het endpoint en de header hierboven in de remote MCP-configuratie van je client. Configuratiesyntaxis en ondersteuning voor HTTP-transport verschillen per client.

Probeer het

In een nieuwe chat: "Toon mijn Entity Enricher-schema's en verrijk daarna Sanofi tegen het schema voor farmaceutische bedrijven met Claude Sonnet."De client kan de tools ontdekken en gebruiken om een schema te selecteren en verrijking uit te voeren. Bevestigingsvragen, voortgangsweergave en toegang tot resources hangen af van de client.

Tools

58 tools dekken het opstellen van schema's, verrijking, benchmarks, Database Sync en semantische identiteiten. Ze hergebruiken backendservices voor validatie, facturering en verwerking. Elke tool heeft zijn eigen ondersteunde parameters. Langlopend werk (batchverrijking, samplegeneratie, benchmarkruns) is asynchroon: de starttool geeft een job_id terug, de client pollt get_job_statusen leest de resulterende records of benchmarkresultaten. Bekijk fouten en gedeeltelijke resultaten voordat je succes rapporteert.

CategorieToolBeschrijving
Ontdekkinglist_modelsToon beschikbare modelsleutels, nominale mogelijkheden, talen, strategieën, automatisch geselecteerde standaardwaarden en de profile_limits van de organisatie.
Schema'sgenerate_sampleGenereer bewerkbare voorbeeld-JSON uit een vrijetekstverzoek voor het opstellen van schema's.
Schema'slist_schemasToon opgeslagen schema's in je organisatie, vastgezette eerst.
Schema'sget_schemaLees een opgeslagen schema met de properties, annotaties en input_contract.
Schema'screate_schema_from_sampleGenereer een schema uit beoordeelde samples en sla het automatisch op; retourneert schema_id, schema-inhoud en recordkoppelingen.
Schema'ssave_schemaSla een rechtstreeks geschreven schema op en geef de ID en link terug.
Schema'supdate_schemaBewerk de metadata van een opgeslagen schema of vervang de volledige schema_content zonder LLM-aanroep.
Schema'sget_schema_partLees alleen het schemafragment dat nodig is voor een bewerking.
Schema'sget_enum_candidatesToon waargenomen waarden buiten de huidige woordenlijst van elke open enum, met aantallen uit recente verrijkingsrecords.
Schema'supdate_schema_propertyBewerk of verwijder één property via het pad zonder het volledige schema te vervangen.
Schema'sadd_schema_propertyVoeg een property toe onder de root (parent_path='), een objectpad of '$defs.X'.
Schema'smove_schema_propertyVerplaats één property naar de root, een objectpad of '$defs.X', met behoud van de flags en expertise ervan.
Schema'sresolve_unify_proposalHandel één openstaand unificatievoorstel voor entiteitstypen uit get_schema af.
Schema'snest_schema_regionMaterialiseer een entiteitsregio uit de x-entityMap van get_schema.
Schema'spublish_schemaPubliceer de werkkopie van een database-gekoppeld schema als het contract dat door verrijking en replica's wordt gebruikt.
Schema'sdelete_schemaSoft-delete een opgeslagen schema op UUID.
Schema'sanalyze_sampleAnalyseer de ambiguïteit van properties in samples en de identiteitsscoping van relaties vóór het genereren van het schema.
Schema'sanalyze_schemaAnalyseer de ambiguïteit van properties en de identiteitsscoping van relaties in een opgeslagen schema, en schrijf annotaties naar het schema.
Verrijking & fusiestart_batch_enrichmentStart betaalde asynchrone verrijking van een entiteitenlijst tegen precies één van schema_id of target_schema.
Verrijking & fusieenrich_entityVerrijk één entiteit tegen precies één van schema_id of target_schema, met gestructureerde output, record_id, kosten en een eventueel databaseresultaat.
Verrijking & fusieretry_expertisesProbeer alleen de mislukte expertisedomeinen van een bestaand record opnieuw, werk vervolgens de output ervan bij en probeer de fusie/synchronisatie van de run.
Verrijking & fusiemerge_recordsFuseer twee of meer records van dezelfde entiteit tot een nieuw arbitragerecord.
Taakbeheerget_job_statusLees de status, voortgang en compacte eindsamenvatting van een taak, met de opgeslagen record-ID's.
Taakbeheercancel_jobVraag annulering aan van een wachtende, lopende of gepauzeerde LLM-taak.
Taakbeheeranswer_job_questionHervat een gepauzeerde taak met antwoorden op de vragen die bij de pauze zijn teruggegeven.
Records & statistiekenlist_recordsToon compacte, gepagineerde records in je organisatie, meest recente eerst.
Records & statistiekenget_recordLees de structured_output, entity_input_data, validatiefouten, expertise-oordelen en metrics van één opgeslagen record.
Records & statistiekenget_statsLees organisatiebrede recordtotalen, slagingspercentage, tokens en kostenoverzicht.
Benchmarkslist_benchmark_scenariosToon compacte samenvattingen van benchmarkscenario's en het totaal.
Benchmarksget_benchmark_scenarioLees één benchmarkscenario met kwaliteits-, kosten- en snelheidsresultaten per model.
Benchmarksget_benchmark_scenario_resultsFilter, rangschik en beperk de benchmarkresultaten per model van een scenario.
Benchmarkscreate_benchmark_scenarioMaak een herbruikbare benchmark met een verplichte scorebeoordelaar.
Benchmarksupdate_benchmark_scenarioBewerk de testdefinitie of scoreconfiguratie van een benchmark.
Benchmarksset_benchmark_referenceSla de gouden referentie op voor een verrijkings- of schemageneratiebenchmark.
Benchmarksrevert_benchmark_reference_updatesMaak automatische bewerkingen ongedaan die een scoringsronde heeft aangebracht in de referentie van een scenario.
Benchmarksdelete_benchmark_scenarioVerwijder een benchmarkscenario en de opgeslagen resultaten ervan.
Benchmarksrun_benchmarkStart betaalde asynchrone uitvoering en scoring van een benchmark.
Bijlagenupload_attachmentUpload base64-bestandsbytes als herbruikbaar bronmateriaal; geeft id en requires_capability terug.
Bijlagendelete_attachmentVerwijder een bijlage in je organisatie permanent, inclusief het opgeslagen bestand.
Database Synclist_database_syncsToon de databaseregistraties, gekoppelde schema's, opties en synchosts van een opgeslagen schema.
Database Synclist_entity_statesBlader door de huidige samengevoegde entiteitsrijen van een schema, niet door records per run.
Database Synccreate_database_syncRegistreer een opgeslagen schema voor relationele synchronisatie naar PostgreSQL, MySQL of SQLite.
Database Syncassign_sync_hostWijs de host toe die een Database Sync provisioneert, of maak deze leeg.
Database Syncclassify_database_modelStart een betaalde analyse die databasesleutels, SQL-types, indexen en relatie-eigenaarschap voorstelt voor een gekoppeld schema.
Database Syncdelete_database_syncVerwijder een databaseregistratie en de deltas in de wachtrij, waarmee de feed stopt.
Database Syncget_database_setup_instructionsGeeft niet-geheime installatie-instructies, in de browser bevestigde koppeling en uitvoerinstructies voor een ee-database sync-client.
Database Syncfetch_database_deltasLees het volgende geordende venster met SQL-delta's en canonieke payloads voor een database sync.
Database Syncack_database_deltasBevestig elke delta via up_to_id na succesvolle toepassing, waarmee de lease wordt vrijgegeven.
Database Syncsync_records_to_databaseValideer opgeslagen of aangeleverde verrijkingsoutput en injecteer die in de entiteitenlaag en gekoppelde syncs.
Semantische ID'slist_semantic_conceptsBlader door de concepten van je organisatie met aliassen, gebruiksaantallen en type-/modelfacetten.
Semantische ID'sget_semantic_conceptLees de aliassen, identiteitsbronsleutels, gekoppelde records en dichtstbijzijnde buren van één concept binnen zijn eigen type/model-slice.
Semantische ID'sprobe_semantic_conceptBekijk een voorbeeld van identiteitsresolutie zonder een concept toe te voegen of het gebruik ervan te verhogen.
Semantische ID'sadd_semantic_conceptVoeg een identiteitsconcept toe met nul gebruik, of voeg tekst toe als alias met alias_of.
Semantische ID'supdate_concept_aliasVerwijder of promoveer een conceptalias met alias-ID's uit get_semantic_concept.
Semantische ID'simport_semantic_conceptsLos 1..1000 teksten op tegen één concepttype.
Semantische ID'smerge_semantic_conceptsVoeg een verliezend concept samen in een winnend concept.
Semantische ID'sdelete_semantic_conceptsVerwijder concepten geselecteerd op ids, concept_types of unused_only.
Semantische ID'smigrate_semantic_embeddingsInspecteer of migreer de conceptembeddingruimte van de organisatie.

Workflowgidsen, geladen wanneer nodig

Serverinstructies leggen de beschikbare workflows uit; toolbeschrijvingen leggen afzonderlijke aanroepen uit. Voor modelleringsbeslissingen of herstel kan je client de gidsindex lezen op enricher://docs en een gids kiezen via MCP-resources. Het lezen van een gids voert geen model uit. De links hieronder openen dezelfde Engelstalige gidsen in de openbare repository.

Resources

Resources stellen schema- en recordgegevens plus workflowgidsen beschikbaar als Markdown. Clients bepalen zelf hoe ze die vinden en laden; resource-inhoud kan nog steeds modelcontext verbruiken.

URI-sjabloonBeschrijving
enricher://docsIndex van de workflowgidsen, elk beschikbaar op de vermelde resource-URI.
enricher://schemas/{schema_id}Een opgeslagen werkkopie van een schema als Markdown; gebruik get_schema met version="published" voor het actieve gekoppelde contract.
enricher://records/{record_id}Een eerder verrijkingsrecord weergegeven als Markdown — metadata + gestructureerde output + validatiefouten.

Interactieve classificatieafhandeling

Wanneer je enrich_entity vraagt om een classificatiemodel te gebruiken en de entiteit niet overeenkomt met het schematype, retourneert de tool een niet-fout-respons met gestructureerde details. Claude leest het, toont je de redenering en probeert het (na jouw bevestiging) opnieuw met force_after_classification_warning=true — waardoor de classifier bij de nieuwe poging wordt overgeslagen.

{
  "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": "..."
}

De MCP-respons behoudt de classificatiedetails zodat je client de beslissing kan uitleggen voordat er een nieuwe aanroep wordt gestart.

Dezelfde interactiviteit drijft een tweede flow aan: wanneer generate_sample met brondocumenten draait, kan de planner pauzeren met structurele verduidelijkingsvragen. Claude geeft ze aan je door en hervat de job met answer_job_question — ronde na ronde, totdat de sample is gegenereerd.

Foutcodes

De meeste toolfouten leveren een gestructureerd object met een error_code-veld, zodat de client onderscheid kan maken tussen quota-, classificatie-, time-out- en providerfouten. Sommige oudere responses bevatten alleen een error- of message-veld; inspecteer zowel het werkelijke resultaat als de transportstatus.

error_codeWanneer
invalid_requestOngeldige UUID, wederzijds uitsluitende argumenten (schema_id + target_schema), of validatie van de request-body mislukt.
prompt_limit_reachedDagelijks / wekelijks / maandelijks prompt-quotum uitgeput (HTTP 402). De body bevat period, limit, used en needed.
insufficient_creditsOrg heeft facturering ingeschakeld maar het creditsaldo is te laag om de taak te starten (HTTP 402). De body bevat het saldo en een aankoop-URL.
model_limit_exceededMeer modellen aangevraagd dan het plan toestaat (HTTP 402). Geeft limiet + aangevraagd terug.
language_limit_exceededMeer talen aangevraagd dan het plan toestaat (HTTP 402).
concurrent_job_limit_reachedTe veel actieve verrijkingstaken voor deze organisatie. Wacht of upgrade je abonnement.
classification_warning⚡ Geen fout: de pre-flight classifier heeft de entiteit afgewezen. Het antwoord bevat de classificatiecontext zodat Claude de gebruiker kan vragen om te bevestigen en opnieuw te proberen met force_after_classification_warning=true.
benchmarks_not_in_planHet plan van de organisatie bevat geen Model Benchmarks (HTTP 403). Benchmarktools die wijzigingen aanbrengen, controleren ook de eigenaarsrol.
ambiguity_check_disabledanalyze_schema is aangeroepen op een schema waarvan de ambiguïteitscontrole is uitgeschakeld (HTTP 400). Schakel deze eerst weer in via update_schema met ambiguity_check_enabled=true.
enrichment_timeoutJob overschreed timeout_seconds. Overweeg minder modellen of splits de entity.
schema_generation_timeoutSchemageneratie heeft timeout_seconds overschreden.
schema_generation_failedUpstream-LLM-fout tijdens schema-generatie (HTTP 502).
model_output_invalidHet model gaf uitvoer terug die niet overeenkomt met het schema (HTTP 502). De body bevat de naam van het model, het pad van de problematische eigenschap en retryable: true — roep de tool opnieuw aan of kies een sterker model.
cancelledJob werd tijdens de run geannuleerd (HTTP 499).
not_foundSchema- of record-ID bestaat niet in je organisatie.
http_errorVerzamelpost voor HTTP-fouten zonder gestructureerde detailinhoud.

Bewuste weglatingen

Zie ook