AskMeMCP

Enables AI assistants to request human input through a web interface, facilitating human-in-the-loop interactions.

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:

  1. Auto-discovery (default): Finds available port starting from 3000

    npx --yes ask-me-mcp
    
  2. 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:

  1. Enable Debug Mode: Run with debug logging to see what's happening:

    ASK_ME_MCP_DEBUG=1 claude --debug
    
  2. Check the Server: Test if the server runs correctly:

    npx --yes ask-me-mcp --help
    
  3. Port Conflicts: If port 3000 is in use, specify a different port:

    claude mcp add ask-me npx --yes ask-me-mcp --port 8080
    
  4. 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. Use npx --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

Related Servers