AskMeMCP - Human-in-the-Loop MCP Server
AskMeMCP is a Model Context Protocol (MCP) server that enables AI assistants to request human input through a web interface. It implements multiple interactive tools (ask-one-question
, ask-multiple-choice
, challenge-hypothesis
, choose-next
), allowing MCP clients like Claude Code to pause execution and wait for human responses.
Features
- stdio Transport: Direct integration with Claude Code and other MCP clients
- Self-Contained Server: Serves Angular UI statically - no separate UI server needed
- Dynamic Port Allocation: Automatically finds available port if default is in use
- Automatic Browser Opening: Opens UI automatically when requests arrive
- Real-time Updates: Server-Sent Events for live communication
- Multiple Tool Types: Single questions, multiple choice, hypothesis challenges, and decision workflows
Installation
Option 1: Using npx (No Installation Required)
You can run Ask-Me MCP directly using npx without installing it globally:
npx ask-me-mcp
Note: The first time you run this, npx will ask for confirmation to install the package temporarily. To skip this confirmation, use:
npx --yes ask-me-mcp
Option 2: Global Installation
npm install -g ask-me-mcp
ask-me-mcp
Configuration for Different Clients
Claude Desktop App
Add to your Claude configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"ask-me": {
"command": "npx",
"args": ["--yes", "ask-me-mcp"]
}
}
}
Claude Code
Using the CLI:
claude mcp add askme -- npx -y ask-me-mcp
Or manually add to your Claude Code configuration:
- macOS:
~/Library/Application Support/Claude/claude_code_config.json
- Windows:
%APPDATA%\Claude\claude_code_config.json
- Linux:
~/.config/Claude/claude_code_config.json
{
"mcpServers": {
"ask-me": {
"command": "npx",
"args": ["--yes", "ask-me-mcp"]
}
}
}
Cursor
Add to your Cursor settings (in .cursor/mcp_settings.json
in your project root):
{
"mcpServers": {
"ask-me": {
"command": "npx",
"args": ["--yes", "ask-me-mcp"]
}
}
}
VS Code with Continue or Similar Extensions
For VS Code extensions that support MCP, add to your extension's configuration:
{
"mcpServers": {
"ask-me": {
"command": "npx",
"args": ["--yes", "ask-me-mcp"]
}
}
}
Port Configuration
The server has two port behaviors:
Auto-discovery (default): Finds available port starting from 3000
npx --yes ask-me-mcp
Fixed port: Uses exact port specified with
--port
(fails if port is in use)npx --yes ask-me-mcp --port 8080
For Claude Code configuration with fixed port:
{
"mcpServers": {
"ask-me": {
"command": "npx",
"args": ["--yes", "ask-me-mcp", "--port", "8080"]
}
}
}
Option 3: Build from Source
# Clone the repository
git clone https://github.com/yourusername/AskMeMCP.git
cd AskMeMCP
# Install dependencies
npm install
# Build all projects
npm run build
# Configure Claude Code with full path
Add to your Claude Code configuration:
{
"mcpServers": {
"ask-me": {
"command": "node",
"args": ["/full/path/to/AskMeMCP/dist/askme-server/main.js"]
}
}
}
Usage
Once configured, you can use the available tools in Claude Code:
ask-one-question Tool
Please use the ask-one-question tool to ask me what my favorite color is
ask-multiple-choice Tool
Please use the ask-multiple-choice tool with these questions:
{
"questions": [
{
"text": "Which deployment environments should we target?",
"options": ["Development", "Staging", "Production"]
},
{
"text": "Which features should be included in this release?",
"options": ["User Authentication", "Dashboard Updates", "API Improvements", "Mobile Support"]
}
]
}
All requests will appear in the web UI where you can provide responses. For multiple choice questions, you can select multiple options and add comments to each choice.
Architecture
- askme-server: stdio MCP server with embedded HTTP bridge for browser communication
- askme-ui: Angular 20+ frontend with reactive UI using signals
- askme-shared: Shared TypeScript types for frontend-backend communication
Development
# Run the UI in development mode
npx nx serve askme-ui
# Run the server in development mode
npx nx serve askme-server
# Run tests
npx nx test askme-ui
npx nx test askme-server
# Lint code
npx nx lint askme-ui
npx nx lint askme-server
Troubleshooting
Connection Issues with Claude Code
If you see "Connection failed" errors:
Enable Debug Mode: Run with debug logging to see what's happening:
ASK_ME_MCP_DEBUG=1 claude --debug
Check the Server: Test if the server runs correctly:
npx --yes ask-me-mcp --help
Port Conflicts: If port 3000 is in use, specify a different port:
claude mcp add ask-me npx --yes ask-me-mcp --port 8080
Manual Test: Run the server directly to see any errors:
npx --yes ask-me-mcp
Common Issues
- First Time Confirmation: The first run of
npx ask-me-mcp
may ask for confirmation. Usenpx --yes
to skip this. - Port Already in Use: The server automatically finds an available port, but you can specify one with
--port
- Browser Not Opening: If the browser doesn't open automatically, manually navigate to the port shown in debug logs
License
MIT