MCP Elicitation フォームビルダー
コーディング中級
2025-06-18 MCP仕様のaccept/decline/cancel 3アクションモデルに基づくJSON Schemaリクエストを生成し、フラットオブジェクト制約を自動検証します。
トリガー
/mcp-elicit使用頻度per tool
MCP Server Authorなら? Use /mcp-elicit to add interactive prompts to booking/approval tools
Backend Developerなら? Generate type-safe elicitation schemas with validation
MCPElicitationJSON Schemaインタラクティブ
動作フロー
/mcp-elicit [use-case] run
↓
Phase 1: analyze and generate
schema-gen
Generate requestedSchema from use case
validation
Validate flat-object + primitive constraints
handler
Create response handler (accept/decline/cancel)
↓
Wire into MCP server tool handler
↓
✓ Elicitation-enabled tool with schema + handler
スキルコード
# MCP Elicitation Form Builder
## Trigger: /mcp-elicit [use-case-description]
When invoked:
1. Analyze the use case and generate elicitation schema:
```typescript
// Example: travel booking tool needs dates
const elicitationRequest = {
method: "elicitation/create",
params: {
message: "Please provide your travel details",
requestedSchema: {
type: "object",
properties: {
destination: {
type: "string",
description: "Travel destination city"
},
departureDate: {
type: "string",
description: "Departure date (YYYY-MM-DD)"
},
returnDate: {
type: "string",
description: "Return date (YYYY-MM-DD)"
},
travelers: {
type: "number",
description: "Number of travelers"
}
},
required: ["destination", "departureDate"]
}
}
};
```
2. Generate response handler:
```typescript
const response = await client.request(elicitationRequest);
switch (response.action) {
case "accept":
// User submitted — process response.content
const { destination, departureDate } = response.content;
return await searchFlights(destination, departureDate);
case "decline":
// User explicitly said no
return { content: [{ type: "text", text: "Booking cancelled." }] };
case "cancel":
// User dismissed without choosing
return { content: [{ type: "text", text: "No action taken." }] };
}
```
3. Validation rules:
- Only flat objects (no nested objects/arrays)
- Only primitive types: string, number, boolean
- NEVER request sensitive info (passwords, tokens, SSN)
- Include clear descriptions for each field
コピーしてCLAUDE.mdに貼り付ければ、すぐに使えます。
MCP Elicitation フォームビルダー の仕組み
MCP Elicitation Form Builderは、ユースケースを分析してJSON Schemaベースのelicitationリクエストスキーマを生成し、accept/decline/cancelの3アクション応答ハンドラーを作成した後、MCPサーバーのツールハンドラーに接続します。2025-06-18スペックのflatオブジェクト+プリミティブ型制約を自動検証します。
MCP Elicitation フォームビルダー が力を発揮する場面
予約、承認、データ入力など、ツール実行中にユーザーから構造化された入力を取得する必要があるときに最も有用です。インタラクティブなプロンプトでワークフローを中断なく進行できます。
主な強み
- JSON Schemaベースの型安全なユーザー入力収集
- accept/decline/cancelの3アクションモデル完全対応
- MCP 2025-06-18スペック自動検証
- 機密情報リクエスト防止ガードレール内蔵