📇 🏠 🍎 🪟 🐧 - Interactive LLM workflows with local user prompts and chat directly in the MCP loop
interactive-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A MCP Server implemented in Node.js/TypeScript, facilitating interactive communication between LLMs and users. **Note:** This server is designed to run locally alongside the MCP client (e.g., Claude Desktop, VS Code), as it needs direct access to the user's operating system to display notifications and command-line prompts.
_(Note: This project is in its early stages.)_
**Want a quick overview?** Check out the introductory blog post: Stop Your AI Assistant From Guessing — Introducing interactive-mcp
Demo Video
Tools
This server exposes the following tools via the Model Context Protocol (MCP):
- request_user_input: Asks the user a question and returns their answer. Can display predefined options.
- message_complete_notification: Sends a simple OS notification.
- start_intensive_chat: Initiates a persistent command-line chat session.
- ask_intensive_chat: Asks a question within an active intensive chat session.
- stop_intensive_chat: Closes an active intensive chat session.
Demo
Here are demonstrations of the interactive features:
| Normal Question | Completion Notification |
| :--------------------------------------------------------: | :-----------------------------------------------------------------: |
| | |
| Intensive Chat Start | Intensive Chat End |
| :------------------------------------------------------------------: | :--------------------------------------------------------------: |
| | |
Usage Scenarios
This server is ideal for scenarios where an LLM needs to interact directly with the user on their local machine, such as:
- 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.
Client Configuration
This section explains how to configure MCP clients to use the interactive-mcp server.
By default, user prompts will time out after 30 seconds. You can customize server options like timeout or disabled tools by adding command-line flags directly to the args array when configuring your client.
Please make sure you have the npx command available.
Usage with Claude Desktop / Cursor
Add the following minimal configuration to your claude_desktop_config.json (Claude Desktop) or mcp.json (Cursor):
**With specific version**
**Example with Custom Timeout (30s):**
Usage with VS Code
Add the following minimal configuration to your User Settings (JSON) file or .vscode/mcp.json:
macOS Recommendations
For a smoother experience on macOS using the default Terminal.app, consider this profile setting:
- **(Shell Tab):** Under **"When the shell exits"** (**Terminal > Settings > Profiles > _[Your Profile]_ > Shell**), select **"Close if the shell exited cleanly"** or **"Close the window"**. This helps manage windows when the MCP server starts and stops.
Development Setup
This section is primarily for developers looking to modify or contribute to the server. If you just want to _use_ the server with an MCP client, see the "Client Configuration" section above.