Skip to main content

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

AI Intervention Agent

AI Intervention Agent

Real-time user intervention for MCP agents.

Tests PyPI Python Versions Open VSX Open VSX Downloads Open VSX Rating Ask DeepWiki License

English | 简体中文

When using AI CLIs/IDEs, agents can drift from your intent. This project gives you a simple way to intervene at key moments, review context in a Web UI, and send your latest instructions via interactive_feedback so the agent can continue on track.

Works with Cursor, VS Code, Claude Code, Augment, Windsurf, Trae, and more.

Quick start

  1. Install:
pip install ai-intervention-agent

# or
uv add ai-intervention-agent
  1. Configure your AI tool to launch the MCP server via uvx:
{
  "mcpServers": {
    "ai-intervention-agent": {
      "command": "uvx",
      "args": ["ai-intervention-agent"],
      "timeout": 600,
      "autoApprove": ["interactive_feedback"]
    }
  }
}

[!NOTE] > interactive_feedback is a long-running tool. Some clients have a hard request timeout, so the Web UI provides a countdown + auto re-submit option to keep sessions alive.

Prompt snippet (copy/paste)
- Only ask me through the MCP `ai-intervention-agent` tool; do not ask directly in chat or ask for end-of-task confirmation in chat.
- If a tool call fails, keep asking again through `ai-intervention-agent` instead of making assumptions, until the tool call succeeds.

ai-intervention-agent usage details:

- If requirements are unclear, use `ai-intervention-agent` to ask for clarification with predefined options.
- If there are multiple approaches, use `ai-intervention-agent` to ask instead of deciding unilaterally.
- If a plan/strategy needs to change, use `ai-intervention-agent` to ask instead of deciding unilaterally.
- Before finishing a request, always ask for feedback via `ai-intervention-agent`.
- Do not end the conversation/request unless the user explicitly allows it via `ai-intervention-agent`.

Screenshots

Desktop - feedback page Mobile - feedback page

Feedback page (auto switches between dark/light)

More screenshots (empty state + settings)

Desktop - empty state Mobile - empty state

Empty state (auto switches between dark/light)

Desktop - settings Mobile - settings

Settings (dark)

Key features

  • Real-time intervention: the agent pauses and waits for your input via interactive_feedback
  • Web UI: Markdown, code highlighting, and math rendering
  • Multi-task: tab switching with independent countdown timers
  • Auto re-submit: keep sessions alive by auto-submitting at timeout
  • Notifications: web / sound / system / Bark
  • SSH-friendly: great with port forwarding

VS Code extension (optional)

Item Value
Purpose Embed the interaction panel into VS Code’s sidebar to avoid switching to a browser.
Install (Open VSX) Open VSX
Download VSIX (GitHub Release) GitHub Releases
Setting ai-intervention-agent.serverUrl (should match your Web UI URL, e.g. http://localhost:8080; you can change web_ui.port in config.jsonc.default)

Configuration

Item Value
Docs (English) docs/configuration.md
Docs (简体中文) docs/configuration.zh-CN.md
Default template config.jsonc.default (on first run it will be copied to config.jsonc)
OS User config directory
Linux ~/.config/ai-intervention-agent/
macOS ~/Library/Application Support/ai-intervention-agent/
Windows %APPDATA%/ai-intervention-agent/

Architecture

flowchart TD
  subgraph CLIENTS["AI clients"]
    AI_CLIENT["AI CLI / IDE<br/>(Cursor, VS Code, Claude Code, ...)"]
  end

  subgraph MCP_PROC["MCP server process"]
    MCP_SRV["ai-intervention-agent<br/>(server.py)"]
    MCP_TOOL["MCP tool<br/>interactive_feedback"]
    CFG_MGR["Config manager<br/>(config_manager.py)"]
    NOTIF_MGR["Notification manager<br/>(notification_manager.py)"]
  end

  subgraph WEB_PROC["Web UI process"]
    WEB_SRV["Web UI service<br/>(web_ui.py / Flask)"]
    HTTP_API["HTTP API<br/>(/api/*)"]
    TASK_Q["Task queue<br/>(task_queue.py)"]
    WEB_SRV --> HTTP_API
    WEB_SRV --> TASK_Q
  end

  subgraph USER_UI["User interfaces"]
    BROWSER["Browser"]
    VSCODE["VS Code extension<br/>(Webview)"]
  end

  CFG_FILE["config.jsonc<br/>(user config directory)"]

  AI_CLIENT -->|MCP call| MCP_TOOL
  MCP_SRV -->|exposes| MCP_TOOL

  MCP_TOOL -->|ensure Web UI running| WEB_SRV
  MCP_TOOL <-->|create task / poll result| HTTP_API

  BROWSER <-->|HTTP| HTTP_API
  VSCODE <-->|HTTP| HTTP_API

  CFG_MGR <-->|read/write| CFG_FILE
  WEB_SRV <-->|read| CFG_FILE

  MCP_SRV --> NOTIF_MGR
  NOTIF_MGR -->|web / sound / system / Bark| USER["User"]

Documentation

Related projects

License

MIT License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_intervention_agent_fastmcp-1.4.13.tar.gz (911.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_intervention_agent_fastmcp-1.4.13-py3-none-any.whl (957.6 kB view details)

Uploaded Python 3

File details

Details for the file ai_intervention_agent_fastmcp-1.4.13.tar.gz.

File metadata

File hashes

Hashes for ai_intervention_agent_fastmcp-1.4.13.tar.gz
Algorithm Hash digest
SHA256 077a400322ded881c9b881fd891aaebba02d0beb89d0fdd2f7d86ed534577054
MD5 57c90bee2e34fb0e818624316cd9a852
BLAKE2b-256 7b8feb0b168d8a1712455a966bb01fc5b3e5645c22b7df834ce798333e566fb7

See more details on using hashes here.

File details

Details for the file ai_intervention_agent_fastmcp-1.4.13-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_intervention_agent_fastmcp-1.4.13-py3-none-any.whl
Algorithm Hash digest
SHA256 6b4759cb12e0c7ef998495da93fafc20469c9d672a0d022bf3819b234c5dee4f
MD5 89ca0cd57b3455598e9abc4b5dacc365
BLAKE2b-256 15824c5c069ef519db890cb180cd805c4ea45199b8c62a2705463de77975f741

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.13 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page