Serveur MCP (Claude Desktop / Code / Cursor)

Utilisez Entity Enricher depuis un client compatible MCP pour transformer la connaissance des modèles et vos documents en données structurées. Concevez des schémas, enrichissez des entités en plusieurs langues, fusionnez des modèles, assurez la curation des identités sémantiques, évaluez la qualité par benchmark et synchronisez des tables relationnelles vers votre propre base de données.

La validation de schéma et l'accord entre modèles ne garantissent ni l'exactitude factuelle ni la fraîcheur des données. Inspectez les sources, les échecs et les résultats partiels en base de données. Le MCP offre un accès conversationnel ; n8n et Make assurent l'automatisation des workflows sur ce même service.

Démarrage rapide

Option 1 — OAuth (recommandé)

Pour claude.ai, Claude Code, Cursor et tout client MCP prenant en charge le flux OAuth standard. Aucune clé API à créer ou à coller — le client découvre automatiquement le serveur d'autorisation.

  1. Ajoutez Entity Enricher comme connecteur (dans claude.ai : Paramètres → Connecteurs → Ajouter un connecteur personnalisé, ou choisissez-le dans le répertoire) avec l'URL https://entityenricher.ai/api/mcp/.
  2. Votre navigateur ouvre l'écran de consentement Entity Enricher — connectez-vous si nécessaire et cliquez sur Autoriser. La connexion agit en votre nom avec votre propre rôle.
  3. Gérez ou révoquez la connexion à tout moment sous Clés API → Applications connectées — la révocation coupe l'accès immédiatement.
  1. 1L'organisation à laquelle l'autorisation est limitée
  2. 2La connexion agit avec votre propre rôle, jamais avec un rôle plus étendu
  3. 3Révocable à tout moment depuis Applications connectées
Le seul écran Entity Enricher que le parcours OAuth vous présente : il indique l'organisation à laquelle l'autorisation est limitée et le rôle avec lequel elle agira — le vôtre.

Option 2 — clé API (configuration JSON statique)

Pour les clients configurés via un fichier JSON plutôt que par une connexion interactive (Claude Desktop, Continue, Zed).

  1. 1. Créez une clé API
    Dans l'interface web d'Entity Enricher : Paramètres → Clés API → Nouvelle clé d'accès d'organisation. Choisissez un rôle (opérateur pour un accès principalement en lecture, éditeur pour créer/modifier des schémas, propriétaire pour un contrôle total). Copiez la valeur ent_… — elle n'est affichée qu'une seule fois.
  2. 2. Enregistrez-le dans votre client MCP

    Pour Claude Desktop, modifiez ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) :

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

    Utilisez le point de terminaison et l'en-tête ci-dessus dans la configuration MCP distante de votre client. La syntaxe de configuration et la prise en charge du transport HTTP dépendent du client.

Essayez

Dans une nouvelle conversation : « Listez mes schémas Entity Enricher, puis enrichissez Sanofi avec le schéma d'entreprise pharmaceutique en utilisant Claude Sonnet. »Le client peut découvrir les outils et les utiliser pour sélectionner un schéma et lancer l'enrichissement. Les demandes de confirmation, l'affichage de la progression et l'accès aux ressources dépendent du client.

Outils

58 outils couvrent la création de schémas, l'enrichissement, les benchmarks, la synchronisation de base de données et les identités sémantiques. Ils réutilisent les services backend pour la validation, la facturation et le traitement. Chaque outil expose ses propres paramètres pris en charge. Les opérations longues (enrichissement par traitement par lot, génération d'échantillons, exécutions de benchmark) sont asynchrones : l'outil de démarrage renvoie un job_id, le client interroge get_job_statuspuis lit les enregistrements ou les résultats de benchmark obtenus. Inspectez les échecs et les résultats partiels avant d'annoncer une réussite.

CatégorieOutilDescription
Découvertelist_modelsListez les clés de modèles disponibles, les capacités nominales, les langues, les stratégies, les valeurs par défaut sélectionnées automatiquement et les profile_limits de l'organisation.
Schémasgenerate_sampleGénérez un JSON d'échantillon modifiable à partir d'une demande en texte libre, pour la création de schémas.
Schémaslist_schemasListez les schémas enregistrés de votre organisation, les épinglés en premier.
Schémasget_schemaConsultez un schéma enregistré avec ses propriétés, ses annotations et son input_contract.
Schémascreate_schema_from_sampleGénérez et enregistrez automatiquement un schéma à partir d'échantillons validés ; renvoie schema_id, le contenu du schéma et les liens vers les enregistrements.
Schémassave_schemaEnregistrer un schéma rédigé directement et renvoyer son ID et son lien.
Schémasupdate_schemaModifiez les métadonnées d'un schéma enregistré ou remplacez l'intégralité de son schema_content sans appel au LLM.
Schémasget_schema_partNe lisez que le fragment de schéma nécessaire à une modification.
Schémasget_enum_candidatesListez les valeurs observées en dehors du vocabulaire actuel de chaque énumération ouverte, avec leur nombre d'occurrences dans les enregistrements d'enrichissement récents.
Schémasupdate_schema_propertyModifiez ou supprimez une propriété par son chemin, sans remplacer le schéma complet.
Schémasadd_schema_propertyAjoutez une propriété sous la racine (parent_path='), sous un chemin d'objet ou sous '$defs.X'.
Schémasmove_schema_propertyDéplacez une propriété vers la racine, un chemin d'objet ou '$defs.X', en conservant ses indicateurs et son expertise.
Schémasresolve_unify_proposalRésolvez une proposition d'unification de types d'entités en attente issue de get_schema.
Schémasnest_schema_regionImbriquer une région d’entité plate issue du x-entityMap de get_schema dans un sous-objet de l’objet qui contient ses champs : les membres plats de la région (p. ex. product_id, product_name sur une commande…
Schémaspublish_schemaPubliez la copie de travail d'un schéma lié à une base de données en tant que contrat utilisé par l'enrichissement et les répliques.
Schémasdelete_schemaEffectuez une suppression logique d'un schéma enregistré par UUID.
Schémasanalyze_sampleAnalysez l'ambiguïté des propriétés des échantillons et la portée d'identité des relations avant la génération du schéma.
Schémasanalyze_schemaAnalysez l'ambiguïté des propriétés et la portée d'identité des relations d'un schéma enregistré, en écrivant les annotations dans le schéma.
Enrichissement et fusionstart_batch_enrichmentLancer l'enrichissement asynchrone facturé d'une liste d'entités selon exactement un paramètre parmi schema_id et target_schema.
Enrichissement et fusionfetch_entitiesRécupérez des entités depuis une API REST externe via un GET côté serveur.
Enrichissement et fusionenrich_entityEnrichissez une entité selon exactement l'un des paramètres schema_id ou target_schema ; renvoie une sortie structurée, record_id, les coûts et le résultat éventuel côté base de données.
Enrichissement et fusionretry_expertisesRelancez uniquement les domaines d'expertise en échec d'un enregistrement existant, puis mettez à jour sa sortie et tentez la fusion/synchronisation de l'exécution.
Enrichissement et fusionmerge_recordsFusionnez au moins deux enregistrements d'une même entité en un nouvel enregistrement d'arbitrage.
Contrôle des tâchesget_job_statusConsultez le statut, la progression et le résumé final compact d'une tâche, avec les ID des enregistrements persistés.
Contrôle des tâchescancel_jobDemandez l'annulation d'une tâche LLM en attente, en cours ou en pause.
Contrôle des tâchesanswer_job_questionReprenez une tâche en pause en fournissant les réponses aux questions renvoyées lors de la mise en pause.
Enregistrements et statistiqueslist_recordsListez les enregistrements de votre organisation sous forme compacte et paginée, du plus récent au plus ancien.
Enregistrements et statistiquesget_recordConsultez le structured_output, l'entity_input_data, les erreurs de validation, les verdicts d'expertise et les métriques d'un enregistrement persisté.
Enregistrements et statistiquesget_statsConsultez les totaux d'enregistrements, le taux de réussite, les tokens et le récapitulatif des coûts à l'échelle de l'organisation.
Benchmarkslist_benchmark_scenariosListez les résumés compacts des scénarios de benchmark ainsi que le total.
Benchmarksget_benchmark_scenarioConsultez un scénario de benchmark avec les résultats de qualité, de coût et de vitesse par modèle.
Benchmarksget_benchmark_scenario_resultsFiltrez, classez et limitez les résultats de benchmark par modèle d'un scénario.
Benchmarkscreate_benchmark_scenarioCréez un benchmark réutilisable avec un juge de notation obligatoire.
Benchmarksupdate_benchmark_scenarioModifiez la définition de test ou la configuration de notation d'un benchmark.
Benchmarksset_benchmark_referenceEnregistrer la référence gold d'un benchmark d'enrichissement ou de génération de schéma.
Benchmarksdelete_benchmark_scenarioSupprimez un scénario de benchmark et ses résultats enregistrés.
Benchmarksrun_benchmarkLancer l'exécution et la notation asynchrones facturées d'un benchmark.
Pièces jointesupload_attachmentTéléverser des octets de fichier encodés en base64 comme matériau source réutilisable ; renvoie id et requires_capability.
Pièces jointesdelete_attachmentSupprimez définitivement une pièce jointe de votre organisation, y compris son fichier stocké.
Database Synclist_database_syncsListez les déclarations de bases de données, les schémas liés, les options et les hôtes de synchronisation d'un schéma enregistré.
Database Synclist_entity_statesParcourez les lignes d'entités fusionnées actuelles d'un schéma, et non les enregistrements par exécution.
Database Synccreate_database_syncDéclarez un schéma enregistré pour la synchronisation relationnelle vers PostgreSQL, MySQL ou SQLite.
Database Syncassign_sync_hostAttribuez ou retirez l'hôte qui provisionne une synchronisation de base de données.
Database Syncclassify_database_modelLancer une analyse facturée proposant des clés de base de données, des types SQL, des index et la propriété des relations sur un schéma lié.
Database Syncdelete_database_syncSupprimez une base de données enregistrée et ses deltas en file d'attente, ce qui interrompt son flux.
Database Synccreate_database_credentialÉmettez un identifiant à usage unique pour le client de synchronisation, avec des suggestions de commandes d'installation, d'appairage et d'exécution.
Database Syncfetch_database_deltasLisez la fenêtre ordonnée suivante des deltas SQL et des charges utiles canoniques d'une synchronisation de base de données.
Database Syncack_database_deltasAccusez réception de chaque delta via up_to_id après une application réussie, ce qui libère son bail.
Database Syncsync_records_to_databaseValider et injecter une sortie d'enrichissement stockée ou fournie dans la couche entité et les synchronisations liées.
ID sémantiqueslist_semantic_conceptsParcourez les concepts de l'organisation avec leurs alias, leurs compteurs d'usage et les facettes type/modèle.
ID sémantiquesget_semantic_conceptConsultez les alias, les clés d'identité source, les enregistrements liés et les plus proches voisins d'un concept au sein de son propre segment type/modèle.
ID sémantiquesprobe_semantic_conceptPrévisualisez la résolution d'identité sans ajouter de concept ni augmenter son utilisation.
ID sémantiquesadd_semantic_conceptAjoutez un concept d'identité avec un usage à zéro, ou ajoutez un texte comme alias via alias_of.
ID sémantiquesupdate_concept_aliasSupprimez ou promouvez un alias de concept à l'aide des ID d'alias fournis par get_semantic_concept.
ID sémantiquesimport_semantic_conceptsRésolvez de 1 à 1000 textes pour un même type de concept.
ID sémantiquesmerge_semantic_conceptsFusionnez un concept perdant dans un concept gagnant.
ID sémantiquesdelete_semantic_conceptsSupprimez les concepts sélectionnés par ids, concept_types ou unused_only.
ID sémantiquesmigrate_semantic_embeddingsInspectez ou migrez l'espace d'embeddings de concepts de l'organisation.

Guides de workflow, chargés à la demande

Les instructions du serveur expliquent les workflows disponibles ; les descriptions des outils expliquent chaque appel. Pour les décisions de modélisation ou la reprise après erreur, votre client peut lire l'index des guides sur enricher://docs et sélectionner un guide via les ressources MCP. La lecture d'un guide n'exécute aucun modèle. Les liens ci-dessous ouvrent ces mêmes guides, en anglais, dans le dépôt public.

Ressources

Les ressources exposent les données de schémas et d'enregistrements, ainsi que les guides de workflow, au format Markdown. Les clients choisissent comment les découvrir et les charger ; le contenu des ressources consomme malgré tout du contexte du modèle.

Modèle d'URIDescription
enricher://docsIndex des guides de workflow, chacun disponible à l'URI de ressource indiquée.
enricher://schemas/{schema_id}Copie de travail d'un schéma enregistré, au format Markdown ; utilisez get_schema avec version="published" pour obtenir le contrat lié actif.
enricher://records/{record_id}Un enregistrement d'enrichissement passé rendu en Markdown — métadonnées + sortie structurée + erreurs de validation.

Gestion interactive de la classification

Lorsque vous demandez à enrich_entity d'utiliser un modèle de classification et que l'entité ne correspond pas au type du schéma, l'outil renvoie une réponse sans erreur avec des détails structurés. Claude la lit, vous présente le raisonnement et (après votre confirmation) réessaie avec force_after_classification_warning=true — ce qui désactive le classificateur lors de la nouvelle tentative.

{
  "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 réponse MCP conserve les détails de la classification afin que votre client puisse expliquer la décision avant de lancer un nouvel appel.

La même interactivité alimente un second flux : lorsque generate_sample s'exécute avec des documents sources, son planificateur peut se mettre en pause avec des questions de clarification structurelles. Claude vous les relaie et reprend la tâche avec answer_job_question — cycle après cycle, jusqu'à ce que l'échantillon soit généré.

Codes d'erreur

La plupart des erreurs d'outil renvoient un objet structuré avec un champ error_code, afin que le client puisse distinguer les échecs de quota, de classification, de délai d'attente et de provider. Certaines réponses plus anciennes ne comportent qu'un champ error ou message ; inspectez le résultat lui-même autant que le statut de transport.

error_codeQuand
invalid_requestUUID mal formé, arguments mutuellement exclusifs (schema_id + target_schema) ou échec de la validation du corps de la requête.
prompt_limit_reachedQuota de prompts quotidien / hebdomadaire / mensuel épuisé (HTTP 402). Le corps de la réponse inclut period, limit, used, needed.
insufficient_creditsL'organisation a la facturation activée mais le solde de crédits est trop faible pour démarrer la tâche (HTTP 402). Le corps de la réponse inclut le solde et une URL d'achat.
model_limit_exceededPlus de modèles demandés que le forfait n'en autorise (HTTP 402). Renvoie la limite + le nombre demandé.
language_limit_exceededPlus de langues demandées que le forfait n'en autorise (HTTP 402).
concurrent_job_limit_reachedTrop de tâches d'enrichissement actives pour cette organisation. Patientez ou passez à un forfait supérieur.
classification_warning⚡ Non-erreur : le classificateur préliminaire a rejeté l'entité. La réponse contient le contexte de classification afin que Claude puisse demander confirmation à l'utilisateur et réessayer avec force_after_classification_warning=true.
benchmarks_not_in_planLe plan de l'organisation n'inclut pas les Benchmarks de modèles (HTTP 403). Les outils de benchmark en écriture vérifient également le rôle de propriétaire.
ambiguity_check_disabledanalyze_schema a été appelé sur un schéma dont la vérification d'ambiguïté est désactivée (HTTP 400). Réactivez-la d'abord via update_schema avec ambiguity_check_enabled=true.
enrichment_timeoutLa tâche a dépassé timeout_seconds. Essayez avec moins de modèles ou en divisant l'entité.
schema_generation_timeoutLa génération du schéma a dépassé timeout_seconds.
schema_generation_failedErreur LLM en amont lors de la génération du schéma (HTTP 502).
model_output_invalidLe modèle a renvoyé une sortie qui ne correspond pas au schéma (HTTP 502). Le corps de la réponse indique le modèle, le chemin de la propriété en cause et retryable: true — appelez à nouveau l'outil, ou choisissez un modèle plus puissant.
cancelledLa tâche a été annulée en cours d'exécution (HTTP 499).
not_foundLe schéma ou l'ID d'enregistrement n'existe pas dans votre organisation.
http_errorCas générique pour les erreurs HTTP sans corps de détail structuré.

Omissions délibérées

Voir aussi