关于 Entity Enricher
托管的 MCP 服务,用于设计架构并通过多个模型丰富实体。默认调用客户端自有模型,还支持结果融合、语义身份解析、数据库交付和任务专项基准测试。
主要功能
- 01创建和编辑可复用架构
- 02丰富单个实体或批次
- 03融合结果并重试失败领域
- 04解析语义身份和别名
- 05生成关系表与迁移
- 06评测模型和生成任务
适用场景
- 01根据样本构建丰富任务架构
- 02丰富多语言实体记录
- 03仅重试失败领域而保留已完成结果
- 04比较模型在实体丰富任务上的表现
MCP 相关
通过 Streamable HTTP 向 MCP 客户端提供架构、实体丰富、任务、基准测试和数据库工具,以及文档资源。默认使用客户端模型执行任务,也可明确选择平台模型。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://entityenricher.ai/api/mcp/claude mcp add --transport http ai-entityenricher-enricher https://entityenricher.ai/api/mcp/{"mcpServers":{"ai-entityenricher-enricher":{"type":"http","url":"https://entityenricher.ai/api/mcp/"}}}在 Cursor 中打开{"servers":{"ai-entityenricher-enricher":{"type":"http","url":"https://entityenricher.ai/api/mcp/"}}}在 VS Code 中打开{"mcpServers":{"ai-entityenricher-enricher":{"type":"http","url":"https://entityenricher.ai/api/mcp/"}}}{"mcpServers":{"ai-entityenricher-enricher":{"serverUrl":"https://entityenricher.ai/api/mcp/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://entityenricher.ai/api/mcp/需要授权工具
58| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| filename | string | 是 | 包含扩展名的原始文件名(例如 'report.pdf')。 |
| media_type | any | 否 | 可选的 MIME 提示;服务端仍会检测魔数。 |
| content_base64 | string | 是 | 文件的字节,以 Base64 编码(不含 data: 前缀)。 |
详细介绍
Entity Enricher MCP 服务
一个托管的 Model Context Protocol 服务,适用于
Entity Enricher,地址为
https://entityenricher.ai/api/mcp/(Streamable HTTP)。
使用兼容 MCP 的客户端,你可以:
- 在客户端自己的模型上运行任意任务。默认情况下,不调用平台模型,也不消耗额度(设置
use_platform_models=true即可选择退出此模式)。 - 根据示例数据或文档设计可复用的架构,并直接编辑属性。
- 使用多语言字段和多个模型来丰富单个实体或实体列表。
- 合并结果,并恢复失败的专业领域任务,而不重复已成功的工作。
- 将重复出现的对象解析为语义身份,并整理其别名或不确定匹配项。
- 为你的 PostgreSQL、MySQL 或 SQLite 数据库生成关系表和迁移。
- 在自己的任务上对实体丰富、样本生成和架构生成进行基准测试。
架构验证和模型间的一致性并不能证明事实的真实性或时效性。 请检查实际来源、失败项和部分结果。生成成功、实体层接纳以及在外部副本上应用,是彼此不同的结果。
此 MCP 服务无需本地安装。可选的数据库交付功能会在你的副本主机上使用 ee-database;其 DSN 会保留在该主机上。 托管主机可以自动配置;也支持手动配对。
在自己的模型上运行任务
默认情况下,每个启动工具都会在你自己的模型上运行任务:任务不会调用平台模型,也不会消耗额度——MCP 客户端背后的模型会处理任务中的每次模型调用,而平台负责构建提示词、强制执行输出架构、验证并规范化每个回答、保存记录以及同步数据库。设置 use_platform_models=true 后,任务会改用平台的计费模型,在组织内针对该任务基准测试表现最佳的模型上运行(结果的 model_selection 会说明选择了哪个模型及原因);只有在用户指定了平台模型时,才指定平台模型名称。
- 不指定模型(省略该参数或设为
auto)启动任务;如果工具提供enable_web_search,请决定是否启用(省略时会返回web_search_undecided:先询问用户)。任务会在首次模型调用准备就绪时暂停。 - 在
get_job_status中读取llm_requests:每个条目都是一次模型调用,采用 MCPsampling/createMessage格式(system prompt、messages、tools、toolChoice),包含用于说明步骤的purpose和截止时间expires_at。二进制附件会以enricher://attachments/{id}资源的形式引用,绝不会内联;提取出的文本已包含在消息中。 - 在自己的模型上执行该请求,并通过
answer_llm_request提交结果。平台会按照验证提供方回答的相同方式验证该结果;如果回答未通过验证,系统会返回相同的对话,并在失败的工具结果中附上错误,以便修正后再次回答。 - 重复上述步骤,直到任务完成。记录会以零成本标记模型键
mcp::client;十五分钟后仍未回答的请求会导致任务失败(llm_request_timeout)。
协议细节和边界情况——选择退出并改用平台模型、网络搜索决策、并发请求、实体丰富中的修复请求、附件和超时——请参阅委托 LLM 调用指南。
快速入门
选项 1 — OAuth(推荐)
适用于 claude.ai、Claude Code、Cursor,以及任何实现了标准 OAuth 流程的 MCP 客户端。无需创建或粘贴 API 密钥——客户端会自动发现授权服务器,浏览器会打开 Entity Enricher 的授权页面,连接将以你的身份和角色代表你操作。你可以随时在 Settings → API Keys → Connected Apps 中撤销授权。
Claude Code
claude mcp add --transport http entity-enricher https://entityenricher.ai/api/mcp/
然后在会话中运行 /mcp 并选择 Authenticate——浏览器会打开授权页面。更多选项(项目 .mcp.json、API 密钥备用方案):examples/claude-code/
claude.ai
使用 URL
https://entityenricher.ai/api/mcp/,前往 Settings → Connectors → Add custom connector,然后在授权页面上点击 Authorize。
操作指南:examples/claude-ai-remote.md
Cursor / 其他支持 OAuth 的客户端
注册 URL,无需添加请求头,客户端会提示你登录: examples/cursor/mcp.json
选项 2 — API 密钥(静态 JSON 配置)
适用于通过 JSON 文件配置而非交互式登录的客户端(Claude Desktop、 Continue、Zed),也适用于无头模式/CI。
-
在 Entity Enricher Web UI 中,前往 Settings → API Keys → New organization access key。选择一个角色——operator(主要用于读取)、editor(创建/编辑 架构)或 owner(完全控制权限,运行基准测试所必需)。复制
ent_…值;该值只会显示一次。 -
对于 Claude Desktop,编辑
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows):{ "mcpServers": { "entity-enricher": { "url": "https://entityenricher.ai/api/mcp/", "headers": { "X-API-Key": "ent_your_key_here" } } } }重启 Claude Desktop。完整文件:examples/claude-desktop/
试试看
列出我的 Entity Enricher 架构,然后使用制药公司架构,以英语和法语为“Sanofi”补充信息。
客户端会发现可用工具,读取所选架构,并返回附有链接的结果。支持自动选择模型;必要时会对影响重大的选择进行审核。
指南和工具说明
服务端说明介绍工作流。工具说明介绍单个调用,包括前置条件、成本和重要影响。详细的建模、恢复和迁移指南仅在需要时加载。
使用 MCP resources/list 发现指南索引(enricher://docs)和各个指南,然后对所需 URI 使用 resources/read。指南不会运行模型。客户端决定如何将资源纳入模型上下文;读取资源不保证不消耗令牌。
以下公开操作指南由服务端提供的同一份打包 Markdown生成。请在主仓库中编辑源指南,而不是这些生成的副本。
| 指南 | MCP 资源 |
|---|---|
| 委托 LLM 调用 | enricher://docs/llm-delegation |
| 从样本生成架构 | enricher://docs/schema-from-sample |
| 架构格式与编辑 | enricher://docs/schema-reference |
| 文档 | enricher://docs/documents |
| 丰富、融合与恢复 | enricher://docs/enrichment-and-fusion |
| 批量丰富 | enricher://docs/batch-enrichment |
| 基准测试 | enricher://docs/model-benchmark |
| 数据库同步 | enricher://docs/database-sync |
| 语义标识 | enricher://docs/semantic-ids |
如果客户端无法读取 MCP 资源,请使用这些公开链接。这些指南是对各个工具契约的补充;常规调用无需阅读全部指南。
工具
59 个工具,涵盖完整的架构编写与丰富功能:
| 类别 | 工具 | 描述 |
|---|---|---|
| 发现 | list_models | 列出可用的模型键、名义能力、语言、策略、自动选择的默认值和组织 profile_limits。 |
| 架构 | generate_sample | 根据自由文本请求生成可编辑的示例 JSON,用于编写架构。 |
| 架构 | list_schemas | 列出组织中已保存的架构,固定的架构排在最前。 |
| 架构 | get_schema | 读取已保存架构及其属性、注释和 input_contract。 |
| 架构 | create_schema_from_sample | 根据经过审核的样本生成并自动保存架构,返回 schema_id、架构内容和记录链接。 |
| 架构 | save_schema | 保存直接编写的架构,并返回其 ID 和链接。 |
| 架构 | update_schema | 编辑已保存架构的元数据,或替换完整的 schema_content,无需调用大模型。 |
| 架构 | get_schema_part | 仅读取编辑所需的架构片段。 |
| 架构 | get_enum_candidates | 列出每个开放枚举当前词汇表之外的已观测值,以及近期增强记录中的计数。 |
| 架构 | update_schema_property | 按路径编辑或移除一个属性,无需替换完整架构。 |
| 架构 | add_schema_property | 在根目录(parent_path='')、对象路径或 '$defs.X' 下添加属性。 |
| 架构 | move_schema_property | 将一个属性移至根目录、对象路径或 '$defs.X' 下,同时保留其标志和专业信息。 |
| 架构 | resolve_unify_proposal | 处理 get_schema 中一个待处理的实体类型统一提案。 |
| 架构 | nest_schema_region | 根据 get_schema 的 x-entityMap 实体化一个实体区域。 |
| 架构 | publish_schema | 发布与数据库关联的架构工作副本,作为增强和副本使用的契约。 |
| 架构 | delete_schema | 按 UUID 软删除已保存的架构。 |
| 架构 | analyze_sample | 在生成架构前,分析样本属性歧义和关系身份范围。 |
| 架构 | analyze_schema | 分析已保存架构的属性歧义和关系身份范围,并将注释写入架构。 |
| 增强与融合 | start_batch_enrichment | 对实体列表启动计费的异步增强,且必须且只能使用 schema_id 或 target_schema 之一。 |
| 增强与融合 | enrich_entity | 使用 schema_id 或 target_schema 之一增强单个实体,并返回结构化输出、record_id、费用和任何数据库处理结果。 |
| 增强与融合 | retry_expertises | 仅重试现有记录中失败的专业领域,然后更新其输出,并尝试运行融合/同步。 |
| 增强与融合 | merge_records | 将两个或多个同一实体的记录融合为一条新的仲裁记录。 |
| 作业控制 | get_job_status | 读取作业状态、进度和包含已持久化记录 ID 的简要终止摘要。 |
| 作业控制 | cancel_job | 请求取消待处理、运行中或已暂停的大模型作业。 |
| 作业控制 | answer_job_question | 使用针对 pause 下返回问题的答案恢复已暂停的作业。 |
| 作业控制 | answer_llm_request | 回答一个使用你的模型运行的作业所发起的大模型请求(除非 use_platform_models=true 或显式指定平台模型,否则每个启动工具均默认使用你的模型):你就是该模型。 |
| 记录与统计 | list_records | 列出组织中简要分页的记录,按最近时间优先排序。 |
| 记录与统计 | get_record | 读取一条已持久化记录的 structured_output、entity_input_data、验证错误、专业判定和指标。 |
| 记录与统计 | get_stats | 读取组织范围的记录总数、成功率、令牌数和费用摘要。 |
| 基准测试 | list_benchmark_scenarios | 列出简要的基准测试场景摘要和总数。 |
| 基准测试 | get_benchmark_scenario | 读取一个基准测试场景及各模型的质量、费用和速度结果。 |
| 基准测试 | get_benchmark_scenario_results | 筛选、排序并限制一个场景的各模型基准测试结果。 |
| 基准测试 | create_benchmark_scenario | 创建可复用的基准测试,必须指定评分判定器。 |
| 基准测试 | update_benchmark_scenario | 编辑基准测试的测试定义或评分配置。 |
| 基准测试 | set_benchmark_reference | 保存增强或架构生成基准测试的黄金参考。 |
| 基准测试 | revert_benchmark_reference_updates | 撤销评分过程中对场景参考所做的自动修改。 |
| 基准测试 | delete_benchmark_scenario | 删除基准测试场景及其已存储结果。 |
| 基准测试 | run_benchmark | 启动计费的异步基准测试执行和评分。 |
| 附件 | upload_attachment | 将 base64 文件字节上传为可重复使用的源材料;返回 id 和 requires_capability。 |
| 附件 | delete_attachment | 永久删除组织中的附件,包括其存储的文件。 |
| 数据库同步 | list_database_syncs | 列出已保存架构的数据库注册、关联架构、选项和同步主机。 |
| 数据库同步 | list_entity_states | 浏览架构当前合并后的实体行,而非每次运行的记录。 |
| 数据库同步 | create_database_sync | 注册已保存的架构,以便同步至 PostgreSQL、MySQL 或 SQLite 关系数据库。 |
| 数据库同步 | assign_sync_host | 指定或清除负责配置数据库同步的主机。 |
| 数据库同步 | classify_database_model | 在关联架构上启动计费分析,以提议数据库键、SQL 类型、索引和关系归属。 |
| 数据库同步 | delete_database_sync | 删除数据库注册及其排队的增量变更,并停止其数据流。 |
| 数据库同步 | get_database_setup_instructions | 返回 ee-database 同步客户端的非机密安装、经浏览器确认的配对和运行说明。 |
| 数据库同步 | fetch_database_deltas | 读取数据库同步的下一批有序 SQL 增量变更和规范载荷。 |
| 数据库同步 | ack_database_deltas | 成功应用后确认截至 up_to_id 的所有增量变更,并释放其租约。 |
| 数据库同步 | sync_records_to_database | 验证并将已存储或提供的增强输出注入实体层和关联同步。 |
| 语义 ID | list_semantic_concepts | 浏览组织概念及其别名、使用次数和类型/模型维度。 |
| 语义 ID | get_semantic_concept | 读取一个概念的别名、身份源键、关联记录,以及其自身类型/模型范围内的最近邻。 |
| 语义 ID | probe_semantic_concept | 预览身份解析,不添加概念或增加其使用次数。 |
| 语义 ID | add_semantic_concept | 以零使用次数添加身份概念,或使用 alias_of 将文本添加为别名。 |
| 语义 ID | update_concept_alias | 使用 get_semantic_concept 返回的别名 ID 移除或提升概念别名。 |
| 语义 ID | import_semantic_concepts | 将 1..1000 个文本与一种概念类型进行解析。 |
| 语义 ID | merge_semantic_concepts | 将一个待合并概念合并到一个目标概念中。 |
| 语义 ID | delete_semantic_concepts | 按 ids、concept_types 或 unused_only 选择并删除概念。 |
| 语义 ID | migrate_semantic_embeddings | 检查或迁移组织的概念嵌入空间。 |
| 工具签名是可调用契约。各包装器共用后端服务,但不会暴露所有 REST/UI 选项。修改架构需要 editor;修改基准测试/运行基准测试需要 owner 和启用了基准测试的计划。注册数据库/管理凭据需要 owner 和启用了同步的计划。具体要求请参阅各工具。 |
数据资源
| 资源模板 | 含义 |
|---|---|
enricher://schemas/{schema_id} | 以 Markdown 格式提供的架构工作副本。若要使用关联的已发布契约,请调用 get_schema(version="published")。 |
enricher://records/{record_id} | 以 Markdown 格式提供的输出和指标;get_record 还会提供专业知识和数据库交付诊断信息。 |
enricher://attachments/{attachment_id} | 上传附件的字节数据,使用其真实媒体类型提供——委托大模型调用的作业如何将 PDF、图像或音频文件交给你。 |
作业和错误
长时间运行的工作使用此服务的启动 → 轮询 → 获取接口。启动工具会返回
job_id;generate_sample 返回时也可能已暂停或已完成。使用 get_job_status 轮询,通过 answer_job_question 回答暂停的提问,并使用 list_records(job_id=...) 获取记录。内存中找不到作业并不能证明作业已完成;请检查是否存在已持久化的记录。取消操作不会撤销之前生成的记录或数据库写入。
在你自己的模型上运行的作业(默认模式)也会在 llm_requests 处暂停,并在有问题时暂停;请参阅在你自己的模型上运行作业。
大多数失败会返回 success: false、error_code 和 message;一些较旧的工具只返回 error 或 message。MCP 传输响应成功并不意味着工作成功。即使已有输出,也请检查分类警告、失败的模型调用环节,以及部分成功/被拒绝的数据库处理结果。有关详细的恢复方法,请参阅丰富化指南。
范围和限制
- MCP 单条/批量丰富化工具不支持启用网络搜索;样例生成支持此功能。
- 批量丰富化没有固定的 100 个实体上限,但实时配额/额度可能会中止剩余工作。
- 批量工具没有
database_sync=false选项;单实体工具支持此选项。 - 删除/恢复记录、详细成本分析、基准测试结果导入/导出,以及部分数据库管理功能仍需在 Web 应用或 REST API 中完成。
- 架构文档使用受支持的 JSON Schema 方言,并包含 Entity Enricher 注解;直接编写架构前,请参阅架构参考。
链接
- MCP 公共文档
- REST API 参考
- 客户端配置
- MCP Registry —
ai.entityenricher/enricher;清单:server.json
关于此代码库
此公共代码库包含文档和客户端示例。服务内嵌于 Entity Enricher 后端中,并在私有单体代码库中维护;此目录以 git 子树的形式同步。 根据 MIT License 授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。