MCP Feedback Server
An interactive feedback system for MCP (Model Context Protocol) that allows agents to request user feedback during task execution.
Overview
This system consists of:
- feedback_server.py: The main MCP server that runs in your terminal and handles feedback requests
- feedback_client.py: A test client script demonstrating how agents connect to request feedback
Installation
- Install the required dependencies:
pip install mcp
Usage
Step 1: Start the Feedback Server
Run the server in a terminal:
python feedback_server.py
The server will:
- Start on
localhost:9876 - Display a message when ready
- Show agent requests and allow you to provide feedback interactively
Step 2: Configure Your MCP Agent
Add the server to your MCP configuration file (e.g., mcp_config.json):
{
"mcpServers": {
"feedback-server": {
"command": "python",
"args": [
"/<path_to_script>/feedback_client.py"
]
}
}
}
Step 3: Agent Prompt
Use this prompt with your agent:
Whenever you're about to complete a user request, call the MCP interactive_feedback instead of simply ending the process. Keep calling MCP until the user's feedback is empty, then end the request.
How It Works
-
Agent calls the tool: When an agent needs feedback, it calls the
interactive_feedbacktool with:work_summary: Summary of work completed so farquestion(optional): Specific question for the user
-
Server displays request: The feedback server shows:
- Timestamp of the request
- Work summary from the agent
- Any specific questions
-
User provides feedback: In the terminal running the server:
- Type feedback and press Enter to send it back to the agent
- Press Enter with empty input to approve and let the agent continue
-
Agent receives response: The agent gets either:
- User feedback to act upon
- Approval to continue (when feedback is empty)
Example Interaction
In the server terminal:
🚀 Feedback Server started on localhost:9876
Waiting for agent connections...
==============================================================
📝 AGENT REQUEST - 2025-01-15 14:30:45
==============================================================
Work Summary:
I have completed the following tasks:
1. Created the user authentication system
2. Set up the database models
3. Implemented the API endpoints
Agent's Question:
Should I proceed with adding the frontend components?
==============================================================
📌 Your Feedback (press Enter with empty input to approve and continue):
> Yes, but make sure to use React with TypeScript
✅ Feedback sent to agent: 'Yes, but make sure to use React with TypeScript'
Features
- ✅ Real-time interactive feedback
- ✅ Socket-based communication (no polling)
- ✅ Clear visual feedback in terminal
- ✅ Support for both general feedback and specific questions
- ✅ Simple approval mechanism (empty input = continue)
- ✅ Error handling and connection management
Troubleshooting
- Connection refused: Make sure the feedback server is running before the agent tries to connect
- Port already in use: The server uses port 9876 by default. Make sure no other process is using this port
- MCP not found: Install the MCP package using
pip install mcp
Architecture
The system uses a dual-server architecture:
- MCP Server: Handles the MCP protocol and tool definitions
- Socket Server: Manages the interactive feedback loop in the terminal
This design allows for real-time interaction while maintaining compatibility with the MCP protocol.
Metadata
Release files for iflow-mcp_andrei-cb-feedback-term 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_andrei_cb_feedback_term-1.0.1.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_andrei_cb_feedback_term-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / iflow_mcp_andrei_cb_feedback_term-1.0.1.tar.gz
| Download URL | iflow_mcp_andrei_cb_feedback_term-1.0.1.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e19d433deefbc4fec64bb13dffc2eccb452b1e7007aea252e9e87cd310093f03
|
|
BLAKE2b-256 checksum How to use checksums |
8d3d6ec9d394a735763f6ae7dd7c9311f1182570db741b1240caedfa509ba899
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_andrei_cb_feedback_term-1.0.1-py3-none-any.whl
| Download URL | iflow_mcp_andrei_cb_feedback_term-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43896394139daaba10e53162eba286428efba8213f89f4df1f2a254284e8af44
|
|
BLAKE2b-256 checksum How to use checksums |
9f602a0be267407de28f25f32186338dd9a695082965aeb520b0e983bbd8e9eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|