Description
### 1. Basic Configuration
This is a minimal, usable configuration for the **Interactive MCP** server.
Assumes the server is started by a simple command like `interactive-mcp` on your PATH.
```json
{
"mcpServers": {
"interactive-mcp": {
"command": "interactive-mcp",
"args": [],
"env": {},
"metadata": {
"category": "productivity",
"description": "Interactive MCP server for conversational, step-by-step tasks."
}
}
}
}
```
**Explanation (not part of JSON):**
- `mcpServers`: Top-level key in `~/.claude/settings.json` where all MCP server configs live.
- `"interactive-mcp"`: The identifier Claude will use for this server. You’ll reference this name in Claude Code UI.
- `command`: The executable that starts the Interactive MCP server. This must be installed and available on your PATH.
- `args`: Empty array means no extra arguments; just run `interactive-mcp`.
- `env`: Empty object means no special environment variables are needed.
- `metadata.category`: Set to `"productivity"` as requested.
- `metadata.description`: Optional but helpful for identifying the server in UI.
---
### 2. Advanced Configuration
This configuration adds:
- A specific Node.js entrypoint
- Logging and debug options via env vars
- A custom working directory
- Timeout and concurrency controls (passed as arguments)
Assumes you’re running a Node-based MCP server via `npx` or a local script.
```json
{
"mcpServers": {
"interactive-mcp": {
"command": "node",
"args": [
"/usr/local/lib/interactive-mcp/server.js",
"--max-concurrent-sessions",
"5",
"--request-timeout-ms",
"30000"
],
"env": {
"INTERACTIVE_MCP_MODE": "development",
"INTERACTIVE_MCP_LOG_LEVEL": "debug",
"INTERACTIVE_MCP_STORAGE_PATH": "/var/tmp/interactive-mcp",
"NODE_ENV": "development"
},
"workingDirectory": "/usr/local/lib/interactive-mcp",
"metadata": {
"category": "productivity",
"description": "Interactive MCP server with debug logging and concurrency limits."
},
"timeoutSeconds": 60,
"disabled": false
}
}
}
```
**Explanation (not part of JSON):**
- `command: "node"`: Uses Node.js directly to run the server script.
- `args`:
- First arg is the path to the MCP server script.
- `--max-concurrent-sessions 5`: Limits how many parallel interactive sessions Claude can run.
- `--request-timeout-ms 30000`: Server-level timeout per request (30 seconds).
- `env`:
- `INTERACTIVE_MCP_MODE`: Custom mode flag your server can read.
- `INTERACTIVE_MCP_LOG_LEVEL`: Enables verbose logging for debugging.
- `INTERACTIVE_MCP_STORAGE_PATH`: Directory for any local state/logs/cache.
- `NODE_ENV`: Standard Node environment flag.
- `workingDirectory`: Where the process will start; useful if the script uses relative paths.
- `metadata.category`: Still `"productivity"`.
- `timeoutSeconds`: How long Claude will wait before considering the MCP call failed (client-side).
- `disabled`: Explicitly `false` to ensure the server is active.
---
### 3. Use Case Specific Configuration
**Use case: “Team Task Orchestration in Production”**
This configuration is tailored for a production environment where **Interactive MCP** is used to coordinate multi-step workflows for a team (e.g., managing tasks, checklists, approvals). It emphasizes stability, logging, and a dedicated API endpoint.
Assumes:
- You deploy the MCP server as a standalone binary `/opt/interactive-mcp/interactive-mcp`.
- It connects to a remote backend API for task data.
- You want stricter timeouts and production logging.
```json
{
"mcpServers": {
"interactive-mcp": {
"command": "/opt/interactive-mcp/interactive-mcp",
"args": [
"--mode",
"orchestration",
"--backend-url",
"https://tasks.example.com/api",
"--max-concurrent-sessions",
"20",
"--request-timeout-ms",
"15000"
],
"env": {
"INTERACTIVE_MCP_ENV": "production",
"INTERACTIVE_MCP_LOG_LEVEL": "info",
"INTERACTIVE_MCP_LOG_FILE": "/var/log/interactive-mcp/interactive-mcp.log",
"INTERACTIVE_MCP_API_KEY": "REPLACE_WITH_SECURE_API_KEY",
"INTERACTIVE_MCP_ORG_ID": "team-ops",
"NODE_ENV": "production"
},
"workingDirectory": "/opt/interactive-mcp",
"metadata": {
"category": "productivity",
"description": "Production Interactive MCP for team task orchestration and approvals."
},
"timeoutSeconds": 20,
"disabled": false
}
}
}
```
**Explanation (not part of JSON):**
- `command`: Uses a dedicated production binary.
- `args`:
- `--mode orchestration`: Tells the server to run in “team workflow” mode (e.g., multi-step tasks, approvals).
- `--backend-url https://tasks.example.com/api`: Points to your task/issue backend.
- `--max-concurrent-sessions 20`: Higher concurrency for a whole team.
- `--request-timeout-ms 15000`: Slightly aggressive server timeout for responsiveness.
- `env`:
- `INTERACTIVE_MCP_ENV`: Explicitly marks this as production.
- `INTERACTIVE_MCP_LOG_LEVEL: "info"`: Less noisy than debug, suitable for production.
- `INTERACTIVE_MCP_LOG_FILE`: File path for log aggregation/rotation.
- `INTERACTIVE_MCP_API_KEY`: Secret token for the backend; in practice, set this securely (e.g., via OS-level env injection).
- `INTERACTIVE_MCP_ORG_ID`: Used by the backend to scope data to a specific team/org.
- `NODE_ENV: "production"`: Standard Node/JS convention if the binary is Node-based internally.
- `timeoutSeconds: 20`: Claude will consider calls failed if no response within 20 seconds, keeping the UX snappy.
- `disabled: false`: Ensures this production configuration is active.