Interactive Terminal MCP server

Interactive terminal interface for enhancing AI interactions with user input capabilities, notifications, and cross-platform support for complex tasks requiring confirmation or clarification.
Back to servers
Provider
ttommyth
Release date
Apr 28, 2025
Language
TypeScript
Package
Stats
2.5K downloads
194 stars

The interactive-mcp server enables direct communication between Large Language Models (LLMs) and users, allowing for interactive dialogue through notifications and command-line prompts. It's designed to run locally alongside MCP clients like Claude Desktop or VS Code to provide a more intuitive AI assistance experience.

Installation

Quick Installation with MCP Clients

You can configure your MCP client to automatically download and run the interactive-mcp server when needed.

For Claude Desktop or Cursor

Add this configuration to your claude_desktop_config.json (Claude Desktop) or mcp.json (Cursor):

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": ["-y", "interactive-mcp"]
    }
  }
}

For VS Code

Add this configuration to your User Settings (JSON) file or .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "interactive-mcp": {
        "command": "npx",
        "args": ["-y", "interactive-mcp"]
      }
    }
  }
}

Using a Specific Version

To use a particular version of the server:

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": ["-y", "[email protected]"]
    }
  }
}

macOS Configuration

For a better experience on macOS with Terminal.app, configure your terminal profile:

  • Go to Terminal > Settings > Profiles > [Your Profile] > Shell
  • Under "When the shell exits", select "Close if the shell exited cleanly" or "Close the window"

Configuration Options

You can customize the server behavior by adding command-line flags to the args array in your client configuration:

Timeout Settings

Set the timeout for user prompts (defaults to 30 seconds):

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": ["-y", "interactive-mcp", "-t", "30"]
    }
  }
}

Disabling Tools

Disable specific functionality if needed:

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": [
        "-y", "interactive-mcp",
        "--disable-tools", "message_complete_notification,intensive_chat"
      ]
    }
  }
}

Available Tools

The interactive-mcp server provides these tools:

  • request_user_input: Prompts the user with a question and returns their answer. Can display predefined options.
  • message_complete_notification: Sends a simple OS notification.
  • start_intensive_chat: Begins a persistent command-line chat session.
  • ask_intensive_chat: Asks questions within an active intensive chat session.
  • stop_intensive_chat: Ends an active intensive chat session.

Usage Scenarios

This server is particularly useful for:

  • Interactive setup or configuration processes
  • Gathering feedback during code generation or modification
  • Clarifying instructions or confirming actions in pair programming
  • Any workflow requiring user input or confirmation during LLM operation

Guiding Principles for LLM Interaction

When using this MCP server with an LLM, follow these best practices:

  • Prioritize Interaction: Use the provided MCP tools frequently to engage with users
  • Seek Clarification: Always ask clarifying questions before proceeding when requirements are unclear
  • Confirm Actions: Before performing significant actions, confirm the plan with the user
  • Provide Options: Present users with predefined options through MCP tools when possible

You can provide these instructions to an LLM client with:

# Interaction
- Please use the interactive MCP tools
- Please provide options to interactive MCP if possible

# Reduce Unexpected Changes
- Do not make assumptions
- Ask more questions before executing, until you think the requirement is clear enough

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later