Skip to main content
Glama
Nedak23
by Nedak23

User Steps MCP Server

An MCP (Model Context Protocol) server that provides a user_steps tool for Claude. This tool allows the agent to present step-by-step checklists to users and automatically opens an interactive terminal UI for completion.

Installation

1. Build the packages

cd user-steps-mcp
npm install
npm run build

cd cli
npm install
npm run build

2. Configure Claude Code

Add the MCP server to your Claude Code configuration. Choose one of these methods:

Option A: Project-level config (.mcp.json in your project root):

{
  "mcpServers": {
    "user-steps": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/user-steps-mcp/dist/index.js"]
    }
  }
}

Option B: Global config (~/.claude.json):

{
  "mcpServers": {
    "user-steps": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/user-steps-mcp/dist/index.js"]
    }
  }
}

Option C: Via Claude CLI:

claude mcp add user-steps node /path/to/user-steps-mcp/dist/index.js

3. Verify installation

claude mcp list

Related MCP server: turn-mcp-web

Usage

When Claude needs the user to perform manual steps, it will call the user_steps tool, which automatically opens a new terminal window with an interactive checklist UI.

The tool blocks and waits until the user completes the steps or cancels the session.

Companion CLI Controls

Key

Action

↑/↓

Navigate steps

Space/Enter

Toggle step completion

s

Toggle skip step

f

Add feedback/notes to step

c

Cancel session

Tool Schema

Input

{
  title: string;           // Title for the step list (max 50 chars)
  description?: string;    // Context explaining why these steps are needed
  steps: [{
    id: string;            // Unique step identifier
    title: string;         // Step title (max 100 chars)
    description?: string;  // Detailed instructions
    type?: 'action' | 'verification' | 'acknowledgment' | 'confirmation';
    required?: boolean;    // Default: true
    dependsOn?: string[];  // Step IDs that must complete first
  }];
  allowPartialCompletion?: boolean;  // Default: false
  timeoutMs?: number;      // Timeout in milliseconds
}

Output

{
  sessionId: string;
  status: 'completed' | 'cancelled' | 'timeout' | 'partial';
  steps: [{
    id: string;
    status: 'pending' | 'completed' | 'skipped';
    completedAt?: string;
    notes?: string;
  }];
  completedCount: number;
  totalCount: number;
  startedAt: string;
  completedAt?: string;
}

Example Tool Call

{
  "title": "Deploy to Production",
  "description": "Complete these steps to deploy the new release",
  "steps": [
    {
      "id": "backup",
      "title": "Create database backup",
      "description": "Run: pg_dump -h localhost production > backup.sql",
      "type": "action"
    },
    {
      "id": "verify",
      "title": "Verify backup exists",
      "type": "verification",
      "dependsOn": ["backup"]
    },
    {
      "id": "deploy",
      "title": "Run deployment script",
      "description": "Execute: ./deploy.sh production",
      "type": "action",
      "dependsOn": ["verify"]
    }
  ]
}

License

MIT

Available Tools

1 tool
user_stepsA

Present a checklist of steps to the user for manual completion.

Use this tool when you need the user to perform manual actions that you cannot do programmatically, such as:

  • Clicking buttons in a browser or GUI application

  • Logging into external services

  • Physically connecting hardware

  • Reviewing and approving changes

  • Performing actions that require human verification

This tool automatically opens a new terminal window with an interactive checklist UI where the user can mark steps complete using keyboard controls. The tool also returns a text summary.

Step types:

  • action: User must perform a manual action

  • verification: User must verify something is correct

  • acknowledgment: User must acknowledge they understand

  • confirmation: User must confirm to proceed

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoOptional session ID for resuming a previous session
titleYesOverall title for the step list
descriptionNoContext explaining why these steps are needed
stepsYesList of steps (1-20)
allowPartialCompletionNoAllow returning with some steps incomplete
timeoutMsNoTimeout in milliseconds (default: no timeout)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: opens a new terminal window with interactive UI, returns a text summary, and defines step types with their semantics. It could improve by mentioning error handling or UI specifics, but covers core interaction patterns well for a manual workflow tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and efficiently written. It starts with the core purpose, immediately provides usage guidelines with examples, then describes the tool's behavior and step types. Every sentence adds value without redundancy. The length is appropriate for a tool with multiple parameters and complex behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no annotations, and no output schema, the description provides strong contextual completeness. It explains the tool's purpose, when to use it, behavioral characteristics, and step semantics. The main gap is the lack of output information (what the 'text summary' contains), but given the tool's interactive nature and no output schema, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. However, it does provide context about step types (action, verification, etc.) that relates to the 'type' parameter's enum values, offering some semantic clarification. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Present a checklist of steps to the user for manual completion.' It specifies the verb ('present') and resource ('checklist of steps'), and distinguishes it from programmatic alternatives by explicitly stating it's for manual actions the AI cannot perform. The absence of sibling tools doesn't reduce this clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'Use this tool when you need the user to perform manual actions that you cannot do programmatically,' followed by concrete examples (clicking buttons, logging in, etc.). It also implicitly defines when not to use it (for programmatically executable tasks). No sibling tools exist, so no alternative comparison is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined as presenting checklists for manual user actions, which is distinct and self-contained.

Naming Consistency5/5

The single tool name 'user_steps' follows a consistent snake_case pattern, and since there are no other tools to compare against, it inherently maintains consistency. No naming conflicts or mixed conventions exist.

Tool Count2/5

A single tool is too few for a server's purpose, as it limits functionality and suggests an incomplete or overly narrow scope. While the tool is well-defined, a server typically benefits from multiple tools to cover related operations, making this count borderline inadequate.

Completeness3/5

The tool covers its specific domain of user interaction checklists well, including various step types like action and verification. However, as a standalone tool, it lacks broader coverage for a server that might imply more comprehensive user step management, such as creating, editing, or tracking steps over time.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to request human input through a web interface, allowing them to pause execution and wait for responses via interactive tools like single questions, multiple choice selections, hypothesis challenges, and decision workflows.
    22
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables human-in-the-loop checkpoints for AI agents, allowing them to pause and wait for human input via a web UI, then seamlessly resume execution.
    28
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A persistent state machine and notification system for AI agents to manage complex, multi-step workflows via the Model Context Protocol, preventing context drift by maintaining structured checklists and sending desktop alerts.
    14
    16
    2
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nedak23/user-steps-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server