npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

feedback-loop-mcp

v1.1.0

Published

Simple MCP Server to enable a human-in-the-loop workflow in AI-assisted development tools like Cursor. This server allows you to run commands, view their output, and provide textual feedback directly to the AI. It is also compatible with Cline and Windsur

Readme

Feedback Loop MCP

Simple MCP Server to enable a human-in-the-loop workflow in AI-assisted development tools like Cursor. This server allows you to run commands, view their output, and provide textual feedback directly to the AI. It is also compatible with Cline and Windsurf.

Inspiration: This project is inspired by interactive-feedback-mcp by Fábio Ferreira (@fabiomlferreira).

Features

  • Cross-platform: Works on macOS, Windows, and Linux
  • Interactive UI: Modern, responsive interface for collecting feedback
  • Settings persistence: Save and restore UI preferences per project
  • MCP integration: Seamlessly integrates with MCP-compatible AI assistants
  • macOS overlay support: Native overlay window support on macOS
  • Dynamic Quick Feedback: Provide custom, clickable quick feedback options directly through the MCP tool call, allowing for context-specific suggestions.

Screenshot

Feedback Loop MCP Interface

The feedback collection interface with macOS vibrancy effects

Installation

Quick Start with npx (Recommended)

The easiest way to use this MCP server is via npx:

npx feedback-loop-mcp

Global Installation

For frequent use, install globally:

npm install -g feedback-loop-mcp
feedback-loop-mcp

Local Development Setup

For development or customization:

  1. Clone the repository:

    git clone <repository-url>
    cd feedback-loop-mcp
  2. Install dependencies:

    npm install
  3. Run in development mode:

    npm run dev

MCP Server Configuration

Cursor IDE

Add the following configuration to your Cursor settings (mcp.json):

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"],
      "timeout": 600,
      "autoApprove": [
        "feedback_loop"
      ]
    }
  }
}

Cline / Windsurf

Similar setup principles apply. Configure the server command in your MCP settings:

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"]
    }
  }
}

Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"]
    }
  }
}

Usage

The feedback_loop tool accepts the following arguments:

  • project_directory (string, required): Full path to the project directory.
  • prompt (string, required): Combined summary and question, describing what was done and asking for specific feedback.
  • quickFeedbackOptions (array of strings, optional): A list of predefined feedback strings that will be displayed as clickable options in the UI for faster feedback.

Example tool call from an AI assistant:

feedback_loop_mcp({
  project_directory: "/path/to/your/project",
  prompt: "I implemented the new user authentication flow with JWT. Does this approach meet your requirements?",
  quickFeedbackOptions: [
    "Yes, looks good!",
    "Needs minor changes to the error handling.",
    "Please try a different approach."
  ]
});

Running the Server

Via npx (Recommended)

npx feedback-loop-mcp

Via Global Installation

feedback-loop-mcp

Local Development

npm start

Command Line Arguments

The application accepts the following command-line arguments:

  • --project-directory <path>: Set the project directory
  • --prompt <text>: Set the initial prompt/summary text

Example:

npm start -- --project-directory "/path/to/project" --prompt "Please review this code"

Available Tools

The MCP server provides the following tool:

  • feedback_loop: Displays a UI for collecting user feedback and returns the response

Example usage in AI assistants:

{
  "tool_name": "feedback_loop",
  "arguments": {
    "project_directory": "/path/to/your/project",
    "summary": "I've implemented the changes you requested and refactored the main module."
  }
}

Prompt Engineering

For the best results, add the following to your custom prompt in your AI assistant:

Whenever you want to ask a question, always call the MCP feedback_loop tool.
Whenever you're about to complete a user request, call the MCP feedback_loop tool instead of simply ending the process.
Keep calling the feedback_loop tool until the user's feedback is empty, then end the request.

This ensures your AI assistant uses this MCP server to request user feedback before marking tasks as completed.

Benefits

By guiding the assistant to check in with the user instead of branching out into speculative, high-cost tool calls, this module can drastically reduce the number of premium requests (e.g., OpenAI tool invocations) on platforms like Cursor. In some cases, it helps consolidate what would be up to 25 tool calls into a single, feedback-aware request — saving resources and improving performance.

Built applications will be available in the dist directory.

Project Structure

feedback-loop-mcp/
├── main.js              # Main Electron process
├── preload.js           # Preload script for secure IPC
├── package.json         # Project configuration
├── README.md           # This file
├── assets/             # Static assets
│   └── feedback.png    # Application icon
├── renderer/           # Renderer process files
│   ├── index.html      # Main UI
│   ├── styles.css      # Styling
│   └── renderer.js     # UI logic
└── server/             # MCP server
    └── mcp-server.js   # Node.js MCP server

Configuration

The application automatically saves settings using Electron's built-in storage:

  • General settings: Window size, position, and UI preferences
  • Project-specific settings: Command history and project-specific configurations

Settings are stored in the standard application data directory for each platform.

Features Overview

Feedback Collection

  • Rich text feedback input
  • Automatic saving of feedback
  • JSON output format for easy integration
  • Timestamp and project information included

Prompt Engineering

Crafting effective prompts is key to getting useful feedback. When using the prompt parameter, aim to:

  1. Be concise but complete: Describe what was done and what feedback you need in a single, clear statement.

  2. Include context: Mention key implementation details or choices that affect the feedback you're seeking.

  3. Ask a specific question: End with a clear question that guides the user to provide the feedback you need.

  4. Frame the question properly: Instead of "Does this look good?" try "Does this implementation address your requirements for X?"

Example of an effective prompt:

I've implemented user authentication using JWT with a 24-hour expiration and refresh tokens. Does this approach provide the security level you need for this application?

Quick Feedback Options

When defining quickFeedbackOptions, consider:

  • Provide 3-5 options maximum for best UX
  • Include both positive and constructive feedback options
  • Make options specific to the context, not generic
  • Order options from most positive to most critical

Example of well-designed quick feedback options:

quickFeedbackOptions: [
  "Perfect, exactly what I needed",
  "Good approach, but please add more validation",
  "I'd prefer a different authentication method",
  "Let's discuss alternatives in more detail"
]

Development

For development and build information, see DEVELOPMENT.md.

Troubleshooting

Common Issues

  1. MCP server not connecting: Ensure the server is running and the configuration is correct
  2. npx command not found: Make sure Node.js and npm are properly installed
  3. Permission errors: On Unix systems, you may need to make the binary executable

Debug Mode

Run with debug output:

DEBUG=* npx feedback-loop-mcp

License

MIT License - see package.json for details.