MCP 服务器(claude.ai / Claude Desktop / Code / Cursor)- Entity Enricher 文档

MCP 服务器(Claude Desktop / Code / Cursor)

Entity Enricher 在 /api/mcp 内置了一个 Model Context Protocol 服务器——列出您的模式、增强实体、检查结果并解决分类警告,全部在一个 Claude 聊天中完成。无需工作流编辑器。

既然已有 n8n + Make,为何还需要 MCP?

形态不同,用例也不同。n8nMake 连接器为工作流自动化封装 API:触发器、定时运行、多步骤管道、持久化状态。MCP 则为交互式聊天封装 API:临时提问、探索式富集、后续澄清。工作流呈批量形态,聊天呈对话形态——界面不同,用户体验也不同。

只有 MCP 才能解锁的杀手级功能:交互式分类恢复。当预检分类器拒绝你的实体时(例如你要求以 Planet schema 增强“Titan”,但 Titan 是一颗卫星),n8n/Make 由于是非交互式的,只能自动取消。MCP 会将警告呈现给 Claude,Claude 会请你确认,一旦“确认”,工具便会跳过分类器重新运行。不会在流程中途失败,也无需从头重来。

快速开始

方式 1 — OAuth(推荐)

适用于 claude.ai、Claude Code、Cursor 以及任何支持标准 OAuth 流程的 MCP 客户端。无需创建或粘贴 API 密钥——客户端会自动发现授权服务器。

  1. 将 Entity Enricher 添加为连接器(在 claude.ai 中:设置 → 连接器 → 添加自定义连接器,或从目录中选择),URL 为 https://entityenricher.ai/api/mcp/
  2. 浏览器将打开 Entity Enricher 授权确认页面——如有需要请登录,然后点击 授权。该连接将以你自己的角色代表你执行操作。
  3. 可随时在 API 密钥 → 已连接应用 下管理或撤销连接——撤销将立即切断访问权限。

方式 2 — API 密钥(静态 JSON 配置)

适用于通过 JSON 文件配置而非交互式登录的客户端(Claude Desktop、Continue、Zed)。

  1. 1. 创建 API 密钥
    在 Entity Enricher 网页界面中:设置 → API 密钥 → 新建组织访问密钥。选择一个角色(operator 主要用于只读,editor 用于创建/编辑 schema,owner 拥有完全控制权)。复制 ent_… 值——它只会显示一次。
  2. 2. 在您的 MCP 客户端中注册

    对于 Claude Desktop,请编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

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

    重启 Claude Desktop。同样的代码片段适用于 Claude Code、Cursor、Continue 和 Zed——任何兼容 MCP 的客户端。

试一试

在新对话中:“列出我的 Entity Enricher schema,然后使用 Claude Sonnet 根据制药公司 schema 增强 Sanofi。” Claude 会自动发现工具、选择正确的工具、提示您确认模型和 schema 的选择,并内联流式返回结果。

工具

29 个工具覆盖了完整的增强与模式编写范围。其行为与所封装的 REST 端点完全一致(相同的校验、计费和套餐限制)——Web 界面获得修复时,MCP 也会同步获得。长时间运行的任务(批量增强、样本生成、基准测试运行)是异步的:启动工具返回一个 job_id,Claude 轮询 get_job_status,并在作业完成后从你的记录中获取已持久化的输出。

类别工具描述
发现list_models列出可用的 LLM 模型以及你套餐的 profile_limits,以便 Claude 在触发 HTTP 402 之前自我限流。
Schemalist_schemas列出你组织中已保存的 JSON 模式,置顶项优先。
Schemaget_schema通过 UUID 获取 schema 的完整内容。
Schemagenerate_sample根据实体类型描述生成一个逼真的样本实体——这是模式生成之前自然的第一步。若带有附件,交互式规划器可能会暂停并提出澄清问题。
Schemacreate_schema_from_sample通过 LLM 从样本实体字典生成 JSON 模式,可选择以上传的源文档(attachment_ids)为依据。结果会自动保存。
Schemaedit_schema以自然语言修改现有 schema。返回新内容 + 5 条后续建议。
Schemasave_schema持久化 Claude 直接编写的模式——无需 LLM 调用、无成本,并在服务器端完成校验。
Schemaupdate_schema重命名、替换内容、重新打标签或置顶已保存的模式,无需 LLM 调用。
Schemadelete_schema按 UUID 软删除已保存的模式。
丰富化enrich_entity带可选自动融合的多模型增强。接受可选的 attachment_ids 列表。分类不匹配时返回非错误响应,以便 Claude 可以要求用户确认并重试。
丰富化start_batch_enrichment异步增强最多 100 个实体——每个实体运行完整流程并自动融合。返回一个 job_id;结果将保存到你的记录中。
丰富化fetch_entities在服务器端从外部 REST API 获取实体的 JSON 数组(bearer / api_key / basic 认证)——与批量增强搭配使用。
丰富化retry_expertises仅重新运行某条记录中失败的专业领域,并将恢复的值合并回来——已成功的部分无需再次付费。
丰富化merge_records将 2 个以上的现有记录合并为一个融合结果——基于规则或使用 LLM 仲裁模型。
作业get_job_status轮询任意异步作业(批量、样本生成、基准测试运行):进度计数、最终摘要以及待处理的澄清问题。
作业cancel_job取消处于待处理、运行中或已暂停状态的作业。
作业answer_job_question回答已暂停作业的澄清问题并恢复该作业——generate_sample 的交互式部分。
基准测试list_benchmark_scenarios列出你保存的基准测试场景(可复用的增强测试)。
基准测试get_benchmark_scenario一个场景及其按模型评分的结果(质量 / 成本 / 速度)。
基准测试create_benchmark_scenario创建场景:模式 + 固定实体 + 策略 + 评分裁判。需要所有者角色以及包含基准测试的套餐。
基准测试update_benchmark_scenario更新场景的测试定义或评分配置;现有结果会被标记为过期。
基准测试set_benchmark_reference保存黄金参考输出并将其标记为已验证——运行前必需。
基准测试delete_benchmark_scenario删除场景及其结果。
基准测试run_benchmark在指定的模型列表、所选提供商的每个活跃模型或全部活跃模型上运行场景——每个结果都会根据参考基准自动评分。
记录list_records按类型、成功状态、模型、任务及自由文本搜索翻阅历史记录。
记录get_record单条记录的完整结构化输出 + 验证错误。
记录get_stats汇总的组织统计数据:总数、成功率、令牌数、成本。
附件upload_attachment上传一个 base64 文件(filename、content_base64、media_type?),并返回其附件 ID 以用于 enrich_entity。
附件delete_attachment按 ID 删除附件——便捷的丰富后清理步骤。

资源

资源让 Claude 无需消耗工具调用即可浏览数据——LLM 客户端会把它们当作文件对待。两种资源类型都以 Markdown 渲染,便于低成本内联展示。

URI 模板描述
enricher://schemas/{schema_id}以 Markdown 呈现的已保存架构——元数据标题 + 作为 JSON 代码块的 GeneratedJsonSchema。
enricher://records/{record_id}以 Markdown 呈现的过往扩充记录——元数据 + 结构化输出 + 校验错误。

杀手级功能:交互式分类恢复

当你要求 enrich_entity 使用分类模型,而实体与架构类型不匹配时,该工具会返回一个非错误响应,其中包含结构化的详细信息。Claude 会读取该响应,将推理过程呈现给你,并(在你确认后)使用 force_after_classification_warning=true 重试——即在重试时跳过分类器。

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

n8n 和 Make 在此状态下会自动取消,因为它们无法在流水线中途询问用户。MCP 可以做到,正是这一点差异让该连接器有了存在的意义。

同样的交互能力也驱动着第二种流程:当 generate_sample 带源文档运行时,其规划器可能会暂停并提出结构性澄清问题。Claude 会将它们转达给你,并通过 answer_job_question 恢复作业——一轮接一轮,直到样本生成完毕。

错误代码

工具错误会被映射为带有 error_code 字段的结构化字典,以便 Claude 进行模式匹配,而无需解析自由文本。HTTP 层的映射清晰明确:402 → 配额或额度错误,422 → 分类警告,504 → 超时,502 → 上游 LLM 故障。

error_code时间
invalid_requestUUID 格式错误、参数互斥(schema_id + target_schema),或请求体验证失败。
prompt_limit_reached每日/每周/每月 prompt 配额已用尽(HTTP 402)。响应体包含 period、limit、used、needed。
insufficient_credits组织已启用计费,但信用额余额过低,无法启动任务(HTTP 402)。响应正文包含余额和购买链接。
model_limit_exceeded请求的模型数量超出套餐允许范围(HTTP 402)。会回显限制值与请求值。
language_limit_exceeded请求的语言数量超出套餐允许范围(HTTP 402)。
concurrent_job_limit_reached该组织正在运行的富集任务过多。请等待或升级套餐。
classification_warning⚡ 非错误:预检 classifier 拒绝了该 entity。响应中携带 classification 上下文,以便 Claude 请用户确认,并使用 force_after_classification_warning=true 重试。
benchmarks_not_in_plan基准测试工具需要所有者角色以及包含 Model Benchmarks 的套餐(HTTP 403)。
enrichment_timeout作业超过 timeout_seconds。建议减少模型数量或拆分实体。
schema_generation_timeoutSchema 生成超过 timeout_seconds。
schema_generation_failed生成 schema 时上游 LLM 出错(HTTP 502)。
cancelled作业在运行中被取消(HTTP 499)。
not_foundSchema 或记录 ID 在您的组织中不存在。
http_error用于捕获没有结构化详情正文的 HTTP 错误。

有意省略的部分

另请参阅