Interactive MCP feedback server with Flutter Web UI for AI-assisted development. Collect user feedback, images, and manage sessions in real-time.
Project description
Leo Feedback MCP
A customized MCP (Model Context Protocol) server for interactive feedback collection during AI-assisted development. Built with a Flutter Web frontend and Python/FastAPI backend.
Features
- Flutter Web UI with dark theme for interactive feedback
- AI Work Summary panel with Markdown rendering
- Image support - upload, drag & drop from IDE, paste (PNG, JPG, GIF, BMP, WebP)
- Auto-submit countdown with configurable prompts
- Audio & browser notifications when AI requests feedback
- Session history - persists across browser reloads via backend storage
- Drag & drop files from IDE (Cursor) into the feedback panel
- Keyboard shortcuts - Ctrl+Enter / Cmd+Enter for quick submit
- Smart browser detection (WSL, SSH, local)
- Session management with auto-cleanup
Architecture
┌─────────────────────────────────────────────┐
│ Cursor / AI Client │
│ (calls interactive_feedback MCP tool) │
└──────────────┬──────────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────▼──────────────────────────────┐
│ Python Backend │
│ ├── FastMCP server (MCP tool definitions) │
│ ├── FastAPI (HTTP routes + WebSocket) │
│ └── Session management & image processing │
└──────────────┬──────────────────────────────┘
│ HTTP + WebSocket
┌──────────────▼──────────────────────────────┐
│ Flutter Web Frontend │
│ ├── Workspace (AI Summary + Feedback) │
│ ├── Sessions (chat history) │
│ ├── Settings (auto-submit, timeout) │
│ └── About │
└─────────────────────────────────────────────┘
Requirements
Installation
Option A: Install from PyPI (recommended for users)
pip install leo-feedback-mcp
Or with uv:
uv pip install leo-feedback-mcp
MCP configuration (.cursor/mcp.json):
{
"mcpServers": {
"leo-feedback-mcp": {
"command": "uvx",
"args": ["leo-feedback-mcp"],
"timeout": 180,
"autoApprove": ["interactive_feedback", "leo-feedback-mcp"]
}
}
}
Option B: Install from source (for development)
git clone <your-repo-url> ~/Desktop/leo-feedback-mcp
cd ~/Desktop/leo-feedback-mcp
make init
make build
MCP configuration (.cursor/mcp.json):
{
"mcpServers": {
"leo-feedback-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"<path-to-leo-feedback-mcp>",
"leo-feedback-mcp"
],
"timeout": 180,
"autoApprove": ["interactive_feedback", "leo-feedback-mcp"]
}
}
}
Replace <path-to-leo-feedback-mcp> with the actual path to the cloned repository.
Apply configuration
You can place the MCP config in:
- Project-level:
.cursor/mcp.jsonin your project root - Global:
~/.cursor/mcp.jsonto apply across all projects
After editing, restart Cursor or reload MCP servers (Cursor Settings > MCP > Reload).
Usage
Once configured, the AI assistant will automatically call interactive_feedback to collect your feedback during conversations. A Web UI will open in your browser where you can:
- Review the AI's work summary (Markdown rendered)
- Provide text feedback with keyboard shortcuts
- Attach images via upload button, drag & drop, or paste
- View session history of previous AI interactions
- Configure auto-submit prompts and timeout settings
Environment Variables
| Variable | Description | Default |
|---|---|---|
MCP_DEBUG |
Enable debug logging | false |
MCP_WEB_HOST |
Web UI host | 127.0.0.1 |
MCP_WEB_PORT |
Web UI port | 8765 |
Credits
- Author: Leo Nguyen
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file leo_feedback_mcp-1.0.6.tar.gz.
File metadata
- Download URL: leo_feedback_mcp-1.0.6.tar.gz
- Upload date:
- Size: 10.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
838f6b1eadfe007a3208e549758e39673be4139091230dbf08131f4c2894be0e
|
|
| MD5 |
accf5f0e42008494075264a5a24d262f
|
|
| BLAKE2b-256 |
e2ecd0a743c1bc4651b86e429d8491f6a2af48fc11097f1d02eff0a4fabe535e
|
File details
Details for the file leo_feedback_mcp-1.0.6-py3-none-any.whl.
File metadata
- Download URL: leo_feedback_mcp-1.0.6-py3-none-any.whl
- Upload date:
- Size: 10.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c26399cf2c20fcb21022bbaa8b97d3ab06a460706d526e2c3eaff094505d361e
|
|
| MD5 |
0a9e82f4fec95ef41cc53e5f40357ff3
|
|
| BLAKE2b-256 |
2c50d062aff22e9f52bc06526cf2adc8b5d16f2cfad4fb93cb48c32763e2cb08
|