- Explore MCP Servers
- mcp-interactive
Mcp Interactive
What is Mcp Interactive
MCP Interactive is an interactive server based on the Model Context Protocol (MCP) that provides a user interface through an Electron application, facilitating dynamic user interactions, particularly in the context of coordinating large language models (LLMs).
Use cases
This server is designed for scenarios where LLMs require clarification or need to make decisions that involve user input, thereby enhancing control and predictability of outcomes while minimizing unnecessary requests and interactions.
How to use
To use MCP Interactive, you can install it locally via npm, configure the server settings in your project, and utilize the ‘ask_user’ tool to prompt users for input. Alternatively, you can run the server using npx without a local installation, specifying command-line options such as timeout settings.
Key features
Notable features include the ‘ask_user’ functionality which allows for interactive user prompts, compatibility with various IDEs, and a command-line interface for setting configurations like timeouts. It also reduces the billable requests significantly by minimizing user interactions within tasks.
Where to use
MCP Interactive is compatible with several development environments, including Trae IDE, Claude for Mac, Cursor IDE, augment code, and Visual Studio Code with Copilot, making it suitable for software development and project management tasks involving LLMs.
Overview
What is Mcp Interactive
MCP Interactive is an interactive server based on the Model Context Protocol (MCP) that provides a user interface through an Electron application, facilitating dynamic user interactions, particularly in the context of coordinating large language models (LLMs).
Use cases
This server is designed for scenarios where LLMs require clarification or need to make decisions that involve user input, thereby enhancing control and predictability of outcomes while minimizing unnecessary requests and interactions.
How to use
To use MCP Interactive, you can install it locally via npm, configure the server settings in your project, and utilize the ‘ask_user’ tool to prompt users for input. Alternatively, you can run the server using npx without a local installation, specifying command-line options such as timeout settings.
Key features
Notable features include the ‘ask_user’ functionality which allows for interactive user prompts, compatibility with various IDEs, and a command-line interface for setting configurations like timeouts. It also reduces the billable requests significantly by minimizing user interactions within tasks.
Where to use
MCP Interactive is compatible with several development environments, including Trae IDE, Claude for Mac, Cursor IDE, augment code, and Visual Studio Code with Copilot, making it suitable for software development and project management tasks involving LLMs.
Content
MCP Interactive
An interactive MCP (Model Context Protocol) server with an Electron interface for user interaction.
Key Features
This MCP server enhances LLM coordination, offering greater control and predictability, and significantly reduces billable requests by minimizing user interactions within a single task.
For a detailed history of changes, see the Changelog.
Demo
Compatibility
- Tested and Confirmed:
- Trae IDE
- Claude for Mac
- augment code
- Cursor IDE
- VSCode with Copilot
Available Tools
ask_user
- Prompts the user with a question via a pop-up command prompt and awaits their interactive response.
Input Schema:
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Identifies the context/project making the request"
},
"message": {
"type": "string",
"description": "The specific question for the user. Supports Markdown formatting."
},
"predefinedOptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Predefined options for the user to choose from (optional)"
}
},
"required": [
"projectName",
"message"
]
}
Installation
Local Installation
- Install dependencies:
npm install
- Configure MCP server:
{
"mcpServers": {
"mcp-interactive": {
"command": "node",
"args": [
"/path/to/project/mcp-interactive/index.js",
"-t",
"300"
]
}
}
}
Using npx
{
"mcpServers": {
"mcp-interactive": {
"command": "npx",
"args": [
"mcp-interactive",
"-t",
"300"
]
}
}
}
System Prompt Recommendations
This section outlines recommended guidelines for system prompts or rules for LLMs to ensure optimal interaction and task execution.
## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `ask_user` tool via MCP
- **Requires decisions**: ALWAYS clarify using `ask_user` tool via MCP
## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `ask_user` tool via MCP with work report
System Prompt Recommendations for Cursor IDE
## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `mcp_mcp-interactive_ask_user` tool via MCP
- **Requires decisions**: ALWAYS clarify using `mcp_mcp-interactive_ask_user` tool via MCP
## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `mcp_mcp-interactive_ask_user` tool via MCP with work report
Command Line Options
--timeout
or-t
(seconds): Specifies the waiting time for the user’s response dialog. If no response is received within this period, the reply “User did not reply: Timeout occurred.” will be sent.
Troubleshooting
Common Issues
Electron not starting:
- Ensure the current version of Node.js is installed
- Try reinstalling dependencies by running:
npm install
Timeout issues for answer (progressbar):
- Increase timeout value using
-t
parameter - Default timeout is 60 seconds, adjust as needed
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate and follow the existing code style.
Support
If you encounter any problems or have questions, please open an issue on GitHub.
Dependencies
This project includes a local copy of marked.js (marked.min.js
) for Markdown parsing functionality. Marked is licensed under the MIT License and is maintained by the Marked.js team and contributors.
License
MIT
Third-Party Licenses
- marked.js: MIT License - Copyright © 2018+, MarkedJS contributors