
Multiplatform Cursor Mcp
作为Claude桌面应用与Cursor编辑器之间的桥梁,通过标准化通信和基于令牌的安全认证,实现跨平台无缝AI驱动自动化及多实例管理。
概述
Cursor MCP (模型上下文协议)
Cursor MCP 是 Claude 桌面应用与 Cursor 编辑器之间的桥梁,实现无缝的 AI 驱动自动化与多实例管理。作为更广泛的 Model Context Protocol (MCP) 生态系统的一部分,它允许 Cursor 通过标准化接口与各类 AI 模型和服务交互。
概述
🤖 AI 集成
- 与 Claude 桌面应用直接集成
- 支持其他 MCP 兼容的 AI 服务
- AI 与编辑器间实时上下文共享
- AI 驱动的自动化与代码生成
🔌 MCP 协议支持
- 与 AI 模型的标准化通信
- 可扩展的插件系统支持额外 MCP
- 上下文感知命令执行
- 基于令牌的安全认证
🖥️ 跨平台窗口管理
- 跨操作系统无缝管理 Cursor 编辑器窗口
- 编程方式聚焦/最小化/还原/排列窗口
- 跟踪窗口状态变化与位置
- 同时处理多个 Cursor 实例
⌨️ 输入自动化
- AI 驱动的键盘输入支持:
- 代码生成与插入
- 重构操作
- 上下文感知补全
- 多光标编辑
- 智能鼠标自动化包括:
- 智能选区
- 上下文菜单操作
- AI 引导导航
🔄 进程管理
- AI 编排的实例管理
- 智能工作区组织
- 自动上下文保存
- 智能会话恢复
MCP 集成
Claude 桌面集成
typescript
import { ClaudeMCP } from 'cursor-mcp/claude'
// 连接 Claude 桌面应用
const claude = await ClaudeMCP.connect()
// 执行 AI 驱动的操作
await claude.generateCode({
prompt: '创建 React 组件',
context: currentFileContent,
language: 'typescript'
})
// 获取 AI 建议
const suggestions = await claude.getSuggestions({
code: selectedText,
type: 'refactor'
})
使用多个 MCP
typescript
import { MCPRegistry } from 'cursor-mcp/registry'
// 注册可用 MCP
MCPRegistry.register('claude', ClaudeMCP)
MCPRegistry.register('github-copilot', CopilotMCP)
// 使用不同 AI 服务
const claude = await MCPRegistry.get('claude')
const copilot = await MCPRegistry.get('github-copilot')
// 比较建议
const claudeSuggestions = await claude.getSuggestions(context)
const copilotSuggestions = await copilot.getSuggestions(context)
自定义 MCP 集成
typescript
import { BaseMCP, MCPProvider } from 'cursor-mcp/core'
class CustomMCP extends BaseMCP implements MCPProvider {
async connect() {
// 自定义连接逻辑
}
async generateSuggestions(context: CodeContext) {
// 自定义 AI 集成
}
}
// 注册自定义 MCP
MCPRegistry.register('custom-ai', CustomMCP)
配置
可通过环境变量或配置文件进行配置:
- Windows:
%LOCALAPPDATA%\cursor-mcp\config\config.json
- macOS:
~/Library/Application Support/cursor-mcp/config/config.json
- Linux:
~/.config/cursor-mcp/config.json
配置示例:
json
{
"mcp": {
"claude": {
"enabled": true,
"apiKey": "${CLAUDE_API_KEY}",
"contextWindow": 100000
},
"providers": {
"github-copilot": {
"enabled": true,
"auth": "${GITHUB_TOKEN}"
}
}
},
"autoStart": true,
"maxInstances": 4,
"windowArrangement": "grid",
"logging": {
"level": "info",
"file": "cursor-mcp.log"
}
}
安装
Windows
powershell
# 管理员身份运行
Invoke-WebRequest -Uri "https://github.com/your-org/cursor-mcp/releases/latest/download/cursor-mcp-windows.zip" -OutFile "cursor-mcp.zip"
Expand-Archive -Path "cursor-mcp.zip" -DestinationPath "."
.\windows.ps1
macOS
bash
# 使用 sudo 运行
curl -L "https://github.com/your-org/cursor-mcp/releases/latest/download/cursor-mcp-macos.zip" -o "cursor-mcp.zip"
unzip cursor-mcp.zip
sudo ./macos.sh
Linux
bash
# 使用 sudo 运行
curl -L "https://github.com/your-org/cursor-mcp/releases/latest/download/cursor-mcp-linux.zip" -o "cursor-mcp.zip"
unzip cursor-mcp.zip
sudo ./linux.sh
使用
基础用法
typescript
import { CursorInstanceManager } from 'cursor-mcp'
// 获取实例管理器
const manager = CursorInstanceManager.getInstance()
// 启动新 Cursor 实例
await manager.startNewInstance()
// 获取所有运行中的实例
const instances = await manager.getRunningInstances()
// 聚焦特定实例
await manager.focusInstance(instances[0])
// 关闭所有实例
await manager.closeAllInstances()
窗口管理
typescript
import { WindowManager } from 'cursor-mcp'
const windowManager = WindowManager.getInstance()
// 查找所有 Cursor 窗口
const windows = await windowManager.findCursorWindows()
// 聚焦窗口
await windowManager.focusWindow(windows[0])
// 并排排列窗口
await windowManager.arrangeWindows(windows, 'sideBySide')
// 最小化所有窗口
for (const window of windows) {
await windowManager.minimizeWindow(window)
}
输入自动化
typescript
import { InputAutomationService } from 'cursor-mcp'
const inputService = InputAutomationService.getInstance()
// 输入文本
await inputService.typeText('Hello, World!')
// 发送键盘快捷键
if (process.platform === 'darwin') {
await inputService.sendKeys(['command', 'c'])
} else {
await inputService.sendKeys(['control', 'c'])
}
// 鼠标操作
await inputService.moveMouse(100, 100)
await inputService.mouseClick('left')
await inputService.mouseDrag(100, 100, 200, 200)
工作原理
桥接架构
本工具作为 Cursor 与 MCP 服务器间的中间层:
-
Cursor 集成:
- 监控 Cursor 文件系统事件
- 捕获编辑器状态与上下文
- 将响应注入编辑器
- 管理窗口与进程自动化
-
MCP 协议转换:
- 将 Cursor 内部事件转为 MCP 协议消息
- 将 MCP 响应转为 Cursor 兼容操作
- 维护会话状态与上下文
- 处理认证与安全
-
服务器通信:
- 连接 Claude 桌面应用 MCP 服务器
- 路由请求至适当 AI 提供商
- 管理多个 MCP 的并发连接
- 处理回退与错误恢复
graph LR
A[Cursor 编辑器] <--> B[Cursor MCP 桥接]
B <--> C[Claude 桌面 MCP]
B <--> D[GitHub Copilot MCP]
B <--> E[自定义 AI MCP]
示例工作流
-
代码补全请求:
typescript// 1. Cursor 事件 (文件变更) // 当用户在 Cursor 中输入: function calculateTotal(items) { // 计算商品总价| <-- 光标位置 // 2. 桥接转换 const event = { type: 'completion_request', context: { file: 'shopping-cart.ts', line: 2, prefix: '// 计算商品总价', language: 'typescript', cursor_position: 43 } } // 3. MCP 协议消息 await mcpServer.call('generate_completion', { prompt: event.context, max_tokens: 150, temperature: 0.7 }) // 4. 响应转换 // 桥接将 MCP 响应转为: const response = `return items.reduce((total, item) => { return total + (item.price * item.quantity); }, 0);` // 5. Cursor 集成 // 桥接在光标位置注入代码
-
代码重构:
typescript// 1. Cursor 事件 (命令) // 用户选择代码并触发重构命令 const oldCode = ` if (user.age >= 18) { if (user.hasLicense) { if (car.isAvailable) { rentCar(user, car); } } } ` // 2. 桥接转换 const event = { type: 'refactor_request', context: { selection: oldCode, command: 'simplify_nesting' } } // 3. MCP 协议消息 await mcpServer.call('refactor_code', { code: event.context.selection, style: 'simplified', maintain_logic: true }) // 4. 响应转换 const response = ` const canRentCar = user.age >= 18 && user.hasLicense && car.isAvailable; if (canRentCar) { rentCar(user, car); } ` // 5. Cursor 集成 // 桥接替换选中代码
-
多文件上下文:
typescript// 1. Cursor 事件 (文件依赖) // 当用户请求组件帮助时 // 2. 桥接转换 const event = { type: 'context_request', files: { 'UserProfile.tsx': '...', 'types.ts': '...', 'api.ts': '...' }, focus_file: 'UserProfile.tsx' } // 3. MCP 协议消息 await mcpServer.call('analyze_context', { files: event.files, primary_file: event.focus_file, analysis_type: 'component_dependencies' }) // 4. 响应处理 // 桥接跨请求维护上下文
集成方法
-
文件系统监控:
typescriptimport { FileSystemWatcher } from 'cursor-mcp/watcher' const watcher = new FileSystemWatcher({ paths: ['/path/to/cursor/workspace'], events: ['change', 'create', 'delete'] }) watcher.on('change', async (event) => { const mcpMessage = await bridge.translateEvent(event) await mcpServer.send(mcpMessage) })
-
窗口集成:
typescriptimport { CursorWindow } from 'cursor-mcp/window' const window = new CursorWindow() // 注入 AI 响应 await window.injectCode({ position: cursorPosition, code: mcpResponse.code, animate: true // 平滑输入动画 }) // 处理用户交互 window.onCommand('refactor', async (selection) => { const mcpMessage = await bridge.createRefactorRequest(selection) const response = await mcpServer.send(mcpMessage) await window.applyRefactoring(response) })
-
上下文管理:
typescriptimport { ContextManager } from 'cursor-mcp/context' const context = new ContextManager() // 跟踪文件依赖 await context.addFile('component.tsx') await context.trackDependencies() // 维护对话历史 context.addMessage({ role: 'user', content: '重构此组件' }) // 发送至 MCP 服务器 const response = await mcpServer.send({ type: 'refactor', context: context.getFullContext() })
安全性
- AI 服务的基于令牌安全认证
- 加密通信通道
- 沙箱执行环境
- 细粒度权限控制
系统要求
Windows
- Windows 10 或更高版本
- Node.js 18 或更高版本
- 管理员安装权限
macOS
- macOS 10.15 (Catalina) 或更高版本
- Node.js 18 或更高版本
- Xcode 命令行工具
- 终端的辅助功能权限
Linux
- X11 显示服务器
- Node.js 18 或更高版本
- xdotool
- libxtst-dev
- libpng++-dev
- build-essential
开发
设置
bash
# 克隆仓库
git clone https://github.com/your-org/cursor-mcp.git
cd cursor-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 运行测试
npm test
运行测试
bash
# 运行所有测试
npm test
# 运行特定测试套件
npm test -- window-management
# 带覆盖率运行
npm run test:coverage
贡献指南
欢迎贡献!详见贡献指南。
许可证
本项目采用 MIT 许可证 - 详见许可证文件。
支持
致谢
- Cursor 编辑器 - 以 AI 为核心的代码编辑器
- Claude AI - 先进 AI 助手
- @nut-tree/nut-js - 跨平台自动化
- active-win - 窗口检测

Ai Image Gen Mcp
使用户能够使用 Replicate 的模型从文本提示生成图像,支持配置参数并完全符合 MCP 协议。
Aistor
AIStor 官方 MCP 服务器
Any Openapi
一个 MCP 服务器,使 Claude 能够通过语义搜索发现并调用任何 API 端点。智能分块 OpenAPI 规范以处理大型 API 文档,并具备内置的请求执行功能。非常适合将私有 API 与 Claude Desktop 集成。
Apple Notes Mcp
使用 Claude 模型上下文协议读取您的 Apple Notes