Server MCP (Claude Desktop / Code / Cursor)

Utilizzare Entity Enricher da un client compatibile con MCP per trasformare la conoscenza dei modelli e i documenti in dati strutturati. Progettare schemi, arricchire entità in più lingue, fondere i modelli, curare le identità semantiche, misurare la qualità con i benchmark e sincronizzare tabelle relazionali sul proprio database.

La validazione dello schema e l'accordo tra i modelli non garantiscono l'accuratezza fattuale né l'aggiornamento dei dati. Esaminare le fonti, gli errori e gli esiti parziali sul database. L'MCP fornisce l'accesso conversazionale; n8n e Make offrono l'automazione dei flussi di lavoro sullo stesso servizio.

Avvio rapido

Opzione 1 — OAuth (consigliata)

Per claude.ai, Claude Code, Cursor e qualsiasi client MCP che supporti il flusso OAuth standard. Nessuna API key da creare o incollare: il client individua automaticamente il server di autorizzazione.

  1. Aggiungere Entity Enricher come connettore (in claude.ai: Impostazioni → Connettori → Aggiungi connettore personalizzato, oppure selezionarlo dalla directory) con l'URL https://entityenricher.ai/api/mcp/.
  2. Il browser apre la schermata di consenso di Entity Enricher: effettuare l'accesso se necessario e fare clic su Autorizza. La connessione agisce per conto dell'utente con il suo stesso ruolo.
  3. È possibile gestire o revocare la connessione in qualsiasi momento da API Keys → App connesse: la revoca interrompe immediatamente l'accesso.
  1. 1L'organizzazione a cui è limitata l'autorizzazione
  2. 2La connessione agisce con il proprio ruolo, mai con uno più ampio
  3. 3Revocabile in qualsiasi momento da App connesse
L'unica schermata di Entity Enricher mostrata dal percorso OAuth: indica l'organizzazione a cui è limitata l'autorizzazione e il ruolo con cui agirà — quello dell'utente.

Opzione 2 — API key (configurazione JSON statica)

Per i client configurati tramite un file JSON anziché con un accesso interattivo (Claude Desktop, Continue, Zed).

  1. 1. Crea una chiave API
    Nell'interfaccia web di Entity Enricher: Impostazioni → Chiavi API → Nuova chiave di accesso organizzazione. Scelga un ruolo (operator per sola lettura, editor per creare/modificare schemi, owner per il controllo completo). Copi il valore ent_…: viene mostrato una sola volta.
  2. 2. Registrarsi nel client MCP

    Per Claude Desktop, modificate ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oppure %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

    Utilizzare l'endpoint e l'header indicati sopra nella configurazione MCP remota del proprio client. La sintassi di configurazione e il supporto del trasporto HTTP dipendono dal client.

Prova

In una nuova chat: «Elenca i miei schemi Entity Enricher, poi arricchisci Sanofi rispetto allo schema per le aziende farmaceutiche utilizzando Claude Sonnet.»Il client può rilevare gli strumenti e utilizzarli per selezionare uno schema ed eseguire l'arricchimento. Le richieste di conferma, la visualizzazione dell'avanzamento e l'accesso alle risorse dipendono dal client.

Strumenti

58 strumenti coprono la creazione di schemi, l'arricchimento, i benchmark, la sincronizzazione database e le identità semantiche. Riutilizzano i servizi backend per la validazione, la fatturazione e l'elaborazione. Ogni strumento espone i propri parametri supportati. Le operazioni di lunga durata (arricchimento batch, generazione di campioni, esecuzioni di benchmark) sono asincrone: lo strumento di avvio restituisce un job_id, il client interroga get_job_statuse legge i record risultanti o i risultati dei benchmark. Esaminare gli errori e gli esiti parziali prima di segnalare il successo.

CategoriaStrumentoDescrizione
Scopertalist_modelsElenca le chiavi dei modelli disponibili, le capacità nominali, le lingue, le strategie, i valori predefiniti selezionati automaticamente e i profile_limits dell'organizzazione.
Schemigenerate_sampleGenera JSON di esempio modificabile a partire da una richiesta in testo libero per la creazione di schemi.
Schemilist_schemasElenca gli schemi salvati nella propria organizzazione, con quelli fissati per primi.
Schemiget_schemaLegge uno schema salvato con le sue proprietà, annotazioni e input_contract.
Schemicreate_schema_from_sampleGenera e salva automaticamente uno schema a partire da campioni revisionati, restituendo schema_id, il contenuto dello schema e i collegamenti ai record.
Schemisave_schemaSalva uno schema redatto direttamente e ne restituisce l'ID e il link.
Schemiupdate_schemaModifica i metadati di uno schema salvato o ne sostituisce l'intero schema_content senza una chiamata LLM.
Schemiget_schema_partLegge solo il frammento di schema necessario per una modifica.
Schemiget_enum_candidatesElenca i valori osservati al di fuori del vocabolario attuale di ciascun enum aperto, con i conteggi dai record di arricchimento recenti.
Schemiupdate_schema_propertyModifica o rimuove una singola proprietà tramite percorso senza sostituire l'intero schema.
Schemiadd_schema_propertyAggiunge una proprietà sotto la radice (parent_path='), un percorso di oggetto o '$defs.X'.
Schemimove_schema_propertySposta una proprietà nella radice, in un percorso di oggetto o in '$defs.X', preservandone i flag e la competenza.
Schemiresolve_unify_proposalRisolve una proposta di unificazione di tipi di entità in attesa restituita da get_schema.
Scheminest_schema_regionAnnida una regione di entità piatta dell'x-entityMap di get_schema in un sotto-oggetto dell'oggetto che ne contiene i campi: i membri piatti della regione (ad es. product_id, product_name su un ordine…
Schemipublish_schemaPubblica la copia di lavoro di uno schema collegato a un database come contratto usato dall'arricchimento e dalle repliche.
Schemidelete_schemaEliminare in modo soft uno schema salvato tramite UUID.
Schemianalyze_sampleAnalizza l'ambiguità delle proprietà dei campioni e la definizione dell'ambito di identità delle relazioni prima della generazione dello schema.
Schemianalyze_schemaAnalizza l'ambiguità delle proprietà e la definizione dell'ambito di identità delle relazioni di uno schema salvato, scrivendo le annotazioni nello schema.
Arricchimento e fusionestart_batch_enrichmentAvvia l'arricchimento asincrono a pagamento di un elenco di entità rispetto a esattamente uno tra schema_id e target_schema.
Arricchimento e fusionefetch_entitiesRecupera entità da una API REST esterna tramite una GET lato server.
Arricchimento e fusioneenrich_entityArricchisce una singola entità rispetto a schema_id oppure target_schema (esattamente uno dei due), restituendo output strutturato, record_id, costi ed eventuale esito sul database.
Arricchimento e fusioneretry_expertisesRiprova solo i domini di competenza falliti di un record esistente, quindi aggiorna il suo output e tenta la fusione/sincronizzazione dell'esecuzione.
Arricchimento e fusionemerge_recordsFonde due o più record della stessa entità in un nuovo record di arbitraggio.
Controllo dei jobget_job_statusLegge lo stato, l'avanzamento e il riepilogo finale compatto di un job, con gli ID dei record salvati.
Controllo dei jobcancel_jobRichiede l'annullamento di un job LLM in attesa, in esecuzione o in pausa.
Controllo dei jobanswer_job_questionRiprende un job in pausa fornendo le risposte alle domande restituite durante la pausa.
Record e statistichelist_recordsElenca i record della propria organizzazione in forma compatta e paginata, dal più recente.
Record e statisticheget_recordLegge structured_output, entity_input_data, errori di validazione, verdetti di competenza e metriche di un record salvato.
Record e statisticheget_statsLegge i totali dei record, il tasso di successo, i token e il riepilogo dei costi a livello di organizzazione.
Benchmarklist_benchmark_scenariosElenca i riepiloghi compatti degli scenari di benchmark e il totale.
Benchmarkget_benchmark_scenarioLegge uno scenario di benchmark con i risultati di qualità, costo e velocità per modello.
Benchmarkget_benchmark_scenario_resultsFiltra, ordina e limita i risultati dei benchmark per modello di uno scenario.
Benchmarkcreate_benchmark_scenarioCrea un benchmark riutilizzabile con un giudice di valutazione obbligatorio.
Benchmarkupdate_benchmark_scenarioModifica la definizione del test o la configurazione di valutazione di un benchmark.
Benchmarkset_benchmark_referenceSalva il riferimento gold per un benchmark di arricchimento o di generazione di schemi.
Benchmarkdelete_benchmark_scenarioElimina uno scenario di benchmark e i relativi risultati memorizzati.
Benchmarkrun_benchmarkAvvia l'esecuzione e la valutazione asincrone a pagamento di un benchmark.
Allegatiupload_attachmentCarica i byte di un file in base64 come materiale di origine riutilizzabile; restituisce id e requires_capability.
Allegatidelete_attachmentElimina definitivamente un allegato della propria organizzazione, compreso il file archiviato.
Database Synclist_database_syncsElenca le registrazioni database, gli schemi collegati, le opzioni e gli host di sync di uno schema salvato.
Database Synclist_entity_statesEsplora le righe di entità unite correnti di uno schema, non i record per singola esecuzione.
Database Synccreate_database_syncRegistra uno schema salvato per la sincronizzazione relazionale verso PostgreSQL, MySQL o SQLite.
Database Syncassign_sync_hostAssegna o rimuove l'host che effettua il provisioning di una sincronizzazione database.
Database Syncclassify_database_modelAvvia un'analisi a pagamento che propone chiavi di database, tipi SQL, indici e titolarità delle relazioni su uno schema collegato.
Database Syncdelete_database_syncElimina la registrazione di un database e i relativi delta in coda, interrompendone il feed.
Database Synccreate_database_credentialEmette una credenziale monouso per il client di sync e suggerimenti di comandi per installazione/associazione/esecuzione.
Database Syncfetch_database_deltasLegge la finestra ordinata successiva di delta SQL e payload canonici per un database sync.
Database Syncack_database_deltasConfermare ogni delta tramite up_to_id dopo l'applicazione riuscita, rilasciandone il lease.
Database Syncsync_records_to_databaseConvalida e inserisce l'output di arricchimento memorizzato o fornito nel livello delle entità e nelle sincronizzazioni collegate.
ID semanticilist_semantic_conceptsEsplora i concetti dell'organizzazione con alias, conteggi di utilizzo e facet per tipo/modello.
ID semanticiget_semantic_conceptLegge gli alias, le chiavi di origine dell'identità, i record collegati e i vicini più prossimi di un concetto all'interno della propria porzione tipo/modello.
ID semanticiprobe_semantic_conceptAnteprima della risoluzione dell'identità senza aggiungere un concetto né incrementarne l'utilizzo.
ID semanticiadd_semantic_conceptAggiunge un concetto di identità con utilizzo zero, oppure aggiunge un testo come alias tramite alias_of.
ID semanticiupdate_concept_aliasRimuove o promuove un alias di concetto usando gli ID alias restituiti da get_semantic_concept.
ID semanticiimport_semantic_conceptsRisolve 1..1000 testi rispetto a un unico tipo di concetto.
ID semanticimerge_semantic_conceptsUnisce un concetto perdente in uno vincente.
ID semanticidelete_semantic_conceptsElimina i concetti selezionati tramite ids, concept_types o unused_only.
ID semanticimigrate_semantic_embeddingsIspeziona o migra lo spazio di embedding dei concetti dell'organizzazione.

Guide ai flussi di lavoro, caricate all'occorrenza

Le istruzioni del server descrivono i flussi di lavoro disponibili; le descrizioni degli strumenti spiegano le singole chiamate. Per le decisioni di modellazione o il ripristino, il client può leggere l'indice delle guide su enricher://docs e selezionare una guida tramite le risorse MCP. La lettura di una guida non esegue alcun modello. I link qui sotto aprono le stesse guide in inglese nel repository pubblico.

Risorse

Le risorse espongono i dati di schemi e record, oltre alle guide ai flussi di lavoro, in formato Markdown. I client scelgono come individuarle e caricarle; il contenuto delle risorse può comunque consumare il contesto del modello.

Template URIDescrizione
enricher://docsIndice delle guide ai flussi di lavoro, ciascuna disponibile all'URI di risorsa indicato.
enricher://schemas/{schema_id}Copia di lavoro di uno schema salvato in formato Markdown; utilizzare get_schema con version="published" per il contratto collegato attivo.
enricher://records/{record_id}Un record di arricchimento passato rappresentato come Markdown — metadati + output strutturato + errori di validazione.

Gestione interattiva della classificazione

Quando si chiede a enrich_entity di usare un modello di classificazione e l'entità non corrisponde al tipo dello schema, lo strumento restituisce una risposta non di errore con dettagli strutturati. Claude la legge, ti espone il ragionamento e (previa tua conferma) riprova con force_after_classification_warning=true — che esclude il classificatore al nuovo tentativo.

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

La risposta MCP conserva i dettagli della classificazione, così il client può spiegare la decisione prima di avviare una nuova chiamata.

La stessa interattività alimenta un secondo flusso: quando generate_sample viene eseguito con documenti sorgente, il suo pianificatore potrebbe mettersi in pausa con domande di chiarimento strutturali. Claude le inoltra all'utente e riprende il job con answer_job_question — round dopo round, finché il campione non viene generato.

Codici di errore

La maggior parte degli errori degli strumenti restituisce un oggetto strutturato con un campo error_code, così il client può distinguere gli errori di quota, classificazione, timeout e provider. Alcune risposte meno recenti contengono solo un campo error o message; esaminare il risultato effettivo oltre allo stato del trasporto.

error_codeQuando
invalid_requestUUID malformato, argomenti mutuamente esclusivi (schema_id + target_schema) o convalida del corpo della richiesta non riuscita.
prompt_limit_reachedQuota di prompt giornaliera / settimanale / mensile esaurita (HTTP 402). Il corpo include periodo, limite, utilizzati e necessari.
insufficient_creditsL'org ha la fatturazione attiva ma il saldo dei crediti è troppo basso per avviare il lavoro (HTTP 402). Il corpo include il saldo e un URL di acquisto.
model_limit_exceededRichiesti più modelli di quanti ne consenta il piano (HTTP 402). Riporta il limite e la quantità richiesta.
language_limit_exceededRichieste più lingue di quante ne consenta il piano (HTTP 402).
concurrent_job_limit_reachedTroppi processi di arricchimento attivi per questa organizzazione. Attenda o aggiorni il piano.
classification_warning⚡ Non è un errore: il classificatore preliminare ha rifiutato l'entità. La risposta include il contesto di classificazione affinché Claude possa chiedere all'utente di confermare e riprovare con force_after_classification_warning=true.
benchmarks_not_in_planIl piano dell'organizzazione non include i Benchmark dei modelli (HTTP 403). Gli strumenti di benchmark che effettuano modifiche verificano anche il ruolo di proprietario.
ambiguity_check_disabledanalyze_schema è stato chiamato su uno schema il cui controllo di ambiguità è disattivato (HTTP 400). Riattivarlo prima tramite update_schema con ambiguity_check_enabled=true.
enrichment_timeoutIl job ha superato timeout_seconds. Suggeriamo di ridurre i modelli o di suddividere l'entity.
schema_generation_timeoutLa generazione dello schema ha superato timeout_seconds.
schema_generation_failedErrore LLM upstream durante la generazione dello schema (HTTP 502).
model_output_invalidIl model ha restituito un output non conforme allo schema (HTTP 502). Il corpo della risposta indica il model, il percorso della proprietà non valida e retryable: true — richiami lo strumento oppure scelga un model più potente.
cancelledIl job è stato annullato durante l'esecuzione (HTTP 499).
not_foundLo schema o l'ID del record non esiste nella vostra organizzazione.
http_errorGestione generica per gli errori HTTP privi di un corpo di dettaglio strutturato.

Omissioni deliberate

Vedi anche