by ttommyth
Facilitates interactive communication between LLMs and users on the local machine, offering tools for user input, OS notifications, and persistent command‑line chat sessions.
Interactive Mcp provides a local, cross‑platform MCP server that lets large language models interact directly with the end‑user’s operating system. It exposes a set of tools—such as prompting for user input, sending completion notifications, and running intensive chat sessions—so the model can request clarification, confirm actions, or gather feedback in real time.
npx
(or run it from source).interactive-mcp
package.pnpm start
for development or npx -y interactive-mcp
for production).request_user_input
: Prompt the user with a question and optional predefined choices.message_complete_notification
: Send a simple OS notification when a task finishes.start_intensive_chat
: Open a persistent terminal‑based chat session.ask_intensive_chat
: Query the user within an active intensive chat.stop_intensive_chat
: Close the intensive chat session.Q: Do I need to install Node.js globally?
A: Yes, Node.js (compatible version as defined in package.json
) is required. The server runs via npx
which handles package fetching.
Q: Can I disable certain tools?
A: Use the --disable-tools
(-d
) flag with a comma‑separated list (e.g., -d message_complete_notification,intensive_chat
).
Q: How do I change the input timeout?
A: Pass --timeout
(-t
) followed by the number of seconds (e.g., -t 45
).
Q: Is the server safe to run on my machine? A: The server only exposes the defined MCP tools and runs locally. It does not execute arbitrary commands unless explicitly invoked through the intensive chat tool.
Q: Where can I find the source code? A: On GitHub at https://github.com/ttommyth/interactive-mcp.
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
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.Here are demonstrations of the interactive features:
Normal Question | Completion Notification |
---|---|
![]() |
![]() |
Intensive Chat Start | Intensive Chat End |
---|---|
![]() |
![]() |
This server is ideal for scenarios where an LLM needs to interact directly with the user on their local machine, such as:
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.
Add the following minimal configuration to your claude_desktop_config.json
(Claude Desktop) or mcp.json
(Cursor):
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp"]
}
}
}
With specific version
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp@1.9.0"]
}
}
}
Example with Custom Timeout (30s):
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp", "-t", "30"]
}
}
}
Add the following minimal configuration to your User Settings (JSON) file or .vscode/mcp.json
:
{
"mcp": {
"servers": {
"interactive-mcp": {
"command": "npx",
"args": ["-y", "interactive-mcp"]
}
}
}
}
For a smoother experience on macOS using the default Terminal.app
, consider this profile setting:
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.
package.json
for version compatibility.npm install -g pnpm
after installing Node.js.Clone the repository:
git clone https://github.com/ttommyth/interactive-mcp.git
cd interactive-mcp
Install dependencies:
pnpm install
pnpm start
The interactive-mcp
server accepts the following command-line options. These should typically be configured in your MCP client's JSON settings by adding them directly to the args
array (see "Client Configuration" examples).
Option | Alias | Description |
---|---|---|
--timeout |
-t |
Sets the default timeout (in seconds) for user input prompts. Defaults to 30 seconds. |
--disable-tools |
-d |
Disables specific tools or groups (comma-separated list). Prevents the server from advertising or registering them. Options: request_user_input , message_complete_notification , intensive_chat . |
Example: Setting multiple options in the client config args
array:
// Example combining options in client config's "args":
"args": [
"-y", "interactive-mcp",
"-t", "30", // Set timeout to 30 seconds
"--disable-tools", "message_complete_notification,intensive_chat" // Disable notifications and intensive chat
]
pnpm build
pnpm lint
pnpm format
When interacting with this MCP server (e.g., as an LLM client), please adhere to the following principles to ensure clarity and reduce unexpected changes:
request_user_input
, start_intensive_chat
, etc.) frequently to engage with the user.You can provide these instructions to an LLM client like this:
# Interaction
- Please use the interactive MCP tools
- Please provide options to interactive MCP if possible
# Reduce Unexpected Changes
- Do not make assumption.
- Ask more questions before executing, until you think the requirement is clear enough.
Contributions are welcome! Please follow standard development practices. (Further details can be added later).
MIT (See LICENSE
file for details - if applicable, or specify license directly).
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "interactive": { "command": "npx", "args": [ "-y", "interactive-mcp" ], "env": {} } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.