メインコンテンツまでスキップ

MCP APIおよびSDKリファレンス

MCPセットアップを自動化するには、これらの例を使用します。APIは、各MCPをMcpServiceリソースとして表します。ワークスペースUIについては、外部MCPサーバーを参照してください。アクセス制御とポリシーについては、MCPの管理を参照してください。

前提条件​

  • MCPサーバーのURLと認証詳細を用意するか、既存のHTTP接続を使用します。
  • 操作の登録権限または更新・削除権限を確認してください。
  • Databricks CLI または選択した SDK をインストールして認証します。SDK のスニペットでは、認証済みのワークスペースクライアントを前提としています。

main.default.my_mcp、接続名、および data-team を独自の値に置き換えます。CREATE MCP SERVICE などの SQL コマンドを使用した MCP の作成はサポートされていません。

API オペレーション​

MCP REST APIはこれらの操作を提供します。各Linkに従って、フィールド、権限、および応答を確認してください。

オペレーション

用途:

作成

HTTP接続を介してMCPサーバーを登録します。

リスト

スキーマ内でアクセスできるMCPを検索します。

取得

MCPの構成と現在のetagを読み取ります。

更新

コメント、接続、ツールの選択、またはレート制限を変更します。

削除

登録されている MCP を削除します。

サインイン

プロバイダーを使用して呼び出し元にサインインするか、再認証します。

サインインの確認

呼び出し元のプロバイダーのログイン状態を読み取ります。

サインアウト

呼び出し元のプロバイダーの資格情報を取り消します。

オペレーション

用途:

作成

HTTP接続を介してMCPサーバーを登録します。

リスト

スキーマ内でアクセスできるMCPを検索します。

取得

MCPの構成と現在のetagを読み取ります。

更新

コメント、接続、ツールの選択、またはレート制限を変更します。

削除

登録されている MCP を削除します。

サインイン

プロバイダーを使用して呼び出し元にサインインするか、再認証します。

サインインの確認

呼び出し元のプロバイダーのログイン状態を読み取ります。

サインアウト

呼び出し元のプロバイダーの資格情報を取り消します。

ツールを発見して呼び出すには、MCP URL (https://<workspace-hostname>/ai-gateway/mcp-services/<catalog>.<schema>.<service>) を指定してMCPクライアントを使用します。これらの管理 APIs は、unity-catalog OAuth スコープを使用します。MCPツール呼び出しではai-gatewayを使用します。

接続を作成​

MCP サーバーへのスキーマレベルの HTTP 接続を作成します。これらの例では、ベアラートークンを使用してhttps://mcp.example.com/mcpに接続します。OAuth およびその他の認証設定については、HTTP 接続の設定を参照してください。

RESTまたはCLIの場合、このリクエストを connection.json として保存し、URLとトークンをご利用のサーバーの値に置き換えます。この資格情報ファイルはソース管理の対象外にしてください。

JSON
{
"name": "my_connection",
"parent": "schemas/main.default",
"connection_type": "HTTP",
"options": {
"host": "https://mcp.example.com",
"port": "443",
"base_path": "/mcp",
"bearer_token": "<mcp-server-token>"
}
}

Connections APIにリクエストを送信します。

Bash
databricks api post /api/2.1/unity-catalog/connections --json @connection.json

接続のフルネームは main.default.my_connection です。以下の MCP を作成するときに、connections/main.default.my_connection として参照します。接続がすでに存在する場合は、その名前を使用してこのステップをスキップします。

MCPを作成する​

MCP は既存の HTTP 接続を参照します。公開するツールを制限するには、 ツール選択を設定します。

/api/2.1/unity-catalog/mcp-services に POST を送信し、クエリーパラメーターとして parent と mcp_service_id を渡します。config.source_connection.name は、MCP サーバーへの Unity Catalog HTTP 接続を識別します。ツールを制限するには include_tool_selectors を設定し、すべてのツールを公開するには省略します。利用可能なツールの選択を参照してください。

Bash
databricks api post \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
--json '{
"comment": "External MCP server",
"config": {
"source_connection": {
"name": "connections/main.default.my_connection"
}
}
}'

MCPを検索​

アクセスできる MCP をスキーマに一覧表示し、リソース名で MCP の構成を取得します。組み込みの MCP の場合は、schemas/system.ai を親として使用します。

Bash
databricks api get \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&view=FULL"

databricks api get "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp"

リスト応答に next_page_token が含まれる場合は、次のリクエストでそれを page_token として渡します。next_page_token が存在しないか空になるまで継続します。

リストの応答では default で BASIC ビューが使用され、ソース接続の詳細とレート制限のプリンシパル名が省略されます。それらのフィールドを含めるには、 FULL を使用します。CLI と Python イテレータがページネーションを処理します。

アクセス権を付与​

これらの例では、MCP に対して EXECUTE を付与します。親権限を含む完全なアクセス要件については、MCP の共有を参照してください。

Bash
databricks api patch \
"/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["EXECUTE"] }
]
}'

プロバイダーのサインインを管理する​

ユーザーごとの OAuth を使用する MCP の場合、各呼び出し元が外部プロバイダーにサインインします。対話型サインインについては、外部サービスのセットアップに従ってください。

資格情報 APIs はベータ版です。独自の OAuth フローに統合するには:

  1. OAuth 交換フィールド (authorization_code、pkce_verifier、および oauth_redirect_uri) を使用して 呼び出し元の資格情報を作成します。
  2. 資格情報のステータスを確認します。資格情報を使用可能にする前に、provisioning_info.stateをACTIVEにする必要があります。NOT_FOUND は、呼び出し元がまだ資格情報を持っていないことを意味します。
  3. サインアウトするには、呼び出し元の資格情報を削除します。

これらの操作により、呼び出し側のユーザーの認証情報が管理されます。呼び出し元には、MCP へのアクセスが必要です。

MCPを更新する​

これらの例では、MCPのコメントを更新します。MCP名は変更できません。

update_mask を変更するフィールド(comment、config.source_connection.name、config.include_tool_selectors、config.rate_limits など)に設定します。config を使用すると、構成全体が置き換えられ、省略されたオプションフィールドがクリアされます。接続を変更する際、MCPの所有者には新しい接続に対する USE CONNECTION も必要となります。

条件付き更新を行うには、まずMCPを取得し、更新時にそのetagを渡します。更新は、その読み取り以降に MCP が変更されていない場合にのみ成功します。REST クエリー文字列に追加するときに、etagを URL エンコードします。

Bash
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
--json '{"comment": "Updated: governs an MCP server"}'

例: ツール選択の更新​

名前が get_ で始まるツールのみを公開するには:

Bash
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=config.include_tool_selectors" \
--json '{
"config": {
"include_tool_selectors": ["get_*"]
}
}'

空の include_tool_selectors リストでは、すべてのツールが公開されます。UI のステップについては、利用可能なツールの選択を参照してください。

MCPの削除​

削除する予定のMCPのみを削除してください。そのURLで構成されたクライアントからは呼び出すことができなくなります。

また、MCPの現在のetagを渡して、最後の読み取り以降に変更されていない場合にのみ削除を実行するように条件付けることもできます。RESTクエリー文字列のetagをURLエンコードします。

Bash
databricks api delete "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp"

その他のリソース​