AI Drive MCPサーバー
Claude Desktopなど外部のMCPクライアントから、Keuralのドライブ文書を検索して読みます。
Keuralは、ドライブをMCPサーバーとして提供しています。外部のMCPクライアントがこのサーバーに接続すると、キーの発行を受けたユーザーが閲覧できるドライブ文書を検索し、ページ単位で読めます。プラグインが外部システムをKeuralに接続するのに対し、このサーバーはKeuralの文書を外部のAIに接続します。
認証には組織のAPIキーを使います。組織のAPIキーはKeuralの運用側が発行するため、導入の担当者に依頼してください。キーは発行を受けたユーザー1人の権限で動作し、drive:readの権限が必要です。キーを回収すると、1分以内に既存の接続も遮断されます。
接続情報
| 項目 | 値 |
|---|---|
| 通信方式 | MCP Streamable HTTP |
| アドレス | https://<環境ごとのエージェントサーバードメイン>/core/v1/mcp-drive |
| 認証 | Authorization: Bearer <組織のAPIキー>(すべてのリクエスト) |
リクエストの方法
| メソッド | 用途 |
|---|---|
POST | JSON-RPCのリクエストが1件。レスポンスは常にapplication/jsonが1つです。通知(notifications/*)は本文なしで202を返します。 |
GET | サーバーイベントのストリーム。Accept: text/event-streamとMcp-Session-Idが必要です。15秒ごとにkeepaliveを送り、Last-Event-IDで続きを受け取ります。 |
DELETE | セッションを終了。Mcp-Session-Idが必要で、204を返します。 |
initializeに成功すると、レスポンスヘッダーのMcp-Session-IdでセッションIDが返されます。セッションは任意で、セッションなしでPOSTだけを送ってもかまいません。セッションは最後のリクエストから1時間保たれ、作成したキーに紐づきます。MCP-Protocol-Versionヘッダーは任意です。送る場合は2025-06-18である必要があります。- サーバー情報は
keural-ai-driveで、提供する機能はtoolsだけです。
HTTPエラー
HTTPの段階のエラーはJSON-RPC形式ではないため、ステータスコードで確認します。
| ステータス | 原因 |
|---|---|
401 | キーがない、または誤っている。回収・期限切れのキー |
403 | キーにdrive:readの権限がない |
400 | 対応していないMCP-Protocol-Version、JSONの解析失敗(-32700)、GET・DELETEにセッションIDがない |
404 | 不明または期限切れのセッションID |
405 | GETにAccept: text/event-streamがない |
JSON-RPCの段階のエラーは、200と一緒にerrorとして返されます。不明なメソッド・ツールは-32601、不正なリクエスト形式は-32600です。
ツール
| ツール | 入力 | 説明 |
|---|---|---|
list_files | なし | 閲覧できる文書の一覧(名前、id、アップロード日、更新日、ほかの人がアップロードした場合はアップロードした人)。ドライブの文書とチャットの添付ファイルが一緒に返され、originで区別します。最大500件で、超える場合はtruncated: trueが付きます |
search_drive | query | 文書の内容を意味で検索し、関連する一節と引用情報を返します |
read_document_page | file_id、page | 文書の特定のページの全文を読みます。file_idは上の2つのツールの結果から取得し、pageは1から数えます |
ツールの結果は、content[0].textにJSON文字列として入ります。
| ツール | textの中のJSON |
|---|---|
list_files | {"files":[{"name","id","created_date","modified_date","owner_name","origin"}], "truncated": false}。日付はyyyy-MM-dd HH:mm |
search_drive | {"sources":[{"id","name","url","contents":[…]}]} |
read_document_page | {"file_id","page","rows":[…]} |
ツールの実行に失敗すると、JSON-RPCのエラーではなく、isError: trueと{"error": "…"}を返します。閲覧できない文書も、存在しない文書も、すべてfile not found or not accessibleを返します。
クライアントの設定例
リモートのMCPサーバーに対応しているクライアントに、アドレスとヘッダーを登録します。以下は形式の例です。設定形式はクライアントごとに異なるため、使用するクライアントのリモートMCPサーバー追加方法に従ってください。
{
"mcpServers": {
"keural-drive": {
"type": "http",
"url": "https://<環境ごとのエージェントサーバードメイン>/core/v1/mcp-drive",
"headers": { "Authorization": "Bearer <組織のAPIキー>" }
}
}
}MCPプロトコルのバージョンは2025-06-18に対応しています。