原文(日本語に翻訳)
MCPエリシテーションのサポートを追加 — MCPサーバーがタスク実行中にインタラクティブなダイアログ(フォームフィールドまたはブラウザURL)を通じて構造化入力を要求できるようになりました
原文(英語)
Added MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
概要
MCP(Model Context Protocol)のエリシテーション機能により、MCPサーバーがタスク実行中にユーザーへ構造化入力を要求できるようになりました。フォームフィールドへの入力やブラウザでの認証など、MCPサーバーが必要な情報をインタラクティブに収集できます。設定は不要で、対応するMCPサーバーが要求を送ると自動的にダイアログが表示されます。
基本的な使い方
エリシテーションはMCPサーバー側の機能であり、Claude Code側で特別な設定は必要ありません。MCPサーバーがエリシテーションリクエストを送信すると、Claude Codeは自動的にダイアログを表示します。
フォームモード: MCPサーバーが定義したフォームフィールドが表示される
┌─────────────────────────────────────────┐
│ データベース接続情報を入力してください │
│ │
│ ホスト名: [________________] │
│ ユーザー名: [________________] │
│ パスワード: [________________] │
│ │
│ [キャンセル] [送信] │
└─────────────────────────────────────────┘URLモード: ブラウザが自動的に開き、OAuth認証などのフローを実行
MCPサーバーが認証を要求しています。
ブラウザで認証を完了してください...
URL: https://auth.example.com/oauth/authorize?...実践例
GitHubなどのOAuth認証が必要なサービスへの接続
bash
# GitHubのMCPサーバーを追加
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# Claude Code内でMCPを起動
# /mcp と入力すると認証フローが始まるセッション中にGitHub関連のタスクを依頼すると、MCPサーバーが認証を要求するエリシテーションダイアログが表示されます。
Claudeへの依頼: "PRのレビューをして"
→ MCPサーバーがGitHub認証を要求
→ ブラウザが開きOAuth認証フローが実行される
→ 認証完了後、タスクが続行されるフォームフィールドによる設定情報の入力
カスタムMCPサーバーがデータベース接続情報などを要求する場面:
Claudeへの依頼: "本番DBのユーザー一覧を確認して"
→ MCPサーバーが接続情報を要求するフォームを表示
→ ホスト名、ユーザー名、パスワードを入力
→ MCPサーバーが接続してデータを取得Elicitationフックで自動応答する
繰り返し同じ入力が必要な場合は Elicitation フックで自動化できます。
json
// .claude/settings.json
{
"hooks": {
"Elicitation": [
{
"matcher": "my-db-server",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/auto-respond-elicitation.sh"
}
]
}
]
}
}bash
# auto-respond-elicitation.sh
#!/bin/bash
# 標準入力からエリシテーションデータを読み込む
INPUT=$(cat)
# 事前定義された値で自動応答
echo '{
"hookSpecificOutput": {
"hookEventName": "Elicitation",
"action": "accept",
"content": {
"host": "db.internal.company.com",
"username": "readonly_user"
}
}
}'注意点
- セキュリティ: フォームに入力した情報はMCPサーバーに送信されます。信頼できるMCPサーバーのみに接続してください
- アクション: エリシテーションへの応答として
accept(承認)、decline(拒否)、cancel(キャンセル)が選択できます - URLモード: ブラウザが自動的に開かない場合は、表示されたURLを手動でブラウザに貼り付けてください
- MCP仕様: MCP 1.1以降のエリシテーション仕様に対応したサーバーが必要です