Flag MCP
🚩 Flag MCP
✨ "Flag"란 무엇인가요?
비주얼 노벨과 미소녀 게임에서 "플래그"(フラグ)는 선택이 새로운 이야기의 분기를 유발하는 순간을 의미합니다. 하나의 결정이 모든 것을 바꿉니다.
Flag MCP는 AI 보조 코딩에 동일한 힘을 부여합니다. AI 어시스턴트가 갈림길에 도달했을 때, 추측하는 대신 깃발을 올리고 당신이 경로를 선택하기를 기다립니다.
🎮 당신이 주인공입니다. AI는 모든 분기점에서 대기합니다.
💎 모든 깃발이 경로를 형성합니다. 더 이상 추측에 기반한 재작업은 없습니다.
🚀 풍부한 상호작용. 텍스트, 스크린샷, 주석 — 당신의 모든 무기를 활용하세요.
이것은 AI 코딩을 "잘 되길 바라는" 것에서 당신이 컨트롤러를 쥐고 있는 이야기로 변화시킵니다.
적용 범위:
요청별로 비용이 청구되는 코딩 계획.
AI 동작을 제어하고자 하는 개발자.
Related MCP server: Human-In-the-Loop MCP Server
🔥 이전 & 이후
❌ Flag MCP 없음 | ✅ Flag MCP 사용 |
AI가 추측 → 잘못된 코드 → 고통스러운 재작업 | AI가 깃발을 올림 → 당신이 선택 → 올바른 코드 |
"잠깐, 무슨 뜻이죠?"라는 반복적인 대화 | 구조화된 대화 상자 하나로 명확하게 해결 |
불안함: "AI가 무슨 짓을 하려는 거지?!" | 자신감: 모든 행동을 당신이 확인 |
무력한 승객 | 당신이 경로 설정자 |
🎯 핵심 기능
🖥️ 다크 테마 UI — 워크플로우에 딱 맞는 세련된 네이티브 데스크톱 대화 상자
✅ 경로 선택 — 구조화된 사전 정의 옵션 (체크박스 스타일)
💬 자유 텍스트 — 사전 정의된 경로로 부족할 때, 직접 스크립트를 작성하세요
📷 풍부한 미디어 도구
클립보드에서 이미지 붙여넣기
로컬 파일 선택
스크린샷 + 내장 주석 도구 (사각형, 원, 화살표, 펜, 텍스트, 자르기)
🖼️ 프롬프트 이미지 — AI가 이미지를 보여줄 수 있습니다 (로컬 경로,
file://,http(s)://)🔒 보안 우선 — 원격 이미지 검증, 크기 제한, 비동기 로딩
🎨 macOS 최적화 — 적절한 아이콘 처리 및 시각적 완성도
📦 설치
사전 요구 사항
Python
>= 3.11uv(권장) 또는pip
빠른 설치
git clone https://github.com/pauoliva/interactive-feedback-mcp.git
cd interactive-feedback-mcp
uv sync⚙️ 설정
MCP 클라이언트 설정에 추가하세요:
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"]
}
}
}⚠️ 참고: Cursor의 타임아웃은 밀리초 단위입니다 (
900000= 15분). 일부 클라이언트는 초 단위를 사용하므로 그에 맞춰 조정하세요.
🚩 interactive_feedback 도구
인수
매개변수 | 유형 | 설명 |
|
| 표시할 질문/프롬프트 |
|
| 선택 사항. 빠른 결정을 위한 경로 선택지 |
|
| 선택 사항. 표시할 이미지 (로컬/원격 URL) |
반환값
사용자로부터의 텍스트 피드백
선택적 이미지 첨부 파일 (MCP 이미지 콘텐츠 블록으로)
🧙 전문가 팁
권장 에이전트 규칙
AI 어시스턴트의 사용자 지정 지침에 다음을 추가하세요:
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.환경 변수
변수 | 기본값 | 설명 |
|
| UI 프로세스 최대 수명 |
| — | 사용자 지정 앱 아이콘 경로 |
|
| 원격 이미지 가져오기 타임아웃 |
|
| 최대 원격 이미지 크기 (10MB) |
🛡️ 보안 및 신뢰성
✅ 콘텐츠 유형(
image/*)으로 원격 이미지 검증✅ 크기 제한을 통한 대용량 페이로드 거부
✅ 비동기 가져오기로 UI 응답성 유지
✅ 명시적으로 참조될 때만 로컬 파일 읽기
📄 라이선스
MIT 라이선스 — 포크하고, 깃발을 꽂고, 배포하세요.
🚩 깃발을 꽂으세요. 당신만의 경로를 작성하세요.
자신의 코드베이스에서 NPC가 되기를 거부하는 개발자들을 위해 💜로 제작되었습니다.
Available Tools
1 toolinteractive_feedbackA
Request interactive feedback from the user. Supports text and image attachments. 使用方式:
当你通过此工具询问用户时,务必说明需要用户确定的内容。
请在完成用户布置的工作后调用该工具时,提供"结束"的选项,如果用户选择,则本次请求结束. 使用技巧:
请给出可选项,让用户选择,选项中请包涵你最推荐的选项,并说明理由.
针对每个选项,请给出对应的描述,让用户了解每个选项的含义. 什么时候使用:
每当你全部工作完成时,请调用此工具,而非直接结束流程.
每当你遇到需要用户确定的点时(例如进行需求讨论,或者执行任务中遇到重要分岔路口时),务必调用此工具.
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | The specific question for the user | |
| predefined_options | No | Predefined options for the user to choose from (optional) | |
| message_images | No | Image paths to render in the prompt area (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the interaction pattern (blocking request for user input, option-based responses) but lacks technical behavioral traits such as timeout behavior, session persistence, or data handling. It covers 'how to use' but omits 'what happens under the hood' details expected for a user-input tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses clear structural headers (Usage method, Usage tips, When to use) but is verbose due to extensive bilingual content. The Chinese examples, while helpful for behavior modeling, make the description longer than necessary for agent consumption, and the language mixing reduces structural coherence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description appropriately focuses on behavioral guidance rather than return values. It comprehensively covers invocation patterns and option structuring, though it would benefit from mentioning timeout handling or error conditions for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, establishing a baseline of 3. The description adds semantic value beyond the schema by specifying in the Chinese text that predefined_options should include a recommended choice with rationale and an 'end' option, providing substantive usage guidance for parameter population that the raw schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states the tool requests interactive feedback and supports text/image attachments. However, the extensive Chinese instructions, while useful, create a bilingual structure that slightly reduces immediate clarity for agents parsing primarily English content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Chinese text under '什么时候使用' (when to use) provides explicit when/when-not guidance, specifically stating to invoke this tool when work is completed instead of directly ending the process, and when encountering decision points requiring user confirmation. It also explicitly references '使用方式' (usage method) and '使用技巧' (usage tips) for detailed alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.1- First observed
interactive_feedback
TDQS
Scored across 1 tool
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.
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.
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.
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
Related MCP Connectors
Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.
Give any AI agent a way to ask a person — for approval, a decision, an answer or a review.
- MaketaOAuthpro.maketa
Build and edit app screen mockups and clickable prototypes from your AI assistant.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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-
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with humans through GUI dialogs for text input, choices, confirmations, and information display.6MIT
- AlicenseAqualityFmaintenanceEnables AI assistants like Claude to interact with humans through intuitive GUI dialogs, supporting text input, choices, confirmations, and information displays.6163MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to request user input through customizable desktop forms, returning structured data.1MIT