cursor-feedback
An interactive feedback MCP server that enables one conversation with unlimited AI interactions, bridging agent tools with Feishu for mobile replies.
README
Cursor Feedback
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).

💡 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
- Restart Cursor
- The Cursor Feedback icon appears in the sidebar
- Ask AI to call the
interactive_feedbacktool in chat - 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
envinmcp.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:
- AI Agent calls MCP Server's
interactive_feedbacktool via stdio - MCP Server creates feedback request, exposes via HTTP API
- Cursor extension polls for requests, displays in sidebar WebView
- User inputs feedback (text/images/files), submits via HTTP
- 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
- mcp-feedback-enhanced - Original Python implementation
- Model Context Protocol - MCP Protocol
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。