Interactive Feedback MCP

repository·main·Indexed 23 days ago

https://github.com/noopstudios/interactive-feedback-mcp

An MCP server version 0.1.0 by Fábio Ferreira that enables human-in-the-loop workflows in AI coding tools like Cursor, Cline, and Windsurf. It allows AI assistants to pause, run commands, and request explicit textual feedback via the `interactive_feedback` tool before proceeding or completing tasks.

Tokens
1K
Snippets
3
Records
6
Agent score
33%

What's inside interactive-feedback-mcp

  1. Understand how configuration is stored

    main

    The server uses Qt's QSettings to manage project-specific configurations. Settings are stored in platform-specific locations (Windows Registry, macOS plists, or Linux ~/.config/~/.local/share) under the organization FabioFerreira and application InteractiveFeedbackMCP.

    Stored settings include:

    • The command to run.
    • Whether to execute the command automatically on the next startup.
    • The visibility state of the command section.
    • Window geometry and state.

    Note: The "Save Configuration" button in the UI saves the current command and the "Execute automatically on next run" checkbox for the active project. Window size and position are saved automatically when the application closes.

  2. Install Interactive Feedback MCP in Cursor

    main

    Follow these steps to set up the MCP server in Cursor. This requires Python 3.11+ and uv.

    1. Prerequisites

    Install uv (Python package manager):

    • Windows: pip install uv
    • Linux/Mac: curl -LsSf https://astral.sh/uv/install.sh | sh

    2. Setup

    Clone the repository and install dependencies:

    git clone https://github.com/noopstudios/interactive-feedback-mcp.git
    cd interactive-feedback-mcp
    uv sync

    3. Configure Cursor

    Add the server to your Cursor MCP settings. You must replace the placeholder path with the absolute path to your cloned repository.

    Example mcp.json configuration:

    {
      "mcpServers": {
        "interactive-feedback-mcp": {
          "command": "uv",
          "args": [
            "--directory",
            "/YOUR/ACTUAL/PATH/TO/interactive-feedback-mcp",
            "run",
            "server.py"
          ],
          "timeout": 600,
          "autoApprove": [
            "interactive_feedback"
          ]
        }
      }
    }
    {
      "mcpServers": {
        "interactive-feedback-mcp": {
          "command": "uv",
          "args": [
            "--directory",
            "/Users/fabioferreira/Dev/scripts/interactive-feedback-mcp",
            "run",
            "server.py"
          ],
          "timeout": 600,
          "autoApprove": [
            "interactive_feedback"
          ]
        }
      }
    }
  3. Optimize AI behavior with Prompt Engineering

    main

    To ensure your AI assistant (like Cursor) uses the human-in-the-loop workflow effectively, add the following instructions to your custom rules or system prompt:

    Whenever you want to ask a question, always call the MCP interactive_feedback. 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.

    This prevents the assistant from making speculative, high-cost tool calls and ensures it checks in with you before finishing a task.

  4. Use the `interactive_feedback` tool

    main

    The AI assistant interacts with the server by calling the interactive_feedback tool. This tool allows the assistant to provide a summary of its work and request feedback for a specific project directory.

    Tool Arguments:

    • project_directory: The absolute path to the project being worked on.
    • summary: A text description of the actions taken or the current state.
    <use_mcp_tool>
      <server_name>interactive-feedback-mcp</server_name>
      <tool_name>interactive_feedback</tool_name>
      <arguments>
        {
          "project_directory": "/path/to/your/project",
          "summary": "I've implemented the changes you requested and refactored the main module."
        }
      </arguments>
    </use_mcp_tool>
  5. Run the Interactive Feedback MCP server

    main

    The server is built using FastMCP and is designed to run using the stdio transport. This is the standard way to connect the MCP server to clients like Cursor or Cline.

    To run the server manually (for development or testing), execute the script directly using Python: