Flag MCP

Flag MCP

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.

Category
访问服务器

README

<div align="center">

🚩 Flag MCP

<p align="center"> <a href="./README.md">English</a> | <a href="./README_CN.md">简体中文</a> </p>

<p align="center"> <img src="images/hero-banner.jpg" alt="Flag MCP" width="800"> </p>

<p align="center"> <em>"Every flag you plant changes the story."</em> </p>

<p align="center"> <strong>Plant your flag. Shape the route. Ship with confidence.</strong> </p>

<p align="center"> Human-in-the-loop interaction for AI coding workflows — because in every great visual novel, <strong>you</strong> choose the route. </p>

<p align="center"> <a href="https://github.com/pauoliva/interactive-feedback-mcp/releases"><img src="https://img.shields.io/github/v/release/pauoliva/interactive-feedback-mcp?style=flat-square" alt="Release"></a> <a href="https://github.com/pauoliva/interactive-feedback-mcp/blob/main/LICENSE"><img src="https://img.shields.io/github/license/pauoliva/interactive-feedback-mcp?style=flat-square" alt="License"></a> <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square" alt="Python"></a> </p>

<p align="center"> Designed for <a href="https://cursor.sh">Cursor</a> · <a href="https://claude.ai/download">Claude Desktop</a> · <a href="https://cline.bot">Cline</a> · <a href="https://codeium.com/windsurf">Windsurf</a> </p>

<p align="center"> <video src="images/demo.mp4" controls="controls" width="100%" style="max-width: 800px;"></video> </p>

</div>


✨ What is "Flag"?

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:

  • Coding plans billed on a per-request basis.
  • Developers who wish to control AI behavior.

🔥 Before & After

❌ 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

🎯 Core Features

  • 🖥️ Dark Themed UI — A sleek native desktop dialog that fits your workflow
  • Route Choices — Structured predefined options (checkbox-style)
  • 💬 Free Text — When the predefined routes aren't enough, write your own script
  • 📷 Rich Media Arsenal
    • Paste images from clipboard
    • Select local files
    • Screenshot + Built-in Annotator (rectangle, circle, arrow, pen, text, crop)
  • 🖼️ Prompt Images — AI can show you images (local paths, file://, http(s)://)
  • 🔒 Security First — Remote images validated, size-limited, async loaded
  • 🎨 macOS Optimized — Proper icon handling and visual polish

📦 Installation

Prerequisites

  • Python >= 3.11
  • uv (recommended) or pip

Quick Install

git clone https://github.com/pauoliva/interactive-feedback-mcp.git
cd interactive-feedback-mcp
uv sync

⚙️ Configuration

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.


🚩 The interactive_feedback Tool

Arguments

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)

Returns

  • Text feedback from user
  • Optional image attachments (as MCP image content blocks)

🧙 Pro Tips

Recommended Agent Rules

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.

Environment Variables

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)

🛡️ Security & Reliability

  • ✅ Remote images validated by content-type (image/*)
  • ✅ Large payloads rejected via size cap
  • ✅ Async fetch keeps UI responsive
  • ✅ Local files read only when explicitly referenced

📄 License

MIT License — fork it, flag it, ship it.


<div align="center">

🚩 Plant your flag. Write your own route.

Made with 💜 for developers who refuse to be NPCs in their own codebase.

</div>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选