クライアントの接続
前提条件
- HTTP MCP URL を受け付ける MCP クライアント(Claude、Cursor、ChatGPT、Claude Code、独自クライアントなど)
- 初回の OAuth 同意に使えるブラウザ(API キーを使う場合を除く)
- Runtime を単一プロジェクトに固定したい場合のプロジェクト id
正確なホスト名はデプロイに依存します。以下の本番風の例では https://mcp.getodin.ai を使用します。オンプレミスやプライベートデプロイでは、環境の MCP ホストを使用してください。
MCP クライアントに EKB を追加
ほとんどのクライアントは URL だけでよく、OAuth 自体を実行します。
{
"mcpServers": {
"ekb-builder": { "url": "https://mcp.getodin.ai/builder/mcp" },
"ekb": { "url": "https://mcp.getodin.ai/runtime/mcp" }
}
}
必要なエンドポイントのみを使用してください。多くのチームは、日常のアシスタントが構成を変更できないように、まず Runtime のみから始めます。
| エンドポイント | サーバー | 目的 |
|---|---|---|
…/builder/mcp | EKB Builder | エージェント、ワークフロー、テーブル、インターフェース、KB の作成と変更 |
…/runtime/mcp | EKB Runtime | エージェントへの質問、公開済みツールの実行、KB の検索、テーブルのクエリ |
ツールサーフェスは Builder と Runtime をご覧ください。
クライアント別のヒント
| クライアントのパターン | ヒント |
|---|---|
Cursor / Claude Code スタイルの mcpServers JSON | 上記の URL ブロックをクライアントの MCP 設定に貼り付け |
| 「リモート MCP」UI が別にあるクライアント | 完全な …/builder/mcp または …/runtime/mcp URL を貼り付け |
| カスタムヘッダーをサポートするクライアント | Runtime には x-project-id を追加;CI には API キーヘッダーを追加 |
プロンプトが出たらサインイン
初回使用時に、クライアントは認証チャレンジを受け取り、ブラウザの同意フローを開きます:
- 必要に応じて EKB にサインイン
- クライアント名と権限(Build in your workspace または Use your agents and tools)を確認
- 承認または拒否
同意後、クライアントはあなたとして EKB を呼び出します。そのプロジェクトであなたのユーザーアカウントができることだけができ、通常の EKB 権限は引き続き適用されます。
同意リンクは期限切れになるか、1回限りになります。期限切れのリクエストというメッセージが表示されたら、MCP クライアントから接続を再度開始してください。
詳細:認証。
プロジェクトの固定(Runtime)
クライアントがカスタムヘッダーをサポートする場合、以下を送信します:
x-project-id: <your-project-id>
| モード | 動作 |
|---|---|
x-project-id あり | ツールがそのプロジェクトにスコープされる;名前はより短く保たれる(例:ask_support_bot) |
| 固定なし | Runtime はアクセス可能なプロジェクト間で集約する場合がある;エージェント/ツール名にプロジェクト名が修飾される可能性 |
Builder はヘッダーで固定しません — モデルが各 create/update 呼び出しでプロジェクト id を渡します(ツールスキーマに従い target_project_id または project_id)。プロジェクト id を検出する必要がある場合は、Runtime の list_odin_projects(または既知の id)を使用してください。
ヘッドレスアクセス(CI と自動化)
対話型 OAuth にはブラウザが必要です。CI、評価、スクリプトの場合は、ユーザー単位の API キーとシークレットをヘッダーとして渡してください:
{
"mcpServers": {
"ekb": {
"url": "https://mcp.getodin.ai/runtime/mcp",
"headers": {
"X-API-KEY": "...",
"X-API-SECRET": "...",
"x-project-id": "optional-project-id"
}
}
}
}
プロジェクト一覧と複数プロジェクトの Runtime が引き続き機能するように、プロジェクト単位のキーではなくユーザー単位のキーを推奨します。認証をご覧ください。
トラブルシューティング
| 症状 | 確認すること |
|---|---|
| 同意ページにリクエストの期限切れと表示 | クライアントから接続を再開;保留中のリクエストは短命 |
| クライアントは接続したがツールが空 / 間違いのプロジェクト | Runtime URL と Builder URL を確認;単一プロジェクトを意図した場合は x-project-id を設定 |
run_* ツールがない | まず EKB でワークフロー/カスタムツールを公開 — 下書きは公開されない |
エージェントの ask_* がない | 同じアカウントでプロダクトからそのエージェントに到達できることを確認 |
| Builder が間違いのプロジェクトに作成 | 書き込みツールでモデルが target_project_id / project_id を渡すことを確認 |
| API キーが1プロジェクト分しか動かない | プロジェクト間で list_odin_projects が必要な場合はユーザー単位のキーに切り替え |