Agent はサードパーティサービス — GitHub、Jira、データベース、自前 MCP サーバーなど — にアクセスする必要があることがしばしばあります。Vaults はセキュアな認証情報の預け先を提供し、トークンを当社に保管していただき、Session 実行時に必要に応じて注入します。コードへのハードコーディングは不要です。
コアコンセプト
| 概念 | 説明 |
|---|
| Vault | 認証情報コンテナ。複数の Credential を含めることが可能 |
| Credential | 個別の認証情報レコード。具体的な MCP サーバー URL にバインド |
protocol | MCP 通信プロトコル。streamable_http のみ公開 |
type | 認証情報のタイプ。現在は static_bearer のみサポート |
vault_ids | Session 作成時に参照する Vault ID のリスト |
セキュリティ
access_token は API レスポンスで決して返却されません
- 認証情報はサーバー側で暗号化保管されます
- 関連付けられた Session のみが実行時に認証情報内容にアクセスできます
エンドツーエンドフロー
Vault を作成する
curl -X POST https://api.qoder.com/api/v1/cloud/vaults \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"display_name": "私の GitHub 認証情報",
"credentials": [
{
"mcp_server_url": "https://mcp.github.com/mcp",
"protocol": "streamable_http",
"type": "static_bearer",
"access_token": "ghp_xxxxxxxxxxxx"
}
]
}'
レスポンス例:{
"id": "vault_019e5cdb9c3f71c3b6505eba937a40b4",
"type": "vault",
"display_name": "私の GitHub 認証情報",
"status": "active",
"credentials": [
{
"id": "vcred_019e5cdb9c4f72a3b6505eba937a40c5",
"vault_id": "vault_019e5cdb9c3f71c3b6505eba937a40b4",
"status": "active",
"mcp_server_url": "https://mcp.github.com/mcp",
"protocol": "streamable_http",
"type": "static_bearer",
"created_at": "2026-05-18T08:00:00Z",
"updated_at": "2026-05-18T08:00:00Z"
}
],
"metadata": {},
"created_at": "2026-05-18T08:00:00Z",
"updated_at": "2026-05-18T08:00:00Z"
}
レスポンスには access_token フィールドは含まれません。Credential を追加する
1 つの Vault には、いつでも追加の認証情報を加えられます。curl -X POST https://api.qoder.com/api/v1/cloud/vaults/vault_019e5cdb9c3f71c3b6505eba937a40b4/credentials \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"mcp_server_url": "https://jira.example.com/mcp",
"protocol": "streamable_http",
"type": "static_bearer",
"access_token": "jira_token_xxxxxxxx"
}'
Session で使用する
Session 作成時に vault_ids で関連付けます。curl -X POST https://api.qoder.com/api/v1/cloud/sessions \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"agent": "agent_xxx",
"vault_ids": ["vault_019e5cdb9c3f71c3b6505eba937a40b4"]
}'
Session 実行時、Agent は Vault に含まれるすべての Credential のアクセス権を自動的に取得し、対応する MCP サーバーへの接続に利用します。
パラメータ説明
| パラメータ | 型 | 必須 | 説明 |
|---|
display_name | string | はい | Vault の表示名 |
credentials | array | はい | 認証情報リスト。少なくとも 1 つの認証情報オブジェクトが必要 |
credentials[].mcp_server_url | string | はい | MCP サーバーアドレス |
credentials[].protocol | string | はい | streamable_http |
credentials[].type | string | はい | 現在は static_bearer のみ |
credentials[].access_token | string | はい | Bearer Token の値 |
よくある質問
Q: 既存の Credential のトークンを更新できますか? A: 旧 Credential を削除し、新たに作成することでローテーションできます。
Q: 1 つの Session に Vault を何個関連付けられますか? A: ハードリミットはありませんが、サービス単位でグループ化して管理し、整理を保つことを推奨します。
Q: トークンが漏洩したら? A: 直ちに該当 Credential を削除し、サードパーティ側でトークンを失効させたうえで、新しい Credential を作成してください。
Q: 保管したトークンを参照できますか? A: できません。セキュリティ上、access_token は書き込み後に読み取れず、削除して再作成するのみとなります。
環境ごと (開発/本番) に独立した Vault を作成し、認証情報の混在を避けることを推奨します。
次のステップ
Session の開始
vault_ids で Session に Vault を関連付ける。
Agent の定義
Vault Credential を利用する MCP サーバーを Agent に構成する。
Memory Stores
Session をまたいだ永続メモリを Agent に与える。
クラウド環境
コンテナのネットワークアクセス範囲を制御する。