Provides example implementation for Node.js projects, enabling AI to confirm actions before project creation and manipulation.
Enables confirmation workflows when working with PostgreSQL databases, particularly in verification steps for database implementations.
Offers integration options for Python projects, allowing AI to clarify intent when users request Python project creation.
Supports React application development workflows, enabling AI to verify understanding before implementing features like user authentication.
@mako10k/mcp-confirm
AI-ユーザー間の復唱確認プロトコルを実装するMCPサーバーです。LLMが不安になったときに、ユーザーに確認を取るためのツールを提供します。
@mako10k/mcp-confirm
A Model Context Protocol (MCP) server for AI-user confirmation and clarification. This server provides tools for AI assistants (LLMs) to ask users for confirmation when they need clarification or verification.
Overview
This MCP server implements the Model Context Protocol Elicitation specification to enable confirmation and clarification protocols between AI assistants and users.
AI assistants can use this in situations such as:
- Confirming actions before execution
- Clarifying ambiguous requests
- Verifying understanding is correct
- Asking yes/no questions
- Collecting user satisfaction ratings
Features
Available Tools
- ask_yes_no
- Ask yes/no confirmation questions
- Used when AI needs clarification or verification
- confirm_action
- Confirm actions before execution
- Includes impact and details in confirmation dialog
- clarify_intent
- Clarify ambiguous requests
- Present multiple interpretation options
- verify_understanding
- Verify AI's understanding is correct
- Confirm next steps before proceeding
- collect_rating
- Collect user satisfaction ratings
- Evaluate AI response quality
- elicit_custom
- Custom confirmation dialogs
- Use custom JSON schemas
- search_logs
- Search confirmation history logs
- Filter by type, success status, date range, response time
- Paginated results for large datasets
- analyze_logs
- Statistical analysis of confirmation history
- Success rates, response times, trends
- Grouping by type, time period, etc.
Installation
Configuration
Environment Variables
You can configure the server using environment variables:
MCP_CONFIRM_LOG_PATH
: Path to confirmation history log file (default:.mcp-data/confirmation_history.log
)MCP_CONFIRM_TIMEOUT_MS
: Default timeout for confirmations in milliseconds (default:60000
)NODE_ENV
: Set todevelopment
to enable debug logging
Timeout Behavior
The server uses intelligent timeout settings based on confirmation type:
- Critical actions (delete, remove operations): 120 seconds
- Warning actions: 90 seconds
- Simple yes/no questions: 30 seconds
- Rating requests: 20 seconds (reference only)
- Other confirmations: 60 seconds (default)
Confirmation History Logging
All confirmation interactions are logged to a file for audit purposes. The log includes:
- Timestamp of the request
- Confirmation type
- Full request and response data
- Response time in milliseconds
- Success/failure status
- Error messages (if any)
The log directory (.mcp-data/
) will be created automatically if it doesn't exist.
VS Code Integration
Add to your .vscode/mcp.json
:
Claude Desktop Configuration
Add to your Claude Desktop config.json
:
Windows
Location: %APPDATA%\Claude\config.json
macOS
Location: ~/Library/Application Support/Claude/config.json
Linux
Location: ~/.config/claude/config.json
Usage Examples
Basic Confirmation
Intent Clarification
Understanding Verification
Technical Specifications
- Protocol: Model Context Protocol Elicitation
- Language: TypeScript
- Runtime: Node.js
- SDK Version: @modelcontextprotocol/sdk ^1.0.0
How It Works
This server implements true MCP Elicitation protocol:
- Sends
elicitation/create
method to client - Defines user input structure with JSON Schema
- User responds with
accept
,decline
, orcancel
- On
accept
, receives structured data following schema
This enables reliable communication between AI and users.
Development
License
MIT License - see LICENSE file for details.
Repository
- GitHub: https://github.com/mako10k/mcp-confirm
- npm: https://www.npmjs.com/package/@mako10k/mcp-confirm
機能
利用可能なツール
- ask_yes_no
- はい/いいえの確認質問
- AIが明確化や検証が必要な時に使用
- confirm_action
- アクション実行前の確認
- 影響や詳細を含めた確認ダイアログ
- clarify_intent
- あいまいなリクエストの意図確認
- 複数の解釈オプションの提示
- verify_understanding
- AIの理解が正しいかの検証
- 次のステップの確認
- collect_rating
- ユーザー満足度の収集
- AIの回答品質の評価
- elicit_custom
- カスタム確認ダイアログ
- 独自のJSONスキーマを使用
セットアップ
VS Code統合
.vscode/mcp.json
でMCPクライアントとして設定済み:
使用例
基本的な確認
意図の確認
理解の検証
技術仕様
- プロトコル: Model Context Protocol Elicitation
- 言語: TypeScript
- ランタイム: Node.js
- SDKバージョン: @modelcontextprotocol/sdk ^1.0.0
プロトコルの仕組み
このサーバーは真のMCP Elicitationプロトコルを実装しており:
elicitation/create
メソッドでクライアントにリクエスト送信- JSONスキーマでユーザー入力の構造を定義
- ユーザーは
accept
、decline
、cancel
で応答 accept
の場合、スキーマに従った構造化データを受信
これにより、AIとユーザー間の確実な意思疎通が可能になります。
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An MCP server implementing AI-user confirmation protocols, providing tools for LLMs to seek user confirmation when uncertain through yes/no questions, action confirmations, intent clarification, understanding verification, and satisfaction ratings.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.Last updated -3276594TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that allows agents to test and compare LLM prompts across OpenAI and Anthropic models, supporting single tests, side-by-side comparisons, and multi-turn conversations.Last updated -PythonMIT License
- -securityFlicense-qualityA specialized server that enables LLMs to gather specific information through sequential questioning, implementing the MCP standard for seamless integration with LLM clients.Last updated -1Python
- AsecurityAlicenseAqualityA Node.js/TypeScript MCP server that facilitates interactive communication between LLMs and users, allowing AI assistants to request user input, display notifications, and manage command-line chat sessions.Last updated -5485TypeScriptMIT License