Mcp Feedback Enhanced について
Mcp Feedback Enhanced は、AI を使った開発タスクに人間の確認ポイントを設ける MCP サーバーです。Web UI とメンテナンスのみのデスクトップシェルを備え、セッション追跡や設定可能なフィードバックフローに対応します。
主な機能
- 01Web UI とデスクトップ画面
- 02プロンプト管理と時間指定送信
- 03セッション履歴と統計
- 04テキストと画像によるフィードバック
- 05接続監視と通知
活用シーン
- 01長時間の開発タスクで確認事項を収集
- 02AI の作業概要を確認し修正を返す
- 03スクリーンショットなどをフィードバックとして送信
MCP 対応
MCP クライアントに `interactive_feedback` ツールを提供し、ユーザー入力のためにブラウザー画面または設定済みデスクトップアプリを開きます。フィードバックは WebSocket 経由で返され、コマンド実行機能は v2.6.1 で削除されました。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| project_directory | string | いいえ | プロジェクトディレクトリのパス |
| summary | string | いいえ | 完了した AI 作業の概要 |
| timeout | integer | いいえ | ユーザーフィードバックを待つタイムアウト(秒) |
詳細
MCP Feedback Enhanced
🌐 言語 / 語言切換: English | 繁體中文 | 简体中文
元の作者: Fábio Ferreira | 元のプロジェクト ⭐ 拡張フォーク: Minidoracat UI デザインの参考: sanshao85/mcp-feedback-collector
📢 メンテナンス状況(2026-08)
プロジェクトのメンテナンスを再開しました。v2.6.1 へのアップグレードをお願いします — コマンド実行の脆弱性を修正しています。
uvx mcp-feedback-enhanced@latestv2.6.1 の変更点:
- 🔒 コマンド実行を削除 — #219 を修正しました(認証されていない WebSocket から任意のプログラムを実行できる問題)。以前のブロックリストで検出できるのはシェルのメタ文字だけでしたが、実行時には
shell=Falseを使用していたため、メタ文字はそもそも危険ではありませんでした。cat、curl、wget、pythonはそのまま実行でき、自動コマンド実行はデフォルトで有効でした。この機能は完全に削除しました。詳しくは SECURITY.md をご覧ください。- 🔒 クロスサイト WebSocket ハイジャックを修正(
GHSA-cmr5-gpm3-79vf、GHSA-2wx7-r4rh-f663として非公開で報告):ブラウザーは WebSocket を開く際に同一オリジンポリシーによる制限を受けないため、悪意のあるページからブラウザーをローカルの/wsに接続させることができました。accept()の前にOriginを検証し、クロスオリジンの接続試行を 403 で拒否するようになりました。- 🐛 Web UI が 500 を返す原因となっていた Starlette の破壊的変更を修正しました(#213、#217、#221、#228)。
- 🐛 標準の
mcp.types.ImageContentに切り替え、画像のシリアライズを修正しました(#154 など)。現在のメンテナンス範囲: セキュリティ上の問題と、インストールを使用不能にする互換性の破損(依存関係の更新、上流の破壊的変更)です。それ以外の対応については、コミュニティからのフィードバックをもとに判断します — ピン留めされたディスカッションをご覧ください。
明確にしておきたいことが一つあります。 当初の売り文句は「複数回のラウンドトリップを 1 回の Cursor リクエストにまとめ、クォータを節約する」ことでした。Cursor は 2025 年 6 月にトークンベースの料金体系へ移行したため、この前提はもはや成り立ちません (#115、#200 をご覧ください)。 現在の位置づけは「長時間実行されるタスクに人間によるチェックポイントを挿入する」ことであり、クォータ節約ツールではありません。
また、MCP とそのクライアントは現在、Elicitation(サーバーが開始するユーザー入力リクエスト)と MCP Apps(インタラクティブな UI を返すツール)をネイティブにサポートしています。ネイティブ機能でニーズを満たせる場合は、そちらをお使いください — ネイティブ機能ではできないことがあれば、ディスカッションでお知らせください。次に何を修正するかは、それをもとに決定します。
🎯 コアコンセプト
これは、フィードバックを重視した開発ワークフローを実現する MCP サーバー です。Web UI とデスクトップアプリケーションの2種類のインターフェースを提供し、ローカル環境、SSH リモート環境、WSL(Windows Subsystem for Linux)環境にシームレスに適応します。推測に基づいて操作を実行するのではなく、AI がユーザーに確認するよう導くことで、長時間実行されるタスクに人間によるチェックポイントを組み込み、方針の逸脱ややり直しを減らします。
🌐 2種類のインターフェースを備えたアーキテクチャの利点:
- 🌐 Web UI:GUI への依存がなく、ローカル環境、リモート環境、WSL 環境に適しています(メインの保守対象インターフェース)
- 🖥️ デスクトップアプリケーション:同じ Web UI を読み込む Tauri シェルで、Windows、macOS、Linux に対応しています(v2.8.0 以降は保守のみ、新機能の追加なし、v3 で削除予定 — 詳細は下記の「デスクトップアプリケーションの保守状況」を参照)
- 📦 機能の統一:どちらのインターフェースでも、まったく同じ機能を利用できます
対応プラットフォーム: Cursor | Cline | Windsurf | Augment | Trae
🔄 ワークフロー
- AI の呼び出し →
mcp-feedback-enhancedツール - インターフェースの起動 → 設定に応じてデスクトップアプリケーションまたはブラウザーインターフェースを自動で開きます
- スマートな操作 → プロンプトの選択、テキスト入力、画像のアップロード、自動送信
- リアルタイムのフィードバック → WebSocket 接続を通じて、情報を即座に AI に届けます
- セッションの追跡 → セッション履歴と統計を自動で記録します
- プロセスの継続 → AI はフィードバックに基づいて動作を調整するか、タスクを終了します
🌟 主な機能
🖥️ 2種類のインターフェースに対応
- デスクトップアプリケーション:Tauri をベースとするクロスプラットフォームのネイティブアプリケーションで、Windows、macOS、Linux に対応しています
- Web UI インターフェース:リモート環境や WSL 環境に適した軽量なブラウザーインターフェース
- 環境への適応:WSL ではインターフェースを Windows のブラウザーで自動的に開きます。SSH Remote ではポートフォワーディングが必要です(FAQ を参照)
- 統一された機能:どちらのインターフェースでも、まったく同じ機能を利用できます
📝 スマートなワークフロー
- プロンプト管理:一般的なプロンプトの CRUD 操作、使用統計、スマートな並べ替え
- 時間指定の自動送信:1~86400 秒の範囲で柔軟にタイマーを設定できます。新しい一時停止/再開ボタンによる操作を含め、一時停止、再開、キャンセルに対応しています
- セッション管理と追跡:ローカルファイルへの保存、プライバシー制御、履歴のエクスポート(JSON、CSV、Markdown 形式に対応)、リアルタイム統計、柔軟なタイムアウト設定
- 接続の監視:WebSocket の状態監視、自動再接続、品質インジケーター
- AI の作業概要を Markdown で表示:見出し、太字、コードブロック、リスト、リンクなど、豊富な Markdown 構文のレンダリングに対応し、コンテンツの読みやすさを高めます
🎨 モダンな操作性
- レスポンシブデザイン:さまざまな画面サイズに対応し、モジュール化された JavaScript アーキテクチャを採用しています
- 音声通知:複数の効果音を内蔵し、カスタム音声のアップロードと音量調整に対応しています
- システム通知(v2.6.0):自動コミットやセッションのタイムアウトなど、重要なイベントをシステムレベルでリアルタイムに通知します
- スマートメモリー:入力ボックスの高さを記憶し、ワンクリックでコピーできるほか、設定を保持します
- 多言語対応:繁体字中国語、英語、簡体字中国語に対応し、すぐに切り替えられます
🖼️ 画像とメディア
- さまざまな形式に対応:PNG、JPG、JPEG、GIF、BMP、WebP
- 手軽なアップロード:ファイルのドラッグ&ドロップ、クリップボードからの貼り付け(Ctrl+V)
- 処理サイズは無制限:あらゆるサイズの画像に対応し、自動で適切に処理します
🌐 インターフェースのプレビュー
Web UI インターフェース(v2.5.0 - デスクトップアプリケーション対応)
📱 クリックしてインターフェースのスクリーンショットをすべて表示
Web UI インターフェース - デスクトップアプリケーションと Web インターフェースに対応し、プロンプト管理、自動送信、セッション追跡などのスマート機能を提供します
デスクトップアプリケーションのインターフェース(v2.5.0 の新機能)
デスクトップアプリケーション - Tauri フレームワークを基盤とするクロスプラットフォーム対応のネイティブなデスクトップアプリケーションです。Windows、macOS、Linux に対応し、Web UI とまったく同じ機能を備えています
ショートカット対応
Ctrl+Enter(Windows/Linux)/Cmd+Enter(macOS):フィードバックを送信します(メインキーボードとテンキーの両方に対応)Ctrl+V(Windows/Linux)/Cmd+V(macOS):クリップボードの画像を直接貼り付けますCtrl+I(Windows/Linux)/Cmd+I(macOS):入力ボックスにすばやくフォーカスします(@penn201500 に感謝)
🚀 クイックスタート
1. インストールとテスト
# Install uv (if not already installed)
pip install uv
2. MCP の設定
基本設定(ほとんどのユーザーに適しています):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"autoApprove": ["interactive_feedback"]
}
}
}
詳細設定(カスタム環境が必要な場合):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DEBUG": "false",
"MCP_WEB_HOST": "127.0.0.1",
"MCP_WEB_PORT": "8765",
"MCP_LANGUAGE": "en"
},
"autoApprove": ["interactive_feedback"]
}
}
}
デスクトップアプリケーションの設定(v2.5.0 の新機能 - ネイティブデスクトップアプリケーションを使用):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DESKTOP_MODE": "true",
"MCP_WEB_HOST": "127.0.0.1",
"MCP_WEB_PORT": "8765",
"MCP_DEBUG": "false"
},
"autoApprove": ["interactive_feedback"]
}
}
}
⚠️ デスクトップアプリケーションのメンテナンス状況(v2.8.0 以降)
デスクトップアプリケーションはメンテナンスのみとなります。新機能(常に最前面に表示、常駐、送信後もウィンドウを保持する機能)は追加せず、セキュリティ修正と「まったく起動できない」互換性の問題への修正のみを行います。v3 で削除する予定で、デスクトップバイナリを含む最後のバージョンはリリースノートに記載します。その理由は、Web UI を包む薄い Tauri シェルでありながら、パッケージサイズの約 80%を占め、3 プラットフォーム分の CI とコード署名が必要なうえ、報告される問題の大半が CI では再現できないプラットフォーム互換性の問題(ウイルス対策ソフトの誤検知、glibc、Gatekeeper、高 DPI、マルチモニター)であるためです。
- デスクトップモードを引き続き使用する場合:IDE の MCP 設定で
argsをmcp-feedback-enhanced@latestから固定バージョン(例:[email protected])に変更し、MCP_DESKTOP_MODE=trueを維持してください。2.8.0 以降では、デスクトップシェルを起動できない場合(ウイルス対策ソフトによる隔離、glibc のバージョンが古い、Gatekeeper によるブロック、起動直後のエラー終了)、タイムアウトまで何も表示されずに待つ代わりに、その呼び出しでブラウザーを自動的に開き、URL を stderr に出力します。MCP サーバーを再起動すると、デスクトップシェルの起動を再試行します。未認証のコマンド実行に関する問題があるため、2.6.0 以前には固定しないでください(SECURITY.md を参照)。- Web モードに切り替える場合:
MCP_DESKTOP_MODEを削除してください。機能は同一で、送信後もタブは開いたままになり、次の呼び出し時に更新されます。独立したウィンドウを使用するには、Chrome/Edge でフィードバックページを開き、「アプリとしてインストール」を選択してください。ただし、これはブラウザーの機能であり、デスクトップシェルと同等ではありません。バックエンドは引き続き MCP の呼び出しによって起動され、アプリウィンドウを閉じると、次の呼び出しではアプリウィンドウではなく通常のブラウザータブが開きます。ポートが変わるとアプリを再インストールする必要があり、通知の許可も再度必要です。常に最前面に表示するには、OS レベルのツールを使用してください。
設定ファイルの例:
- デスクトップモード:examples/mcp-config-desktop.json
- Web モード:examples/mcp-config-web.json
3. プロンプトエンジニアリングの設定
最適な結果を得るには、次のルールを AI アシスタントに追加してください。
# MCP Interactive Feedback Rules
follow mcp-feedback-enhanced instructions
⚙️ 詳細設定
環境変数
| 変数 | 用途 | 値 | デフォルト |
|---|---|---|---|
MCP_DEBUG | デバッグモード | true/false | false |
MCP_WEB_HOST | Web UI のバインド先ホスト | IP アドレスまたはホスト名 | 127.0.0.1 |
MCP_WEB_PORT | Web UI のポート(0 にすると OS が空きポートを選択します。ポート番号は起動のたびに変わる場合があります) | 0、1024-65535 | 8765 |
MCP_DESKTOP_MODE | デスクトップアプリモード | true/false | false |
MCP_LANGUAGE | Web UI の言語を指定します(AI に返されるエラーメッセージにも使用されます) | zh-TW/zh-CN/en | 未設定 |
MCP_WEB_HOST の説明:
127.0.0.1(デフォルト):ローカルからのみアクセスできます。この設定を維持してください0.0.0.0:すべてのインターフェースにバインドします。⚠️ 推奨されません:Web UI と/wsエンドポイントには認証がないため、ポートにアクセスできる人は誰でもセッション内容(プロジェクトのパスや AI の要約を含む)を読み取り、フィードバックを送信できます。代わりに SSH ポートフォワーディングを使用してください(「よくある問題」を参照)。
MCP_LANGUAGE の説明:
-
受け付ける値は
zh-TW(繁体字中国語)、zh-CN(簡体字中国語)、en(英語)のみです。前後の空白は無視されます。それ以外の値(ja、EN、zh_TW、空文字列など)は無視され、未設定として扱われます。 -
Web UI の言語(フィードバックページと待機ページ):
MCP_LANGUAGE:ページはこの言語で開きます。言語選択は引き続き使用できますが、現在のページにのみ適用されます。選択内容は保存されず、ページを更新または再度開くとMCP_LANGUAGEの設定に戻ります。設定されている間は、ui_settings.jsonに保存された言語は使用も変更もされません。- UI で保存された言語(
~/.config/mcp-feedback-enhanced/ui_settings.jsonのlanguage) - ブラウザーの言語
- 繁体字中国語(
zh-TW)
MCP_LANGUAGEが設定されていない場合、UI で言語を切り替えるとui_settings.jsonに保存されます。 -
AI に返されるエラーメッセージの言語:
MCP_LANGUAGE- システム環境変数(
LANG、LC_ALL、LC_MESSAGES、LANGUAGE) - システムのロケール
- 繁体字中国語(
zh-TW)
Web UI で選択した言語は、エラーメッセージに影響しません。
テスト方法
# Version check
uvx mcp-feedback-enhanced@latest version # Check version
# Interface testing
uvx mcp-feedback-enhanced@latest test --web # Test Web UI (auto continuous running)
uvx mcp-feedback-enhanced@latest test --desktop # Test desktop application (v2.5.0 new feature)
# Debug mode (the test subcommand sets MCP_DEBUG=true itself; debug logs go to stderr)
uvx mcp-feedback-enhanced@latest test --web
# Specify language for testing (the language picker only applies to the current page and is not saved)
MCP_LANGUAGE=en uvx mcp-feedback-enhanced@latest test --web # Force English interface
MCP_LANGUAGE=zh-TW uvx mcp-feedback-enhanced@latest test --web # Force Traditional Chinese
MCP_LANGUAGE=zh-CN uvx mcp-feedback-enhanced@latest test --web # Force Simplified Chinese
開発者向けインストール
git clone https://github.com/Minidoracat/mcp-feedback-enhanced.git
cd mcp-feedback-enhanced
uv sync
ローカルテスト方法
# Functional testing
make test-web # Web UI testing (continuous running)
make test-desktop-func # Desktop application functional testing
# Or use direct commands
uv run python -m mcp_feedback_enhanced test --web # Web UI testing with the project .venv (continuous running)
uvx --no-cache --with-editable . mcp-feedback-enhanced test --web # Web UI testing (continuous running)
uvx --no-cache --with-editable . mcp-feedback-enhanced test --desktop # Desktop application testing
# Desktop application build (v2.5.0 new feature)
make build-desktop # Build desktop application (debug mode)
make build-desktop-release # Build desktop application (release mode)
make test-desktop # Test desktop application
make clean-desktop # Clean desktop build artifacts
# Unit testing
make test # Run all unit tests
make test-fast # Fast testing (skip slow tests)
make test-cov # Test and generate coverage report
# Code quality checks
make check # Complete code quality check
make quick-check # Quick check and auto-fix
テストの説明
- 機能テスト:MCP ツールの一連の機能ワークフローをテストします
- ユニットテスト:個々のモジュールの機能をテストします
- カバレッジテスト:
htmlcov/ディレクトリに HTML カバレッジレポートを生成します - 品質チェック:リンティング、フォーマット、型チェックを行います
🆕 バージョン履歴
📋 バージョン履歴の全一覧: RELEASE_NOTES/CHANGELOG.en.md
最新バージョンの主な更新(v2.6.0)
- 📊 セッションのエクスポート機能:セッション記録を複数の形式でエクスポートできるようになり、共有やアーカイブが簡単になりました
- ⏸️ 自動コミットの制御:自動コミットのタイミングをより適切に制御できるよう、一時停止ボタンと再開ボタンを追加しました
- 🔔 システム通知:重要なイベントをリアルタイムで通知する、システムレベルの通知機能を追加しました
- ⏱️ セッションタイムアウトの最適化:セッション管理を再設計し、より柔軟な設定オプションを追加しました
- 🌏 I18n の強化:国際化アーキテクチャをリファクタリングし、通知の多言語対応を全面的に実現しました
- 🎨 UI の簡素化:ユーザー体験を向上させるため、ユーザーインターフェースを大幅に簡素化しました
🐛 よくある問題
🌐 SSH リモート環境の問題
Q: SSH リモート環境でブラウザーを起動できない、またはアクセスできない A: SSH ポートフォワーディングを使用します(安全で、外部には公開されません)。
- デフォルト設定(
MCP_WEB_HOST:127.0.0.1)を使用します - SSH ポートフォワーディングを設定します。
- VS Code Remote SSH:
Ctrl+Shift+Pを押す → 「Forward a Port」を選択 →8765を入力 - Cursor SSH Remote:ポート 8765 のポートフォワーディングルールを手動で追加
- VS Code Remote SSH:
- ローカルブラウザーで開きます:
http://localhost:8765
⚠️ 古い README では、サービスを直接公開するために
MCP_WEB_HOST=0.0.0.0を設定することが推奨されていました。現在は推奨されていません。 Web UI と/wsエンドポイントには認証がないため、公開アドレスにバインドすると、ネットワーク上の誰もがセッションを読み取り、フィードバックを送信できてしまいます。
詳しい解決方法については、SSH リモート環境の使用ガイドを参照してください。
Q: 新しい MCP フィードバックを受信できないのはなぜですか? A: WebSocket 接続の問題が考えられます。解決方法:ブラウザーページを直接更新してください。
Q: MCP が呼び出されないのはなぜですか? A: MCP ツールの状態が緑色になっていることを確認してください。解決方法:MCP ツールをオン/オフに切り替え、システムが再接続するまで数秒待ってください。
Q: Augment で MCP を起動できない A: 解決方法:VS Code または Cursor を完全に終了して再起動し、プロジェクトを開き直してください。
🔧 一般的な問題
Q: デスクトップアプリケーションの使用方法を教えてください
A: v2.5.0 では、クロスプラットフォームのデスクトップアプリケーションに対応しました。MCP 設定で "MCP_DESKTOP_MODE": "true" を設定すると有効になります。
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DESKTOP_MODE": "true",
"MCP_WEB_PORT": "8765"
},
"autoApprove": ["interactive_feedback"]
}
}
}
設定ファイルの例:examples/mcp-config-desktop.json
Q: 従来の PyQt6 GUI インターフェースの使用方法を教えてください
A: v2.4.0 では、PyQt6 GUI の依存関係が完全に削除されました。従来の GUI を使用するには、v2.3.0 以前を指定してください:uvx [email protected]
注:従来のバージョンには、新機能(プロンプト管理、自動送信、セッション管理、デスクトップアプリケーションなど)は含まれていません。
Q: 「Unexpected token 'D'」エラーが表示される
A: デバッグ出力が干渉しています。MCP_DEBUG=false を設定するか、環境変数を削除してください。
Q: 中国語の文字が文字化けする
A: v2.0.3 で修正されました。最新バージョンに更新してください:uvx mcp-feedback-enhanced@latest
Q: 画像をアップロードできない A: ファイル形式(PNG/JPG/JPEG/GIF/BMP/WebP)を確認してください。システムはサイズを問わず、あらゆる画像ファイルに対応しています。
Q: Web UI を起動できない A: ファイアウォールの設定を確認するか、別のポートを使用してください。
Q: UV キャッシュがディスク容量を使いすぎる
A: uvx コマンドを頻繁に使用すると、キャッシュが数十 GB に達することがあります。定期的なクリーンアップをおすすめします。
# View cache size and detailed information
python scripts/cleanup_cache.py --size
# Preview cleanup content (no actual cleanup)
python scripts/cleanup_cache.py --dry-run
# Execute standard cleanup
python scripts/cleanup_cache.py --clean
# Force cleanup (attempts to close related programs, solving Windows file occupation issues)
python scripts/cleanup_cache.py --force
# Or directly use uv command
uv cache clean
詳しい手順については、キャッシュ管理ガイドを参照してください。
Q: AI モデルが画像を解析できない A: Gemini Pro 2.5、Claude など、さまざまな AI モデルでは画像解析が不安定になる場合があり、アップロードした画像の内容を正しく認識できることもあれば、解析できないこともあります。これは AI の視覚的理解技術における既知の制限です。次の方法をおすすめします。
- 画像の品質を高く保ちます(コントラストを強くし、テキストを鮮明にします)
- 複数回アップロードしてみます。再試行すると通常は成功します
- 解析に失敗し続ける場合は、画像のサイズまたは形式を変更してみてください
🙏 謝辞
🌟 オリジナル作者を支援する
Fábio Ferreira - X @fabiomlferreira オリジナルプロジェクト: noopstudios/interactive-feedback-mcp
このプロジェクトが役に立った場合は、ぜひ次のご協力をお願いします。
デザインの着想
sanshao85 - mcp-feedback-collector
コントリビューター
penn201500 - GitHub @penn201500
- 🎯 入力ボックスの自動フォーカス機能 (PR #39)
leo108 - GitHub @leo108
- 🌐 SSH リモート開発のサポート(
MCP_WEB_HOST環境変数)(PR #113)
Alsan - GitHub @Alsan
- 🍎 macOS の PyO3 コンパイル設定のサポート (PR #93)
fireinice - GitHub @fireinice
- 📝 ツールドキュメントの最適化(LLM 向けの指示を docstring に移動)(PR #105)
コミュニティサポート
- Discord: https://discord.gg/Gur2V67
- Issues: GitHub Issues
☕ 開発を支援する
MCP Feedback Enhanced は無料のオープンソースです。時間の節約に役立った場合は、Ko-fi で開発を支援できます。
📄 ライセンス
MIT License - 詳細については LICENSE ファイルをご覧ください。
📈 スター履歴
🌟 ぜひスターを付けて、より多くの開発者と共有してください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。