MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A Model Context Protocol (MCP) server that enables a human-in-the-loop workflow for AI-assisted development tools such as Cursor, Cline, and Windsurf. Based on the original work by Fábio Ferreira (@fabiomlferreira).

Created 2/27/2026
Updated about 3 hours ago
Repository documentation and setup instructions

My Last Feedback MCP

A Model Context Protocol (MCP) server that enables a human-in-the-loop workflow for AI-assisted development tools such as Cursor, Cline, and Windsurf.

Based on the original work by Fábio Ferreira (@fabiomlferreira).
This fork adds UI enhancements and stronger API contracts for AI agents.


✨ Features

| Feature | Description | |---|---| | Interactive feedback window | A native PySide6 desktop UI pops up whenever the AI agent requests feedback | | Markdown summary rendering | Agent summaries are rendered as rich Markdown in the feedback window | | Task title in window bar | The request_name parameter is displayed as both window title and a bold heading | | Quick action buttons | One-click preset responses (Start task, Continue, Analyze, Fix, Explain) | | Custom prompt buttons | Load your own .prompt.md files from the mcp_prompts/ folder as buttons | | Test log section | A dedicated area to paste test output, appended to feedback automatically | | Feedback enhancement reminder | Optional checkbox to remind the agent to call interactive_feedback again | | Dark mode | Full dark theme with Windows dark title bar support | | Per-project settings | Preferences are saved per project directory via Qt QSettings |


💡 Why Use This?

By guiding the AI assistant to check in with the user instead of making speculative tool calls, this server can drastically reduce the number of API requests consumed. In practice it can consolidate up to 25 tool calls into a single feedback-aware request — saving cost and improving accuracy.


🛠️ Installation

Prerequisites

  • Python 3.11 or newer
  • uv package manager
# Windows
pip install uv

# Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

Setup

# 1. Clone the repository
git clone https://github.com/isWittHere/my-last-feedback.git
cd my-last-feedback

# 2. Install dependencies
uv sync

⚙️ Configuration

Cursor

Add the following to your Cursor MCP configuration (replace the path with your actual clone location):

{
  "mcpServers": {
    "my-last-feedback": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/my-last-feedback",
        "run",
        "server.py"
      ],
      "timeout": 600,
      "autoApprove": [
        "interactive_feedback"
      ],
      "env": {
        "FEEDBACK_LANG": "en"
      }
    }
  }
}

Cline / Windsurf

Use the same command / args pattern above in the respective tool's MCP settings.

🌐 Language Configuration

Set the FEEDBACK_LANG environment variable in the env block of your MCP config to control the UI language:

| Value | Language | |---|---| | en | English (default) | | zh | Chinese |

See mcp.json.template for a ready-to-use configuration template.


📝 Prompt Engineering

Add the following to your AI assistant's custom rules (e.g. as a .cursor/rules/ rule or a VS Code .instructions.md):

---
name: interactive-feedback
description: For ALL Requests, use the interactive-feedback tool to get user confirmation for important operations and finalizing requests.
applyTo: '**'
---
## MUST FOLLOW :
Whenever you're about to complete a user request, call the interactive_feedback instead of simply ending the process.

## Interactive Feedback MCP Tool Usage Instructions
The interactive_feedback tool must be used in any of the following situations:
- When user confirmation is needed for certain important operations, call the interactive_feedback:
  - Testing: Before wanting to perform project testing or coding a test script;
  - Terminal: Before wanting to use any terminal commands;
  - Reporting: Before wanting to generate any reports, especially in markdown format;
  - Asking: Before wanting to ask the user any questions;
- Whenever you're about to complete a user request, call the interactive_feedback instead of simply ending the process. 
- Keep calling interactive_feedback until the user's feedback is empty, then end the request.

🔧 Tool Reference

interactive_feedback

Requests interactive feedback from the user.

| Parameter | Type | Required | Description | |---|---|---|---| | project_directory | string | ✅ | Full path to the project directory | | summary | string | ✅ | Summary in standard Markdown format — must use headings (##), lists (-), bold (**text**), and/or code blocks. Plain text is not acceptable. | | request_name | string | ✅ | A concise task title (5–10 words) shown in the window title bar. Must not be left empty. |

Example call

<use_mcp_tool>
  <server_name>my-last-feedback</server_name>
  <tool_name>interactive_feedback</tool_name>
  <arguments>
    {
      "project_directory": "/path/to/your/project",
      "request_name": "Refactor authentication module",
      "summary": "## Changes Made\n\n- Extracted token logic into `auth/token.py`\n- Added unit tests for edge cases\n\n## Next Steps\n\n- Review the updated tests"
    }
  </arguments>
</use_mcp_tool>

Return value

The section headers in the returned feedback reflect the configured language (FEEDBACK_LANG env var).

{
  "command_logs": "",
  "interactive_feedback": "## User Feedback\n[user feedback]\n\n## Reminder\nPlease use the interactive_feedback tool again after completing this operation."
}

📁 Custom Prompt Buttons

Place .prompt.md files in the mcp_prompts/ directory. Each file must have YAML front matter with name and optionally description:

---
name: "Run Tests"
description: "Ask the agent to run the test suite"
---
Please run the full test suite and report any failures.

Clicking the button appends the prompt body to the feedback input and submits immediately.


🧑‍💻 Development

Run the server with the FastMCP development web UI:

uv run fastmcp dev server.py

📄 License

See LICENSE for details.


Acknowledgements

Original project by Fábio Ferreira.
Check out dotcursorrules.com for more AI development resources.

Quick Setup
Installation guide for this server

Install Package (if required)

uvx my-last-feedback

Cursor configuration (mcp.json)

{ "mcpServers": { "iswitthere-my-last-feedback": { "command": "uvx", "args": [ "my-last-feedback" ] } } }