Entity Enricher について
複数モデルでスキーマを設計し、エンティティをエンリッチするホスト型 MCP サーバーです。既定ではクライアント所有のモデルを呼び出し、結果の統合、セマンティック ID 解決、データベース連携、タスク別ベンチマークにも対応します。
主な機能
- 01再利用可能なスキーマの作成と編集
- 02単一エンティティやバッチのエンリッチ
- 03結果の統合と失敗領域の再試行
- 04セマンティック ID と別名の解決
- 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 Server
Entity Enricher 用のホスト型 Model Context Protocol サーバーです。https://entityenricher.ai/api/mcp/(Streamable HTTP)で利用できます。
MCP 対応クライアントから、次のことができます。
- クライアント自身のモデルで任意のジョブを実行できます。デフォルトでは、プラットフォームのモデル呼び出しもクレジットの消費もありません(
use_platform_models=trueでオプトアウトします)。 - サンプルデータやドキュメントから再利用可能なスキーマを設計し、プロパティを直接編集できます。
- 多言語フィールドや複数のモデルを使って、単一のエンティティまたはリストをエンリッチできます。
- 結果を統合し、成功した作業を繰り返すことなく、失敗した専門領域を復元できます。
- 繰り返し登場するオブジェクトをセマンティックな ID に解決し、別名や不確かな一致を整理できます。
- 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を確認します。各エントリは、MCP のsampling/createMessage形式(システムプロンプト、メッセージ、ツール、toolChoice)での 1 回のモデル呼び出しであり、そのステップを示すpurposeと期限を示すexpires_atが含まれます。バイナリ添付ファイルはインライン化されず、enricher://attachments/{id}リソースとして参照されます。抽出済みのテキストはすでにメッセージに含まれています。- リクエストを独自のモデルで実行し、結果を
answer_llm_requestで返します。プラットフォームはプロバイダーの応答とまったく同じ方法で検証します。応答が拒否された場合、エラーを含む失敗したツール結果とともに同じ会話が返されるので、修正して再度回答してください。 - ジョブが完了するまで繰り返します。レコードにはモデルキー
mcp::clientが付与され、費用はかかりません。リクエストに 15 分以内に回答しないと、ジョブは失敗します(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 |
| セマンティック ID | 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 | LLM を呼び出さずに、保存済みスキーマのメタデータを編集するか、schema_content 全体を置き換えます。 |
| スキーマ | get_schema_part | 編集に必要なスキーマの断片だけを読み込みます。 |
| スキーマ | get_enum_candidates | 各オープン列挙型の現在の語彙に含まれない観測値を、最近のエンリッチメントレコードにおける件数とともに一覧表示します。 |
| スキーマ | update_schema_property | スキーマ全体を置き換えずに、パスで指定した 1 つのプロパティを編集または削除します。 |
| スキーマ | add_schema_property | ルート(parent_path='')、オブジェクトのパス、または '$defs.X' の下にプロパティを追加します。 |
| スキーマ | move_schema_property | フラグと専門知識を維持したまま、1 つのプロパティをルート、オブジェクトのパス、または '$defs.X' に移動します。 |
| スキーマ | resolve_unify_proposal | get_schema からの保留中のエンティティ型統合提案を 1 件解決します。 |
| スキーマ | 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 のいずれか一方に対して 1 つのエンティティをエンリッチメントし、構造化出力、record_id、コスト、データベース処理の結果を返します。 |
| エンリッチメントとフュージョン | retry_expertises | 既存レコードで失敗した専門知識ドメインのみを再試行し、出力を更新して、実行のフュージョン/同期を試みます。 |
| エンリッチメントとフュージョン | merge_records | 同じエンティティの 2 件以上のレコードを新しい調停レコードに統合します。 |
| ジョブ制御 | get_job_status | ジョブのステータス、進捗状況、永続化されたレコード ID を含む簡潔な終了時サマリーを読み込みます。 |
| ジョブ制御 | cancel_job | 保留中、実行中、または一時停止中の LLM ジョブのキャンセルをリクエストします。 |
| ジョブ制御 | answer_job_question | pause の下に返された質問への回答を使って、一時停止中のジョブを再開します。 |
| ジョブ制御 | answer_llm_request | お使いのモデルで実行中のジョブからの LLM リクエストに回答します(use_platform_models=true または明示的なプラットフォームモデルを指定しない限り、各開始ツールのデフォルトです)。あなたがそのモデルです。 |
| レコードと統計 | list_records | 組織内の簡潔なレコードを、ページネーション付きで新しいものから順に一覧表示します。 |
| レコードと統計 | get_record | 永続化された 1 件のレコードの structured_output、entity_input_data、検証エラー、専門知識の判定、メトリクスを読み込みます。 |
| レコードと統計 | get_stats | 組織全体のレコード数、成功率、トークン数、コストのサマリーを読み込みます。 |
| ベンチマーク | list_benchmark_scenarios | ベンチマークシナリオの簡潔なサマリーと合計件数を一覧表示します。 |
| ベンチマーク | get_benchmark_scenario | モデルごとの品質、コスト、速度の結果を含むベンチマークシナリオを 1 件読み込みます。 |
| ベンチマーク | 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 | 1 つの概念のエイリアス、識別子のソースキー、リンクされたレコード、同じ型/モデルの範囲内で近傍にある概念を読み込みます。 |
| セマンティック ID | probe_semantic_concept | 概念を追加したり使用回数を増やしたりせずに、識別子解決のプレビューを表示します。 |
| セマンティック ID | add_semantic_concept | 使用回数がゼロの識別概念を追加するか、alias_of を使ってテキストをエイリアスとして追加します。 |
| セマンティック ID | update_concept_alias | get_semantic_concept のエイリアス ID を使って、概念のエイリアスを削除または昇格します。 |
| セマンティック ID | import_semantic_concepts | 1 つの概念型に対して、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} | 実際のメディアタイプで提供される、アップロード済み添付ファイルのバイトデータです。ジョブが LLM 呼び出しを委譲する際に、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オプションがありません。単一エンティティ用ツールにはあります。 - レコードの削除/復元、詳細なコスト分析、ベンチマーク結果のインポート/エクスポート、一部のデータベース管理は、引き続きウェブアプリまたは REST API で行う必要があります。
- スキーマドキュメントは、Entity Enricher の注釈を含むサポート対象の JSON Schema 方言を使用します。直接作成する前に、スキーマリファレンスを参照してください。
リンク
- 公開 MCP ドキュメント
- REST API リファレンス
- クライアント設定
- MCP Registry —
ai.entityenricher/enricher。マニフェスト:server.json
このリポジトリについて
この公開リポジトリには、ドキュメントとクライアントの例が含まれています。サーバーは Entity Enricher のバックエンドに組み込まれており、非公開のモノレポで保守されています。このディレクトリは git subtree として同期されています。MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。