Skip to main content
Glama

🚩 Flag MCP


✨ 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.

Related MCP server: Human-In-the-Loop MCP Server

🔥 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

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.


🚩 Plant your flag. Write your own route.

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

Available Tools

1 tool
interactive_feedbackA

Request interactive feedback from the user. Supports text and image attachments. 使用方式:

  • 当你通过此工具询问用户时,务必说明需要用户确定的内容。

  • 请在完成用户布置的工作后调用该工具时,提供"结束"的选项,如果用户选择,则本次请求结束. 使用技巧:

  • 请给出可选项,让用户选择,选项中请包涵你最推荐的选项,并说明理由.

  • 针对每个选项,请给出对应的描述,让用户了解每个选项的含义. 什么时候使用:

  • 每当你全部工作完成时,请调用此工具,而非直接结束流程.

  • 每当你遇到需要用户确定的点时(例如进行需求讨论,或者执行任务中遇到重要分岔路口时),务必调用此工具.

Inputs: message, predefined_options, message_images. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool available, there is no ambiguity or risk of tool misselection. The single tool has a clear, distinct purpose that does not overlap with any other tools.

    Naming Consistency5/5

    The single tool follows a clear snake_case naming convention. While 'interactive' is an adjective rather than a verb, there are no other tools to create inconsistency, so the naming pattern is uniform.

    Tool Count2/5

    A single tool is insufficient for the apparent 'Flag' domain suggested by the server name. Even for a minimal utility server, one generic feedback tool represents a severely undersized tool surface that likely cannot fulfill the server's intended purpose.

    Completeness1/5

    The server named 'Flag MCP' implies a feature flag or flagging domain, yet provides only a generic user feedback tool with no flag creation, management, querying, or lifecycle operations. This represents a severely incomplete surface for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to request user input through interactive popups in VS Code, supporting button selections, text inputs, and confirmation dialogs. This system allows for seamless human-in-the-loop interactions without interrupting the conversational flow.
      4
      -
    • A
      license
      A
      quality
      F
      maintenance
      Enables AI assistants like Claude to interact with humans through intuitive GUI dialogs, supporting text input, choices, confirmations, and information displays.
      6
      15 PyPI
      163
      MIT