Cursor MCP 使用说明

项目简介

Cursor MCP 是一个桥接工具,旨在连接 Cursor 编辑器和 Claude 桌面应用,实现基于 Model Context Protocol (MCP) 的 AI 功能集成。它允许 Cursor 编辑器通过标准化的 MCP 协议与包括 Claude 在内的多种 AI 模型和服务进行交互,从而实现代码自动生成、编辑器自动化和上下文感知的功能增强。

主要功能点

  • AI 模型集成: 无缝集成 Claude 桌面应用,并支持其他兼容 MCP 协议的 AI 服务。
  • MCP 协议支持: 基于标准 MCP 协议与 AI 模型通信,支持可扩展的插件系统以集成更多 MCP 服务。
  • 跨平台窗口管理: 允许程序化地管理 Cursor 编辑器在不同操作系统上的窗口,包括窗口聚焦、最小化、恢复和排列等。
  • 输入自动化: 提供 AI 驱动的键盘和鼠标输入自动化能力,用于代码生成、重构、上下文感知补全和多光标编辑等。
  • 进程管理: 支持 AI 编排的 Cursor 实例管理,实现智能工作区组织和会话恢复。

安装步骤

请根据您的操作系统选择相应的安装步骤:

Windows:

  1. 下载最新版本的 'cursor-mcp-windows.zip' 压缩包。
  2. 解压压缩包到本地目录。
  3. 以管理员身份运行 'windows.ps1' 脚本完成安装。

macOS:

  1. 下载最新版本的 'cursor-mcp-macos.zip' 压缩包。
  2. 解压压缩包到本地目录。
  3. 运行 'macos.sh' 脚本,可能需要 'sudo' 权限。

Linux:

  1. 下载最新版本的 'cursor-mcp-linux.zip' 压缩包。
  2. 解压压缩包到本地目录。
  3. 运行 'linux.sh' 脚本,可能需要 'sudo' 权限。

详细安装和配置信息请参考仓库 README 文件。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接 Cursor MCP 服务器。请注意 'command' 字段需要配置为 Cursor MCP 服务器的启动命令,通常是安装目录下 'cursor-mcp' 可执行文件的路径。

{
  "serverName": "CursorMCP",
  "command": "/path/to/cursor-mcp/cursor-mcp",  // 请替换为 Cursor MCP 服务器的启动命令路径
  "args": [],
  "protocol": "stdio"
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义,用于在客户端标识不同的 MCP 服务器连接。
  • 'command': 重要,Cursor MCP 服务器的启动命令。需要指向 Cursor MCP 的可执行文件。请根据您的安装位置进行调整。
  • 'args': 启动命令的参数,本服务器默认无需额外参数,保持为空数组即可。
  • 'protocol': 指定 MCP 通信协议,Cursor MCP 服务器使用 'stdio' 标准输入输出协议。

基本使用方法

以下 TypeScript 代码展示了如何使用 Cursor MCP 提供的 'CursorInstanceManager' 和 'WindowManager' 服务来管理和自动化 Cursor 编辑器:

启动和管理 Cursor 实例:

import { CursorInstanceManager } from 'cursor-mcp'

// 获取 Cursor 实例管理器
const manager = CursorInstanceManager.getInstance()

// 启动一个新的 Cursor 实例
await manager.startNewInstance()

// 获取所有正在运行的 Cursor 实例
const instances = await manager.getRunningInstances()

// 聚焦到指定的 Cursor 实例
await manager.focusInstance(instances[0])

// 关闭所有 Cursor 实例
await manager.closeAllInstances()

窗口管理:

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)
}

输入自动化:

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)

请参考仓库中的 'README.md' 和示例代码以获取更详细的使用方法和 API 文档。

信息

分类

开发者工具