loading…
Search for a command to run...
loading…
Enables human-in-the-loop interaction for AI coding workflows through native desktop dialogs that present route choices, text input, and image annotation capabi
Enables human-in-the-loop interaction for AI coding workflows through native desktop dialogs that present route choices, text input, and image annotation capabilities when AI assistants encounter decision points.
"Every flag you plant changes the story."
Plant your flag. Shape the route. Ship with confidence.
Human-in-the-loop interaction for AI coding workflows — because in every great visual novel, you choose the route.
Designed for Cursor · Claude Desktop · Cline · Windsurf
In visual novels and Galgames, a "flag" (フラグ) is the moment a choice triggers a new story branch. One decision changes everything.
Flag MCP brings that same power to AI-assisted coding. When your AI assistant hits a crossroads, it doesn't guess — it raises a flag and waits for you to choose the route.
🎮 You're the protagonist. The AI waits at every branching point.
💎 Every flag shapes the route. No more speculative rewrites.
🚀 Rich interaction. Text, screenshots, annotations — your full arsenal.
This transforms AI coding from "hope it works" into a narrative where you hold the controller.
Scope of Application:
| ❌ Without Flag MCP | ✅ With Flag MCP |
|---|---|
| AI guesses → wrong code → painful rework | AI raises a flag → you choose → correct code |
| Multiple rounds of "wait, what did you mean?" | One structured dialog, crystal clear |
| Anxious: "What is the AI about to do?!" | Confident: every action confirmed by you |
| Helpless passenger | You are the route-setter |
file://, http(s)://)>= 3.11pipgit clone https://github.com/pauoliva/interactive-feedback-mcp.git
cd interactive-feedback-mcp
uv sync
Add to your MCP client configuration:
Cursor (mcp.json) / Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"interactive-feedback": {
"command": "uv",
"args": [
"--directory",
"/path/to/interactive-feedback-mcp",
"run",
"server.py"
],
"timeout": 900000,
"autoApprove": ["interactive_feedback"]
}
}
}
⚠️ Note: Timeout is in milliseconds for Cursor (
900000= 15 min). Some clients use seconds — adjust accordingly.
interactive_feedback Tool| Parameter | Type | Description |
|---|---|---|
message |
string |
The question/prompt to display |
predefined_options |
array |
Optional. Route choices for quick decisions |
message_images |
array |
Optional. Images to show (local/remote URLs) |
Add this to your AI assistant's custom instructions:
If requirements are unclear, call interactive_feedback before implementing.
Present predefined options whenever possible — give the user clear route choices.
Before finishing a task, call interactive_feedback once more for final confirmation.
| Variable | Default | Description |
|---|---|---|
INTERACTIVE_FEEDBACK_TIMEOUT_SEC |
60000 |
Max UI process lifetime |
INTERACTIVE_FEEDBACK_ICON |
— | Custom app icon path |
INTERACTIVE_FEEDBACK_REMOTE_IMAGE_TIMEOUT_SEC |
5 |
Remote image fetch timeout |
INTERACTIVE_FEEDBACK_REMOTE_IMAGE_MAX_BYTES |
10485760 |
Max remote image size (10MB) |
image/*)MIT License — fork it, flag it, ship it.
🚩 Plant your flag. Write your own route.
Made with 💜 for developers who refuse to be NPCs in their own codebase.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"flag-mcp": {
"command": "npx",
"args": []
}
}
}