Server data from the Official MCP Registry
Multi-LLM entity enrichment: schemas, single/batch enrichment, fusion, model benchmarks.
About
Multi-LLM entity enrichment: schemas, single/batch enrichment, fusion, model benchmarks.
Remote endpoints: streamable-http: https://entityenricher.ai/api/mcp/
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Found in Source Code
Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"ai-entityenricher-enricher": {
"url": "https://entityenricher.ai/api/mcp/"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Entity Enricher MCP Server
A hosted Model Context Protocol server for
Entity Enricher, available at
https://entityenricher.ai/api/mcp/ (Streamable HTTP).
From an MCP-compatible client you can:
- Run any job on your client's own model (
delegate_llm_calls=true): no platform model call, no credits. - Design reusable schemas from sample data or documents and edit properties directly.
- Enrich single entities or lists, with multilingual fields and multiple models.
- Fuse results and recover failed expertise domains without repeating successful work.
- Resolve recurring objects to semantic identities and curate their aliases or uncertain matches.
- Derive relational tables and migrations for your PostgreSQL, MySQL or SQLite database.
- Benchmark enrichment, sample generation and schema generation on your own tasks.
Schema validation and model agreement do not establish factual truth or freshness. Inspect the actual sources, failures and partial outcomes. A successful generation, entity-layer admission and application on your external replica are distinct outcomes.
The MCP server needs no local installation. Optional database delivery uses ee-database on your replica host; its DSN stays there. Managed hosts can provision automatically; manual pairing is also supported.
Run jobs on your own model
Every start tool accepts delegate_llm_calls=true. The job then makes no platform model call
and spends no credits: the model behind your MCP client answers every model call of the job,
and the platform keeps building the prompts, enforcing the output schema, validating and
normalizing each answer, saving the records and syncing the databases.
- Start the job with
delegate_llm_calls=trueand no explicit model (omitted orauto, otherwisedelegation_requires_auto). It pauses as soon as its first model call is ready. - Read
llm_requestsonget_job_status: each entry is one model call in MCPsampling/createMessageshape (system prompt, messages, tools, toolChoice) with apurposenaming the step and anexpires_atdeadline. Binary attachments are referenced asenricher://attachments/{id}resources, never inlined; extracted text is already in the messages. - Run the request on your own model and hand the result back with
answer_llm_request. The platform validates it exactly as it validates a provider's answer; a rejected answer comes back as the same conversation with the error in a failed tool result, to fix and answer again. - Repeat until the job completes. Records are stamped with the model key
mcp::clientat zero cost; an unanswered request fails the job after fifteen minutes (llm_request_timeout).
The plan must include the feature (llm_delegation_not_in_plan). Protocol details and edge
cases — concurrent requests, repair requests on enrichment, attachments, timeouts — are in the
delegated LLM calls guide.
Quickstart
Option 1 — OAuth (recommended)
For claude.ai, Claude Code, Cursor, and any MCP client that implements the standard OAuth flow. No API key to create or paste — the client discovers the authorization server automatically, your browser opens the Entity Enricher consent screen, and the connection acts on your behalf with your own role. Revoke it anytime under Settings → API Keys → Connected Apps.
claude mcp add --transport http entity-enricher https://entityenricher.ai/api/mcp/
Then run /mcp in a session and pick Authenticate — your browser opens the consent page.
More options (project .mcp.json, API-key fallback): examples/claude-code/
Settings → Connectors → Add custom connector with URL
https://entityenricher.ai/api/mcp/, then click Authorize on the consent screen.
Walkthrough: examples/claude-ai-remote.md
Register the URL with no headers and the client prompts you to sign in: examples/cursor/mcp.json
Option 2 — API key (static JSON configuration)
For clients configured via a JSON file rather than an interactive sign-in (Claude Desktop, Continue, Zed) — and for headless/CI use.
-
In the Entity Enricher web UI: Settings → API Keys → New organization access key. Pick a role — operator (read-mostly), editor (create/edit schemas), or owner (full control, required for benchmarks). Copy the
ent_…value; it's only shown once. -
For Claude Desktop, edit
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows):{ "mcpServers": { "entity-enricher": { "url": "https://entityenricher.ai/api/mcp/", "headers": { "X-API-Key": "ent_your_key_here" } } } }Restart Claude Desktop. Full file: examples/claude-desktop/
Try it
List my Entity Enricher schemas, then enrich "Sanofi" against the pharmaceutical company schema in English and French.
The client discovers the tools, reads the selected schema and returns the result with a link. Automatic model selection is available; consequential choices are reviewed when needed.
Guides and tool descriptions
Server instructions explain the workflows. Tool descriptions explain individual calls, including preconditions, costs and consequential effects. Detailed modeling, recovery and migration guidance is loaded only when needed.
Use MCP resources/list to discover the guide index (enricher://docs) and each guide,
then resources/read on the desired URI. Guides do not run a model. Clients decide how
resources enter model context; reading them is not guaranteed to be token-free.
The following public recipes are generated from the same packaged Markdown the server serves. Edit the source guides in the main repository, not these generated copies.
| Guide | MCP resource |
|---|---|
| Delegated LLM calls | enricher://docs/llm-delegation |
| Schema from samples | enricher://docs/schema-from-sample |
| Schema format and editing | enricher://docs/schema-reference |
| Documents | enricher://docs/documents |
| Enrichment, fusion and recovery | enricher://docs/enrichment-and-fusion |
| Batch enrichment | enricher://docs/batch-enrichment |
| Benchmarks | enricher://docs/model-benchmark |
| Database sync | enricher://docs/database-sync |
| Semantic identities | enricher://docs/semantic-ids |
If a client cannot read MCP resources, use these public links. The guides complement individual tool contracts; ordinary calls do not require reading them all.
Tools
59 tools, spanning the full schema-authoring and enrichment surface:
| Category | Tool | Description |
|---|---|---|
| Discovery | list_models | List available model keys, nominal capabilities, languages, strategies, auto-selected defaults and organization profile_limits. |
| Schemas | generate_sample | Generate editable sample JSON from a free-text request for schema authoring. |
| Schemas | list_schemas | List saved schemas in your organization, pinned first. |
| Schemas | get_schema | Read a saved schema with its properties, annotations and input_contract. |
| Schemas | create_schema_from_sample | Generate and auto-save a schema from reviewed samples, returning schema_id, schema content and record links. |
| Schemas | save_schema | Save a directly authored schema and return its ID and link. |
| Schemas | update_schema | Edit a saved schema's metadata or replace its full schema_content without an LLM call. |
| Schemas | get_schema_part | Read only the schema fragment needed for an edit. |
| Schemas | get_enum_candidates | List observed values outside each open enum's current vocabulary, with counts from recent enrichment records. |
| Schemas | update_schema_property | Edit or remove one property by path without replacing the full schema. |
| Schemas | add_schema_property | Add a property under the root (parent_path=''), an object path or '$defs.X'. |
| Schemas | move_schema_property | Move one property into the root, an object path or '$defs.X', preserving its flags and expertise. |
| Schemas | resolve_unify_proposal | Resolve one pending entity-type unification proposal from get_schema. |
| Schemas | nest_schema_region | Materialize an entity region from get_schema's x-entityMap. |
| Schemas | publish_schema | Publish a database-linked schema's working copy as the contract used by enrichment and replicas. |
| Schemas | delete_schema | Soft-delete a saved schema by UUID. |
| Schemas | analyze_sample | Analyze sample property ambiguity and relationship identity scoping before schema generation. |
| Schemas | analyze_schema | Analyze a saved schema's property ambiguity and relationship identity scoping, writing annotations to the schema. |
| Enrichment & fusion | start_batch_enrichment | Start billed asynchronous enrichment of an entity list against exactly one of schema_id or target_schema. |
| Enrichment & fusion | enrich_entity | Enrich one entity against exactly one of schema_id or target_schema, returning structured output, record_id, costs and any database outcome. |
| Enrichment & fusion | retry_expertises | Retry only an existing record's failed expertise domains, then update its output and attempt the run's fusion/synchronization. |
| Enrichment & fusion | merge_records | Fuse two or more records of the same entity into a new arbitration record. |
| Job control | get_job_status | Read a job's status, progress and compact terminal summary with persisted record IDs. |
| Job control | cancel_job | Request cancellation of a pending, running or paused LLM job. |
| Job control | answer_job_question | Resume a paused job with answers to the questions returned under pause. |
| Job control | answer_llm_request | Answer one LLM request of a job started with delegate_llm_calls=true: you are its model. |
| Records & stats | list_records | List compact, paginated records in your organization, most recent first. |
| Records & stats | get_record | Read one persisted record's structured_output, entity_input_data, validation errors, expertise verdicts and metrics. |
| Records & stats | get_stats | Read organization-wide record totals, success rate, tokens and cost summary. |
| Benchmarks | list_benchmark_scenarios | List compact benchmark scenario summaries and total. |
| Benchmarks | get_benchmark_scenario | Read one benchmark scenario with per-model quality, cost and speed results. |
| Benchmarks | get_benchmark_scenario_results | Filter, rank and limit a scenario's per-model benchmark results. |
| Benchmarks | create_benchmark_scenario | Create a reusable benchmark with a mandatory scoring judge. |
| Benchmarks | update_benchmark_scenario | Edit a benchmark's test definition or scoring configuration. |
| Benchmarks | set_benchmark_reference | Save the gold reference for an enrichment or schema-generation benchmark. |
| Benchmarks | revert_benchmark_reference_updates | Undo automatic edits a scoring pass made to a scenario's reference. |
| Benchmarks | delete_benchmark_scenario | Delete a benchmark scenario and its stored results. |
| Benchmarks | run_benchmark | Start billed asynchronous execution and scoring of a benchmark. |
| Attachments | upload_attachment | Upload base64 file bytes as reusable source material; returns id and requires_capability. |
| Attachments | delete_attachment | Permanently delete an attachment in your organization, including its stored file. |
| Database Sync | list_database_syncs | List a saved schema's database registrations, linked schemas, options and sync hosts. |
| Database Sync | list_entity_states | Browse a schema's current merged entity rows, not per-run records. |
| Database Sync | create_database_sync | Register a saved schema for relational synchronization to PostgreSQL, MySQL or SQLite. |
| Database Sync | assign_sync_host | Assign or clear the host provisioning a database sync. |
| Database Sync | classify_database_model | Start a billed analysis proposing database keys, SQL types, indexes and relationship ownership on a linked schema. |
| Database Sync | delete_database_sync | Delete a database registration and its queued deltas, stopping its feed. |
| Database Sync | get_database_setup_instructions | Return non-secret install, browser-confirmed pairing and run instructions for an ee-database sync client. |
| Database Sync | fetch_database_deltas | Read the next ordered window of SQL deltas and canonical payloads for a database sync. |
| Database Sync | ack_database_deltas | Acknowledge every delta through up_to_id after successful application, releasing its lease. |
| Database Sync | sync_records_to_database | Validate and inject stored or supplied enrichment output into the entity layer and linked syncs. |
| Semantic IDs | list_semantic_concepts | Browse organization concepts with aliases, usage counts and type/model facets. |
| Semantic IDs | get_semantic_concept | Read one concept's aliases, identity source keys, linked records and nearest neighbors within its own type/model slice. |
| Semantic IDs | probe_semantic_concept | Preview identity resolution without adding a concept or increasing its usage. |
| Semantic IDs | add_semantic_concept | Add an identity concept at zero usage, or add text as an alias using alias_of. |
| Semantic IDs | update_concept_alias | Remove or promote a concept alias using alias IDs from get_semantic_concept. |
| Semantic IDs | import_semantic_concepts | Resolve 1..1000 texts against one concept type. |
| Semantic IDs | merge_semantic_concepts | Merge a loser concept into a winner. |
| Semantic IDs | delete_semantic_concepts | Delete concepts selected by ids, concept_types or unused_only. |
| Semantic IDs | migrate_semantic_embeddings | Inspect or migrate the organization's concept embedding space. |
Tool signatures are the callable contract. The wrappers share backend services, but do not expose every REST/UI option. Schema mutations require editor; benchmark mutations/runs require owner plus a benchmark-enabled plan. Database registration/credentials require owner plus a sync-enabled plan. See each tool for its requirements.
Data resources
| Resource template | Meaning |
|---|---|
enricher://schemas/{schema_id} | Schema working copy as Markdown. For a linked published contract use get_schema(version="published"). |
enricher://records/{record_id} | Output and metrics as Markdown; get_record adds expertise and database-delivery diagnostics. |
enricher://attachments/{attachment_id} | The bytes of an uploaded attachment, served with their real media type — how a job that delegates its LLM calls hands you a PDF, image or audio file. |
Jobs and errors
Long-running work uses this server's start → poll → fetch interface. Start tools return a
job_id; generate_sample can already be paused or completed when it returns. Poll
get_job_status, answer paused questions through answer_job_question, and retrieve records
by list_records(job_id=...). A missing in-memory job is not proof of completion; check for
persisted records. Cancellation does not undo earlier records or database writes.
A job started with delegate_llm_calls=true pauses on llm_requests instead of questions;
see Run jobs on your own model.
Most failures return success: false, error_code and message; some older tools return
only error or message. A successful MCP transport response does not imply successful
work. Inspect classification warnings, failed model legs, and partial/rejected database
outcomes even when an output is present. Detailed recovery is in the enrichment guide.
Scope and limitations
- The MCP single/batch enrichment tools do not expose web-search activation; sample generation does.
- Batch enrichment has no fixed 100-entity cap, but live quotas/credits can stop remaining work.
- The batch tool has no
database_sync=falseoption; the single-entity tool does. - Record deletion/restoration, detailed cost analytics, benchmark result import/export and some database administration remain in the web app or REST API.
- Schema documents use the supported JSON Schema dialect with Entity Enricher annotations; see the schema reference before authoring one directly.
Links
- Public MCP documentation
- REST API reference
- Client configurations
- MCP Registry —
ai.entityenricher/enricher; manifest: server.json
About this repository
This public repository contains documentation and client examples. The server is embedded in the Entity Enricher backend and maintained in the private monorepo; this directory is synced as a git subtree. Licensed under the MIT License.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
