AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Consult User MCP - A Human Consultation Interface
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Native dialog system for MCP (Model Context Protocol) servers. macOS and Windows.
Keep working while your AI agent runs autonomously. When it needs your input, a native dialog appears - answer the question, and the agent continues. No need to watch the terminal. Snooze if you're busy, or send feedback to redirect the agent.
Windows:
Download the installer from Releases and run it. First-run wizard automatically configures Claude Code.README 전문 보기 ↗Native dialog system for MCP (Model Context Protocol) servers. macOS and Windows.
Keep working while your AI agent runs autonomously. When it needs your input, a native dialog appears - answer the question, and the agent continues. No need to watch the terminal. Snooze if you're busy, or send feedback to redirect the agent.
See screenshots and full documentation →
macOS:
curl -sSL https://raw.githubusercontent.com/doublej/consult-user-mcp/main/install.sh | bash
Windows: Download the installer from Releases and run it. First-run wizard automatically configures Claude Code.
Quick install:
curl -sSL https://raw.githubusercontent.com/doublej/consult-user-mcp/main/install.sh | bash
Manual install:
macos/vX.Y.Z)/ApplicationsThe app is signed with a Developer ID and notarized by Apple, so there is no
quarantine flag to clear. The .zip asset beside the dmg is what install.sh
and the in-app updater consume.
windows/vX.Y.Z)The first-run wizard automatically configures Claude Code. Settings, snooze state, and history are stored in %APPDATA%\ConsultUserMCP\.
If you don't want the tray app, you can run the MCP server standalone:
git clone https://github.com/doublej/consult-user-mcp.git
cd consult-user-mcp/mcp-server
bun install && bun run build
Add to your MCP config:
{
"mcpServers": {
"consult-user-mcp": {
"command": "node",
"args": ["/path/to/consult-user-mcp/mcp-server/dist/index.js"]
}
}
}
curl -sSL https://raw.githubusercontent.com/doublej/consult-user-mcp/main/uninstall.sh | bash
Optional flags:
--keep-data keeps ~/Library/Application Support/ConsultUserMCP and ~/.config/consult-user-mcp/projects.json--dry-run prints planned changes without modifying filesYou can uninstall from Installed apps in Windows settings.
For full cleanup (MCP entries + base prompt block + app files), run:
powershell -ExecutionPolicy Bypass -File .\uninstall.ps1
Optional flags:
-KeepData keeps %APPDATA%\ConsultUserMCP and %USERPROFILE%\.config\consult-user-mcp\projects.json-DryRun prints planned changes without modifying filesmacOS:
bun install
bun run build:bundle # Builds and installs to /Applications
Windows: See CLAUDE.md for Windows build instructions (requires .NET SDK 8.0 and Velopack).
consult-user-mcp/
├── mcp-server/ # MCP server (TypeScript, cross-platform)
├── dialog-cli/ # macOS: Swift CLI for dialogs
├── sketch-cli/ # macOS: Swift CLI for layout editor
├── macos-app/ # macOS: SwiftUI menu bar app
├── dialog-cli-windows/ # Windows: WPF CLI for dialogs
├── windows-app/ # Windows: WPF system tray app
├── docs/ # Documentation site (SvelteKit)
└── scripts/ # Build and release scripts
| Tool | Purpose |
|---|---|
ask | Interactive dialog (type: confirm, pick, text, or form) |
notify | Fire-and-forget notification |
tweak | Real-time numeric value adjustment with live file writes |
All interactive dialogs (ask, tweak) have a 10-minute timeout.
Snooze: Users can snooze a dialog for 1-60 minutes. When snoozed:
{ snoozed: true, remainingSeconds: S }sleep for remainingSeconds, then retryFeedback: Users can send text feedback instead of answering. Returns { feedbackText: "..." } for the agent to adjust its approach.
flowchart TB
subgraph Agent["AI Agent (Claude Code, etc.)"]
A[Tool Call]
end
subgraph MCP["MCP Server (Node.js)"]
B[index.ts]
C{Platform?}
D[SwiftDialogProvider]
E[WindowsDialogProvider]
end
subgraph macOS["macOS"]
F[dialog-cli Swift]
G[SwiftUI Window]
end
subgraph Windows["Windows"]
H[dialog-cli.exe WPF]
I[WPF Window]
end
subgraph User["User Response"]
J[Answer]
K[Snooze]
L[Feedback]
end
A -->|"stdio (JSON-RPC)"| B
B --> C
C -->|"darwin"| D
C -->|"win32"| E
D -->|"execFile"| F
E -->|"execFile"| H
F --> G
H --> I
G --> J & K & L
I --> J & K & L
J & K & L -->|"JSON stdout"| B
B -->|"stdio"| A
style Agent fill:#e1f5fe
style MCP fill:#fff3e0
style macOS fill:#f3e5f5
style Windows fill:#e3f2fd
style User fill:#e8f5e9
ask, notify, or tweak