Entity Enricher は /api/mcp に組み込みの Model Context Protocol サーバーを提供しています。スキーマの一覧表示、エンティティのエンリッチメント、結果の確認、分類の警告の解決を すべて 1 つの Claude チャット内から 行えます。ワークフローエディターは不要です。
形が異なれば、ユースケースも異なります。n8nとMakeのコネクタは、ワークフローの自動化のためにAPIをラップします。トリガー、スケジュール実行、マルチステップのパイプライン、永続的な状態などです。MCPはインタラクティブなチャットのためにラップします。アドホックな質問、探索的なエンリッチメント、フォローアップの確認などです。ワークフローはバッチ型、チャットは会話型であり — 表面が異なればUXも異なります。
MCP だけが解放する画期的な機能、それが対話的な分類の再開です。事前チェックの分類器がエンティティを拒否した場合(例えば「Titan」を Planet スキーマに対してエンリッチしようとしたものの、Titan は衛星である場合)、n8n や Make.com は非対話的であるため自動的にキャンセルせざるを得ません。MCP は警告を Claude に提示し、Claude が確認を求め、「はい」と答えるとツールは分類器なしで再実行されます。パイプライン途中での失敗も、最初からのやり直しもありません。
claude.ai、Claude Code、Cursor、および標準の OAuth フローに対応するあらゆる MCP クライアント向けです。作成や貼り付けが必要な API キーはありません。クライアントが認可サーバーを自動的に検出します。
https://entityenricher.ai/api/mcp/ です。インタラクティブなサインインではなく JSON ファイルで設定するクライアント(Claude Desktop、Continue、Zed)向けです。
ent_…の値をコピーしてください。一度しか表示されません。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スキーマを一覧表示し、次にClaude Sonnetを使って製薬会社スキーマに対してSanofiをエンリッチしてください。」 Claudeはツールを自動的に検出し、適切なものを選択し、モデルとスキーマの選択を確認するよう促し、結果をインラインでストリーミングします。
29 個のツールが enrichment とschema作成の全範囲をカバーします。動作はラップしている REST エンドポイントと同一です(同じ検証、課金、プラン制限)——Web UI に修正が入ると、MCP にも反映されます。長時間かかる処理(batch enrichment、サンプル生成、benchmark 実行)は非同期です。開始ツールが job_id を返し、Claude が get_job_status をポーリングして、jobの完了後に永続化された出力をrecordから取得します。
| カテゴリ | ツール | 説明 |
|---|---|---|
| 検出 | list_models | 利用可能なLLMモデルと、お使いのプランのprofile_limitsを一覧表示し、HTTP 402に達する前にClaudeが自動的にスロットリングできるようにします。 |
| スキーマ | list_schemas | 組織内の保存済みJSONスキーマを、ピン留めされたものを先頭にして一覧表示します。 |
| スキーマ | get_schema | UUIDでschemaの全内容を取得します。 |
| スキーマ | generate_sample | entity タイプの説明から現実的なサンプル entity を生成します——schema 生成の前段階として自然な最初のステップです。attachment がある場合、対話型プランナーが確認質問とともに一時停止することがあります。 |
| スキーマ | create_schema_from_sample | サンプル entity の辞書から LLM で JSON schema を生成します。アップロードしたソースドキュメント(attachment_ids)に基づいて生成することもできます。結果は自動保存されます。 |
| スキーマ | edit_schema | 既存のschemaを自然言語で変更します。新しいコンテンツと5件のフォローアップ提案を返します。 |
| スキーマ | save_schema | Claude が直接作成した schema を永続化します——LLM 呼び出しなし、コストなし、サーバー側で検証されます。 |
| スキーマ | update_schema | 保存済み schema の名前変更、内容の置き換え、再タグ付け、ピン留めを LLM 呼び出しなしで行います。 |
| スキーマ | delete_schema | 保存済み schema を UUID で論理削除します。 |
| エンリッチメント | enrich_entity | オプションの自動フュージョンを備えたマルチモデルエンリッチメントです。オプションでattachment_idsリストを受け付けます。分類の不一致はエラーではないレスポンスを返すため、Claudeはユーザーに確認と再試行を求めることができます。 |
| エンリッチメント | start_batch_enrichment | 最大 100 件の entity を非同期に enrichment します——entity ごとに完全なパイプラインを実行し、自動 fusion を行います。job_id を返し、結果は record に格納されます。 |
| エンリッチメント | fetch_entities | 外部 REST API からサーバー側で entity の JSON 配列を取得します(bearer / api_key / basic 認証)——batch enrichment と組み合わせて使用します。 |
| エンリッチメント | retry_expertises | record の失敗した expertise domain のみを再実行し、回復した値をマージし直します——すでに成功した分の再課金はありません。 |
| エンリッチメント | merge_records | 既存の 2 件以上の record を 1 つの fusion 結果にマージします——ルールベース、または LLM の arbitration model を使用します。 |
| job | get_job_status | 任意の非同期 job(batch、サンプル生成、benchmark 実行)をポーリングします:進捗カウンター、終了サマリー、保留中の確認質問。 |
| job | cancel_job | 保留中、実行中、または一時停止中の job をキャンセルします。 |
| job | answer_job_question | 一時停止した job の確認質問に回答して再開します——generate_sample の対話部分です。 |
| ベンチマーク | list_benchmark_scenarios | 保存済みの benchmark scenario(再利用可能な enrichment テスト)を一覧表示します。 |
| ベンチマーク | get_benchmark_scenario | 1 つの scenario と、その model ごとのスコア付き結果(品質 / コスト / 速度)。 |
| ベンチマーク | create_benchmark_scenario | scenario を作成します:schema + 固定 entity + 戦略 + スコアリング判定。owner ロールと benchmark を含むプランが必要です。 |
| ベンチマーク | update_benchmark_scenario | scenario のテスト定義またはスコアリング設定を更新します。既存の結果は古いものとしてフラグが立てられます。 |
| ベンチマーク | set_benchmark_reference | ゴールド参照出力を保存し、検証済みとしてマークします——実行前に必須です。 |
| ベンチマーク | delete_benchmark_scenario | scenario とその結果を削除します。 |
| ベンチマーク | run_benchmark | 明示的な model リスト、選択した provider のすべてのアクティブな model、またはすべてのアクティブな model で scenario を実行します——各結果は参照に対して自動的にスコアリングされます。 |
| レコード | list_records | タイプ、成功、モデル、ジョブ、フリーテキスト検索のフィルターで過去のレコードをページごとに閲覧できます。 |
| レコード | get_record | 1 レコード分の完全な構造化出力と検証エラーです。 |
| レコード | get_stats | organization統計の集計:合計、成功率、トークン、コスト。 |
| 添付ファイル | upload_attachment | base64 ファイル(filename、content_base64、media_type?)をアップロードし、enrich_entity で使用するアタッチメント ID を返します。 |
| 添付ファイル | delete_attachment | IDでattachmentを削除します。enrichment後の便利なクリーンアップ手順です。 |
リソースを使うと、Claude はツール呼び出しを消費せずにデータを閲覧できます。LLM クライアントはリソースをファイルのように扱います。どちらのリソースタイプも、軽量なインライン表示のために Markdown としてレンダリングされます。
| URIテンプレート | 説明 |
|---|---|
| enricher://schemas/{schema_id} | 保存されたスキーマをMarkdownとして描画したもので、メタデータのヘッダーと、フェンスで囲まれたJSONブロックとしてのGeneratedJsonSchemaが含まれます。 |
| enricher://records/{record_id} | 過去のエンリッチメントレコードをMarkdownとして表示したものです。メタデータ+構造化出力+検証エラー。 |
enrich_entity に classification model の使用を依頼し、entity が schema のタイプと一致しない場合、ツールは構造化された詳細を含むエラーではないレスポンスを返します。Claude はそれを読み取り、理由をあなたに提示し、(あなたの確認のうえで)force_after_classification_warning=true で再試行します。この再試行では classifier が省かれます。
{
"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 は問い合わせが可能であり、このたった1つの違いがコネクターの存在理由です。
同じ対話機能が 2 つ目のフローを支えます:generate_sample をソースドキュメント付きで実行すると、そのプランナーが構造に関する確認質問とともに一時停止することがあります。Claude はそれをあなたに伝え、answer_job_question で job を再開します——サンプルが生成されるまで、何度もやり取りを繰り返します。
ツールエラーは error_code フィールドを持つ構造化された辞書に変換されるため、Claude は自由形式のテキストを解析する代わりにパターンマッチングを行えます。HTTP レイヤーは明快に対応します:402 → クォータまたはクレジットのエラー、422 → 分類の警告、504 → タイムアウト、502 → 上流の LLM 障害。
| error_code | タイミング |
|---|---|
| invalid_request | 不正な形式の UUID、相互排他的な引数(schema_id + target_schema)、またはリクエストボディの検証に失敗しました。 |
| prompt_limit_reached | 日次/週次/月次のプロンプトクォータを使い切りました(HTTP 402)。ボディには period、limit、used、needed が含まれます。 |
| insufficient_credits | 組織は請求が有効になっていますが、クレジット残高が低すぎてジョブを開始できません(HTTP 402)。本文には残高と購入URLが含まれます。 |
| 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 | benchmark ツールには owner ロールと Model Benchmarks を含むプランが必要です(HTTP 403)。 |
| enrichment_timeout | ジョブが timeout_seconds を超えました。モデルを減らすか、エンティティを分割することをお勧めします。 |
| schema_generation_timeout | スキーマ生成が timeout_seconds を超過しました。 |
| schema_generation_failed | スキーマ生成中にアップストリームのLLMエラーが発生しました(HTTP 502)。 |
| cancelled | ジョブが実行中にキャンセルされました (HTTP 499)。 |
| not_found | スキーマまたはレコード ID が組織内に存在しません。 |
| http_error | 構造化された詳細本文を持たない HTTP エラーの総括処理。 |
get_stats はチャット側のサマリーに対応します。完全なダッシュボードはアプリ内でご利用いただけます。