cursor-feedback

cursor-feedback

An interactive feedback MCP server that enables one conversation with unlimited AI interactions, bridging agent tools with Feishu for mobile replies.

Category
Visit Server

README

Cursor Feedback

中文文档

Open VSX Version Open VSX Downloads npm

One conversation, unlimited AI interactions - If you're on a per-request plan, it saves your monthly quota; plus it bridges your agent tool with Feishu (Lark) — when AI asks for feedback, it's pushed to Feishu and you can reply from your phone. An interactive feedback tool built on MCP (Model Context Protocol).

Demo

💡 Why Cursor Feedback?

If you're on Cursor's 500 requests/month plan or another coding plan, every conversation counts. With Cursor Feedback:

  • One conversation, unlimited interactions - Keep chatting without consuming extra quota
  • Human-in-the-loop workflow - AI waits for your feedback before proceeding
  • Sidebar integration - No external browser needed, everything stays in your IDE

✨ Features

  • 🎯 Sidebar Integration - Feedback UI embedded directly in the IDE sidebar
  • 💬 Interactive Feedback - AI Agent requests feedback via MCP tool
  • 🖼️ Image Support - Upload images or paste directly (Ctrl+V / Cmd+V)
  • 📁 File Support - Select files/folders to share paths with AI
  • 📝 Markdown Rendering - Full Markdown support for AI summaries
  • ⏱️ Auto-retry on Timeout - 5-minute default timeout, AI automatically re-requests
  • 🔔 Feishu (Lark) Bridge - When AI requests feedback, the summary is pushed to Feishu so you can reply right from your phone
  • 🌍 Multi-language - Supports English, Simplified Chinese, Traditional Chinese
  • 🔒 Project Isolation - Multiple windows work independently

🚀 Quick Start

1. Install the Cursor Extension

Search for "Cursor Feedback" in the Cursor extension marketplace.

Can't find it? Install via command line:

cursor --install-extension jianger666.cursor-feedback

2. Configure MCP Server

Option A: One-click Install (Recommended)

Click the button below to automatically configure the MCP Server:

<a href="https://cursor.com/en/install-mcp?name=cursor-feedback&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImN1cnNvci1mZWVkYmFja0BsYXRlc3QiXX0%3D"> <img src="mcp-install-dark.png" alt="Install MCP Server" width="126" height="28" /> </a>

Option B: Manual Configuration

Add to your Cursor MCP config file (~/.cursor/mcp.json):

{
  "mcpServers": {
    "cursor-feedback": {
      "command": "npx",
      "args": ["-y", "cursor-feedback@latest"]
    }
  }
}

Option C: Global Installation

npm install -g cursor-feedback

Then configure:

{
  "mcpServers": {
    "cursor-feedback": {
      "command": "cursor-feedback-mcp"
    }
  }
}

3. Usage

  1. Restart Cursor
  2. The Cursor Feedback icon appears in the sidebar
  3. Ask AI to call the interactive_feedback tool in chat
  4. AI displays work summary in sidebar, waiting for your feedback

4. Configure User Rules (Recommended)

Add these User Rules in Cursor settings for best experience:

# Cursor Feedback Rules

1. Always call MCP cursor-feedback during any workflow, task, or conversation.
2. After receiving user feedback, call MCP cursor-feedback again and adjust behavior accordingly.
3. Before completing a task, use MCP cursor-feedback to ask for user feedback.
4. All content to show users must be passed through cursor-feedback's summary parameter.

This enables continuous interactive dialogue where AI automatically uses Cursor Feedback throughout the conversation.

📖 MCP Tool

interactive_feedback

Interactive feedback collection tool.

Parameters:

Parameter Type Default Description
project_directory string required Absolute path of the project workspace you are currently in (the open workspace; for multi-window isolation)
summary string I have completed the task you requested. AI work summary (supports Markdown)
timeout number 300 Timeout in seconds (default 5 minutes)

Timeout Mechanism:

  • Default wait time: 5 minutes (300 seconds)
  • On timeout, AI receives notification
  • AI automatically re-calls the tool based on instructions
  • Even if you step away, AI will still be waiting when you return

Returns:

User feedback content including text, images, and attached file paths.

⚙️ Configuration

Language Settings

Method 1: Click the 🌐 button in the sidebar (Recommended)

Click the globe icon in the Cursor Feedback sidebar to switch languages.

Method 2: Through VS Code Settings

Search "Cursor Feedback" in settings:

Setting Type Default Description
cursorFeedback.language string zh-CN UI language

Available languages:

  • zh-CN - Simplified Chinese (简体中文)
  • en - English

Notification Settings

Click the "Notification settings" icon at the top of the feedback panel to configure in-app and Feishu notifications, or adjust them in VS Code settings:

Setting Type Default Description
cursorFeedback.systemNotification boolean true In-app notifications (main switch): automatically show the feedback panel when AI requests feedback. When off, this window stays fully silent — no panel, no focus stealing, and nothing pushed here
cursorFeedback.osNotification boolean true Notify when in background (sub-option): fire a native system notification only when the IDE window is not focused. When off, nothing pops even if you switch away (the panel still shows)
cursorFeedback.notificationSound boolean true Play a sound with the system notification

macOS note: notifications are sent via osascript. If you don't see them, allow notifications for "Script Editor" in System Settings → Notifications.

MCP Server Configuration

Basic config:

{
  "mcpServers": {
    "cursor-feedback": {
      "command": "npx",
      "args": ["-y", "cursor-feedback@latest"]
    }
  }
}

Custom timeout (optional, default 5 minutes):

{
  "mcpServers": {
    "cursor-feedback": {
      "command": "npx",
      "args": ["-y", "cursor-feedback@latest"],
      "env": {
        "MCP_FEEDBACK_TIMEOUT": "600"
      }
    }
  }
}
Environment Variable Default Description
MCP_FEEDBACK_TIMEOUT 300 Timeout in seconds (default 5 minutes)
MCP_AUTO_RETRY true Whether AI should auto-retry on timeout. Set to false to disable. Also toggleable via the "Keep-waiting" switch in the panel (priority: panel > env > default)

Feishu Notifications

Either way works — but you first need to set up the bot in the Feishu console: enable the bot, grant permissions, and turn on event subscription (long-connection mode + the im.message.receive_v1 event). Full walkthrough in the Feishu setup guide:

  • On Cursor: fill in Feishu credentials via the "Notification settings" icon at the top of the panel.
  • On other MCP hosts (agent tools without this panel): configure through env in mcp.json:
{
  "mcpServers": {
    "cursor-feedback": {
      "command": "npx",
      "args": ["-y", "cursor-feedback@latest"],
      "env": {
        "FEISHU_APP_ID": "cli_xxxxxxxx",
        "FEISHU_APP_SECRET": "your_app_secret"
      }
    }
  }
}
Environment Variable Default Description
FEISHU_APP_ID - Feishu app App ID (e.g. cli_xxxxxxxx)
FEISHU_APP_SECRET - Feishu app App Secret
FEISHU_ENABLED true Whether to push feedback to Feishu. Set to false to disable
FEISHU_ACK true Whether to react with a "Get" emoji after you reply. Set to false to disable

Priority: panel config (when credentials are filled) > env here > default. The panel wins when App ID/Secret are filled; otherwise it falls back to env. You still need to send the bot one message in Feishu to complete binding.

🏗️ Architecture

┌─────────────────┐     stdio      ┌──────────────────┐
│   AI Agent      │ ◄──────────► │   MCP Server     │
│   (Cursor)      │               │  (mcp-server.js) │
└─────────────────┘               └────────┬─────────┘
                                           │ HTTP API
                                           ▼
                                  ┌──────────────────┐
                                  │  Cursor Extension│
                                  │  (extension.js)  │
                                  └────────┬─────────┘
                                           │ WebView
                                           ▼
                                  ┌──────────────────┐
                                  │   User Interface │
                                  │   (Sidebar)      │
                                  └──────────────────┘

Workflow:

  1. AI Agent calls MCP Server's interactive_feedback tool via stdio
  2. MCP Server creates feedback request, exposes via HTTP API
  3. Cursor extension polls for requests, displays in sidebar WebView
  4. User inputs feedback (text/images/files), submits via HTTP
  5. MCP Server returns feedback result to AI Agent

📊 Comparison with mcp-feedback-enhanced

Feature mcp-feedback-enhanced cursor-feedback
MCP Tool ✅ ✅
Text Feedback ✅ ✅
Image Upload ✅ ✅
Image Paste ✅ ✅
File/Folder Selection ❌ ✅
Markdown Rendering ✅ ✅
Multi-language ✅ ✅
Auto-retry on Timeout ✅ ✅
IDE Sidebar Integration ❌ ✅
Multi-window Project Isolation ❌ ✅
Command Execution ✅ ⏳

🛠️ Development

# Clone the project
git clone https://github.com/jianger666/cursor-feedback-extension.git
cd cursor-feedback-extension

# Install dependencies
npm install

# Compile
npm run compile

# Watch mode
npm run watch

# Run lint
npm run lint

# Package extension
npx vsce package

📄 License

MIT

🙏 Acknowledgments

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured