Skip to main content
Glama

Cursor MCP Server

by johnneerdael

游标 MCP(模型上下文协议)

Cursor MCP 是 Claude 桌面应用程序和 Cursor 编辑器之间的桥梁,可实现无缝的 AI 自动化和多实例管理。它是更广泛的模型上下文协议 (MCP) 生态系统的一部分,允许 Cursor 通过标准化接口与各种 AI 模型和服务进行交互。

概述

🤖 AI 集成

  • 与 Claude 的桌面应用程序直接集成
  • 能够利用其他与 MCP 兼容的 AI 服务
  • AI 与编辑之间的实时上下文共享
  • 人工智能驱动的自动化和代码生成

🔌 MCP 协议支持

  • 与AI模型的标准化沟通
  • 可扩展插件系统,用于附加 MCP
  • 上下文感知命令执行
  • 基于令牌的安全身份验证

🖥️ 跨平台窗口管理

  • 无缝管理跨操作系统的 Cursor 编辑器窗口
  • 通过编程聚焦、最小化、恢复和排列窗口
  • 跟踪窗口状态变化和位置
  • 同时处理多个 Cursor 实例

⌨️ 输入自动化

  • AI 驱动的键盘输入支持:
    • 代码生成和插入
    • 重构操作
    • 上下文感知补全
    • 多光标编辑
  • 智能鼠标自动化包括:
    • 智能选择
    • 上下文菜单操作
    • 人工智能导航

🔄 流程管理

  • AI 协调的实例管理
  • 智能工作空间组织
  • 自动上下文保存
  • 智能会话恢复

MCP 集成

Claude 桌面集成

import { ClaudeMCP } from 'cursor-mcp/claude' // Connect to Claude's desktop app const claude = await ClaudeMCP.connect() // Execute AI-powered operations await claude.generateCode({ prompt: 'Create a React component', context: currentFileContent, language: 'typescript' }) // Get AI suggestions const suggestions = await claude.getSuggestions({ code: selectedText, type: 'refactor' })

使用多个 MCP

import { MCPRegistry } from 'cursor-mcp/registry' // Register available MCPs MCPRegistry.register('claude', ClaudeMCP) MCPRegistry.register('github-copilot', CopilotMCP) // Use different AI services const claude = await MCPRegistry.get('claude') const copilot = await MCPRegistry.get('github-copilot') // Compare suggestions const claudeSuggestions = await claude.getSuggestions(context) const copilotSuggestions = await copilot.getSuggestions(context)

自定义 MCP 集成

import { BaseMCP, MCPProvider } from 'cursor-mcp/core' class CustomMCP extends BaseMCP implements MCPProvider { async connect() { // Custom connection logic } async generateSuggestions(context: CodeContext) { // Custom AI integration } } // Register custom 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

示例配置:

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

安装

视窗

# Run as Administrator 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

# Run with 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

# Run with 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

用法

基本用法

import { CursorInstanceManager } from 'cursor-mcp' // Get the instance manager const manager = CursorInstanceManager.getInstance() // Start a new Cursor instance await manager.startNewInstance() // Get all running instances const instances = await manager.getRunningInstances() // Focus a specific instance await manager.focusInstance(instances[0]) // Close all instances await manager.closeAllInstances()

窗口管理

import { WindowManager } from 'cursor-mcp' const windowManager = WindowManager.getInstance() // Find all Cursor windows const windows = await windowManager.findCursorWindows() // Focus a window await windowManager.focusWindow(windows[0]) // Arrange windows side by side await windowManager.arrangeWindows(windows, 'sideBySide') // Minimize all windows for (const window of windows) { await windowManager.minimizeWindow(window) }

输入自动化

import { InputAutomationService } from 'cursor-mcp' const inputService = InputAutomationService.getInstance() // Type text await inputService.typeText('Hello, World!') // Send keyboard shortcuts if (process.platform === 'darwin') { await inputService.sendKeys(['command', 'c']) } else { await inputService.sendKeys(['control', 'c']) } // Mouse operations await inputService.moveMouse(100, 100) await inputService.mouseClick('left') await inputService.mouseDrag(100, 100, 200, 200)

工作原理

桥梁建筑

此工具充当 Cursor 和 MCP 服务器之间的中间件层:

  1. 光标集成
    • 监视 Cursor 的文件系统事件
    • 捕获编辑器状态和上下文
    • 将响应注入编辑器
    • 管理窗口和流程自动化
  2. MCP 协议转换
    • 将 Cursor 的内部事件转换为 MCP 协议消息
    • 将 MCP 响应转换为与 Cursor 兼容的操作
    • 维护会话状态和上下文
    • 处理身份验证和安全
  3. 服务器通信
    • 连接到 Claude 的桌面应用程序 MCP 服务器
    • 将请求路由到适当的 AI 提供商
    • 管理与多个 MCP 的并发连接
    • 处理回退和错误恢复

示例工作流程

  1. 代码完成请求
    // 1. Cursor Event (File Change) // When user types in Cursor: function calculateTotal(items) { // Calculate the total price of items| <-- cursor position // 2. Bridge Translation const event = { type: 'completion_request', context: { file: 'shopping-cart.ts', line: 2, prefix: '// Calculate the total price of items', language: 'typescript', cursor_position: 43 } } // 3. MCP Protocol Message await mcpServer.call('generate_completion', { prompt: event.context, max_tokens: 150, temperature: 0.7 }) // 4. Response Translation // Bridge converts MCP response: const response = `return items.reduce((total, item) => { return total + (item.price * item.quantity); }, 0);` // 5. Cursor Integration // Bridge injects the code at cursor position
  2. 代码重构
    // 1. Cursor Event (Command) // User selects code and triggers refactor command const oldCode = ` if (user.age >= 18) { if (user.hasLicense) { if (car.isAvailable) { rentCar(user, car); } } } ` // 2. Bridge Translation const event = { type: 'refactor_request', context: { selection: oldCode, command: 'simplify_nesting' } } // 3. MCP Protocol Message await mcpServer.call('refactor_code', { code: event.context.selection, style: 'simplified', maintain_logic: true }) // 4. Response Translation const response = ` const canRentCar = user.age >= 18 && user.hasLicense && car.isAvailable; if (canRentCar) { rentCar(user, car); } ` // 5. Cursor Integration // Bridge replaces selected code
  3. 多文件上下文
    // 1. Cursor Event (File Dependencies) // When user requests help with a component // 2. Bridge Translation const event = { type: 'context_request', files: { 'UserProfile.tsx': '...', 'types.ts': '...', 'api.ts': '...' }, focus_file: 'UserProfile.tsx' } // 3. MCP Protocol Message await mcpServer.call('analyze_context', { files: event.files, primary_file: event.focus_file, analysis_type: 'component_dependencies' }) // 4. Response Processing // Bridge maintains context across requests

积分方法

  1. 文件系统监控
    import { 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) })
  2. 窗口集成
    import { CursorWindow } from 'cursor-mcp/window' const window = new CursorWindow() // Inject AI responses await window.injectCode({ position: cursorPosition, code: mcpResponse.code, animate: true // Smooth typing animation }) // Handle user interactions window.onCommand('refactor', async (selection) => { const mcpMessage = await bridge.createRefactorRequest(selection) const response = await mcpServer.send(mcpMessage) await window.applyRefactoring(response) })
  3. 上下文管理
    import { ContextManager } from 'cursor-mcp/context' const context = new ContextManager() // Track file dependencies await context.addFile('component.tsx') await context.trackDependencies() // Maintain conversation history context.addMessage({ role: 'user', content: 'Refactor this component' }) // Send to MCP server const response = await mcpServer.send({ type: 'refactor', context: context.getFullContext() })

安全

  • 基于令牌的安全 AI 服务身份验证
  • 加密通信渠道
  • 沙盒执行环境
  • 细粒度的权限控制

要求

视窗

  • Windows 10 或更高版本
  • Node.js 18 或更高版本
  • 安装的管理员权限

macOS

  • macOS 10.15 (Catalina) 或更高版本
  • Node.js 18 或更高版本
  • Xcode 命令行工具
  • 终端的辅助功能权限

Linux

  • X11显示服务器
  • Node.js 18 或更高版本
  • xdotool
  • libxtst-dev
  • libpng++-dev
  • 构建必需

发展

设置

# Clone the repository git clone https://github.com/your-org/cursor-mcp.git cd cursor-mcp # Install dependencies npm install # Build the project npm run build # Run tests npm test

运行测试

# Run all tests npm test # Run specific test suite npm test -- window-management # Run with coverage npm run test:coverage

贡献

欢迎大家贡献!详情请参阅我们的贡献指南

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

支持

致谢

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

充当 Claude 桌面应用程序和 Cursor 编辑器之间的桥梁,通过标准化通信和基于安全令牌的身份验证实现跨平台的无缝 AI 自动化和多实例管理。

  1. 概述
    1. 🤖 AI 集成
    2. 🔌 MCP 协议支持
    3. 🖥️ 跨平台窗口管理
    4. ⌨️ 输入自动化
    5. 🔄 流程管理
  2. MCP 集成
    1. Claude 桌面集成
    2. 使用多个 MCP
    3. 自定义 MCP 集成
  3. 配置
    1. 安装
      1. 视窗
      2. macOS
      3. Linux
    2. 用法
      1. 基本用法
      2. 窗口管理
      3. 输入自动化
    3. 工作原理
      1. 桥梁建筑
      2. 示例工作流程
      3. 积分方法
    4. 安全
      1. 要求
        1. 视窗
        2. macOS
        3. Linux
      2. 发展
        1. 设置
        2. 运行测试
      3. 贡献
        1. 执照
          1. 支持
            1. 致谢

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                This server integrates AI assistants with ClickUp workspaces, enabling task, team, list, and board management through a secure OAuth2 authentication process.
                Last updated -
                5
                56
                7
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                Connects Claude to Portkey's API for managing AI configurations, workspaces, analytics, and user access, providing comprehensive control over API usage and settings.
                Last updated -
                9
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                Integrates Cursor AI with Vite Dev server, allowing AI agents to modify code and observe live updates through the Hot Module Replacement system in real-time.
                Last updated -
                79
                4
                TypeScript
              • -
                security
                F
                license
                -
                quality
                Provides AI assistants like Claude or Cursor with access to Payman AI's documentation, helping developers build integrations more efficiently.
                Last updated -
                TypeScript
                • Linux
                • Apple

              View all related MCP servers

              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/johnneerdael/multiplatform-cursor-mcp'

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