MCP-Confirm

MCP-Confirm

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.

Category
Visit Server

Tools

ask_yes_no

Ask a yes/no confirmation question to the user when the AI needs clarification or verification

confirm_action

Ask user to confirm an action before proceeding with potentially impactful operations

clarify_intent

Ask user to clarify their intent when the request is ambiguous or could be interpreted multiple ways

collect_rating

Collect user satisfaction rating for AI's response or help quality

elicit_custom

Create a custom confirmation dialog with specific schema when standard tools don't fit

verify_understanding

Verify that the AI correctly understood the user's requirements before proceeding

README

@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

  1. ask_yes_no

    • Ask yes/no confirmation questions
    • Used when AI needs clarification or verification
  2. confirm_action

    • Confirm actions before execution
    • Includes impact and details in confirmation dialog
  3. clarify_intent

    • Clarify ambiguous requests
    • Present multiple interpretation options
  4. verify_understanding

    • Verify AI's understanding is correct
    • Confirm next steps before proceeding
  5. collect_rating

    • Collect user satisfaction ratings
    • Evaluate AI response quality
  6. elicit_custom

    • Custom confirmation dialogs
    • Use custom JSON schemas
  7. search_logs

    • Search confirmation history logs
    • Filter by type, success status, date range, response time
    • Paginated results for large datasets
  8. analyze_logs

    • Statistical analysis of confirmation history
    • Success rates, response times, trends
    • Grouping by type, time period, etc.

Installation

# Install globally
npm install -g @mako10k/mcp-confirm

# Or use with npx
npx @mako10k/mcp-confirm

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 to development 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:

{
  "servers": {
    "mcp-confirm": {
      "type": "stdio",
      "command": "npx",
      "args": ["@mako10k/mcp-confirm"]
    }
  }
}

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

{
  "mcp": {
    "servers": {
      "mcp-confirm": {
        "command": "npx",
        "args": ["@mako10k/mcp-confirm"],
        "env": {
          "MCP_CONFIRM_LOG_PATH": "~/.mcp-data/confirmation_history.log",
          "MCP_CONFIRM_TIMEOUT_MS": "60000",
          "NODE_ENV": "production"
        }
      }
    }
  }
}

Usage Examples

Basic Confirmation

// Before AI executes an action
await confirm_action({
  action: "Delete files",
  impact: "Cannot be restored",
  details: "10 files will be deleted"
});

Intent Clarification

// When request is ambiguous
await clarify_intent({
  request_summary: "Want to create a project",
  ambiguity: "Type of project unclear",
  options: ["Node.js project", "Python project", "React app"]
});

Understanding Verification

// Before complex tasks
await verify_understanding({
  understanding: "Create web application with user authentication",
  key_points: ["React + Node.js", "JWT authentication", "PostgreSQL database"],
  next_steps: "Create project structure then implement auth system"
});

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:

  1. Sends elicitation/create method to client
  2. Defines user input structure with JSON Schema
  3. User responds with accept, decline, or cancel
  4. On accept, receives structured data following schema

This enables reliable communication between AI and users.

Development

# Clone repository
git clone https://github.com/mako10k/mcp-confirm.git
cd mcp-confirm

# Install dependencies
npm install

# Build
npm run build

# Run locally
npm start

# Quality checks
npm run quality

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

機能

利用可能なツール

  1. ask_yes_no

    • はい/いいえの確認質問
    • AIが明確化や検証が必要な時に使用
  2. confirm_action

    • アクション実行前の確認
    • 影響や詳細を含めた確認ダイアログ
  3. clarify_intent

    • あいまいなリクエストの意図確認
    • 複数の解釈オプションの提示
  4. verify_understanding

    • AIの理解が正しいかの検証
    • 次のステップの確認
  5. collect_rating

    • ユーザー満足度の収集
    • AIの回答品質の評価
  6. elicit_custom

    • カスタム確認ダイアログ
    • 独自のJSONスキーマを使用

セットアップ

# 依存関係のインストール
npm install

# ビルド
npm run build

# 実行(グローバルインストール後)
npm install -g @mako10k/mcp-confirm
mcp-confirm

# または npx で直接実行
npx @mako10k/mcp-confirm

VS Code統合

.vscode/mcp.jsonでMCPクライアントとして設定済み:

{
  "servers": {
    "mcp-confirm": {
      "type": "stdio",
      "command": "npx",
      "args": ["@mako10k/mcp-confirm"]
    }
  }
}

使用例

基本的な確認

// AIがアクションを実行する前
await confirm_action({
  action: "ファイルを削除",
  impact: "復元できません",
  details: "10個のファイルが削除されます"
});

意図の確認

// あいまいなリクエストの場合
await clarify_intent({
  request_summary: "プロジェクトを作成したい",
  ambiguity: "どの種類のプロジェクトか不明",
  options: ["Node.js プロジェクト", "Python プロジェクト", "React アプリ"]
});

理解の検証

// 複雑なタスクの前
await verify_understanding({
  understanding: "Webアプリケーションを作成して、ユーザー認証を実装する",
  key_points: ["React + Node.js", "JWT認証", "PostgreSQLデータベース"],
  next_steps: "プロジェクト構造を作成してから認証システムを実装"
});

技術仕様

  • プロトコル: Model Context Protocol Elicitation
  • 言語: TypeScript
  • ランタイム: Node.js
  • SDKバージョン: @modelcontextprotocol/sdk ^1.0.0

プロトコルの仕組み

このサーバーは真のMCP Elicitationプロトコルを実装しており:

  1. elicitation/createメソッドでクライアントにリクエスト送信
  2. JSONスキーマでユーザー入力の構造を定義
  3. ユーザーはacceptdeclinecancelで応答
  4. acceptの場合、スキーマに従った構造化データを受信

これにより、AIとユーザー間の確実な意思疎通が可能になります。

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured