Skip to main content
Glama
jianger666

cursor-feedback

by jianger666

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 Cursor with Feishu (Lark) — when AI asks for feedback, it's pushed to Feishu and you can reply from your phone, or even send /new to spawn a fresh session. An interactive feedback tool built for Cursor, on top of MCP.

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

Related MCP server: Lark MCP

✨ 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

  • 📱 Launch sessions from your phone - Send /new task in Feishu to spawn a Cursor CLI session, no computer access needed

  • 🌙 Background service - Optional login daemon: Feishu keeps working with Cursor closed, auto keep-awake on AC power

  • 🌍 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

Click the button below to automatically configure the MCP Server:

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

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:

  • Panel config (recommended): fill in Feishu credentials via the "Notification settings" icon at the top of the panel.

  • Env config (handy for pinning the config in mcp.json / rolling it out to a team):

{
  "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

FEISHU_QUEUE

true

Queue messages while the AI is busy: messages sent when no feedback request is waiting are queued and auto-delivered on the AI's next feedback round, prefixed with an "appended during the task" hint; the bot acknowledges with a "queued" reply. Set to false to disable (also toggleable in the panel's notification settings)

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.

Once configured, send the bot any message in Feishu to bind the chat — the server records it as the push target (persisted to disk, shared across processes). From then on: the agent calls interactive_feedback → a card is pushed to Feishu → you reply in Feishu → your reply is routed back to the agent as the tool result. Reply from your phone; no need to sit at the computer.

Launch CLI sessions from Feishu (/new)

Start a brand-new AI session from your phone, away from the computer. Prerequisite: Cursor CLI (cursor-agent) installed and logged in on the machine.

Send these directly in the bot chat:

Command

What it does

/new task description

Launch a headless CLI session for the task (in your home directory by default)

/new /abs/path task description

Launch in an explicit working directory

/new project-name task description

Launch in a project Cursor has opened before (unique folder-name match)

/projects

List project paths Cursor has opened (to look up / copy into /new)

/status

Show the running CLI session (task, elapsed time, model)

/stop

Terminate the running CLI session

/model [modelId]

Show / set the session model (persisted)

/models [keyword]

List available models (curated picks by default; filter with a keyword, e.g. /models fable)

/help

Show command usage

  • Sessions run in non-interactive mode with the model specified via --model flag.

  • The launched agent talks to you through this extension's feedback cards: confirmations and progress reports are pushed to Feishu; just reply to the cards.

  • Put custom rules in ~/.cursor-feedback/cli-rules.md (e.g. "always reply in Chinese"); they are injected into every /new session.

  • When a session ends (done / error / /stop / 3-hour cap), a wrap-up message with the final output is sent to Feishu.

Background service (works without the IDE)

Normally the server process is spawned by Cursor, so closing Cursor drops the Feishu link. Enable the background service and a standalone daemon auto-starts at login — messages and /new work whether Cursor is open or not:

  • Enable: the "Background service" toggle in the extension's notification settings, or npx cursor-feedback@latest install-daemon (uninstall-daemon / daemon-status likewise).

  • How: the current package is copied to ~/.cursor-feedback/daemon/app (self-contained, immune to npx cache cleanup); registered as a launchd agent on macOS (auto-restart on crash) or a logon scheduled task on Windows.

  • Auto-upgrade: the daemon copy never goes stale — whenever a newer server starts inside the IDE and sees the installed daemon is outdated, it silently reinstalls and restarts it.

  • Keep-awake: while on AC power the daemon prevents system sleep (macOS caffeinate -s; Windows power assertion). On battery it does nothing. Lock screen never affects background processes.

  • Typical use: leave the machine plugged in and locked after work; /new from your phone anytime.

Diagnostics export

Server logs are also written to ~/.cursor-feedback/logs/ (daily files, 7-day retention). Hit Export diagnostics in the extension's notification settings to save a single report — recent logs, environment and sanitized config (secrets are masked) — to attach to bug reports. Works even when no server is running (falls back to reading log files directly).

  • After upgrading the extension, toggle the switch off/on once to refresh the daemon's copy.

🏗️ 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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jianger666/cursor-feedback-extension'

If you have feedback or need assistance with the MCP directory API, please join our Discord server