カーソルMCP(モデルコンテキストプロトコル)
Cursor MCPは、ClaudeのデスクトップアプリケーションとCursorエディタをつなぐ橋渡しとなり、AIを活用したシームレスな自動化とマルチインスタンス管理を実現します。より広範なModel Context Protocol(MCP)エコシステムの一部であり、標準化されたインターフェースを通じてCursorが様々なAIモデルやサービスと連携することを可能にします。
概要
🤖 AI統合
Claudeのデスクトップアプリケーションとの直接統合
他のMCP互換AIサービスを活用する能力
AIとエディター間のリアルタイムコンテキスト共有
AIを活用した自動化とコード生成
🔌 MCP プロトコルのサポート
AIモデルとの標準化された通信
追加のMCP用の拡張可能なプラグインシステム
コンテキスト認識コマンド実行
安全なトークンベースの認証
🖥️ クロスプラットフォームのウィンドウ管理
複数のオペレーティングシステム間でカーソルエディタウィンドウをシームレスに管理します
プログラムでウィンドウをフォーカス、最小化、復元、整列する
ウィンドウの状態の変化と位置を追跡する
複数のカーソルインスタンスを同時に処理する
⌨️ 入力自動化
以下をサポートする AI 駆動型キーボード入力:
コード生成と挿入
リファクタリング操作
コンテキスト認識補完
マルチカーソル編集
以下を含むインテリジェントなマウス自動化:
スマートな選択
コンテキストメニュー操作
AIガイドナビゲーション
🔄プロセス管理
AIオーケストレーションによるインスタンス管理
スマートなワークスペースの整理
自動コンテキスト保存
インテリジェントなセッション回復
Related MCP server: Portkey MCP Server
MCP統合
クロードデスクトップ統合
複数のMCPの使用
カスタムMCP統合
構成
このツールは、環境変数または次の設定ファイルを通じて設定できます。
Windows:
%LOCALAPPDATA%\cursor-mcp\config\config.jsonmacOS:
~/Library/Application Support/cursor-mcp/config/config.jsonLinux:
~/.config/cursor-mcp/config.json
構成例:
インストール
ウィンドウズ
macOS
リナックス
使用法
基本的な使い方
ウィンドウ管理
入力自動化
仕組み
橋梁建築
このツールは、カーソルと MCP サーバー間のミドルウェア層として機能します。
カーソル統合:
カーソルのファイルシステムイベントを監視します
エディターの状態とコンテキストをキャプチャします
応答をエディターに挿入します
ウィンドウとプロセスの自動化を管理します
MCPプロトコル翻訳:
カーソルの内部イベントをMCPプロトコルメッセージに変換します
MCP応答をカーソル互換のアクションに変換します
セッション状態とコンテキストを維持する
認証とセキュリティを処理する
サーバー通信:
クロードのデスクトップアプリMCPサーバーに接続します
適切なAIプロバイダーにリクエストをルーティングします
複数のMCPへの同時接続を管理します
フォールバックとエラー回復を処理する
ワークフローの例
コード補完リクエスト:
// 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コードリファクタリング:
// 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複数ファイルのコンテキスト:
// 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
統合方法
ファイルシステム監視:
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) })ウィンドウ統合:
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) })コンテキスト管理:
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 コマンドラインツール
ターミナルのアクセシビリティ権限
リナックス
X11ディスプレイサーバー
Node.js 18以降
xdotool
libxtst-dev
libpng++-dev
ビルド必須
発達
設定
テストの実行
貢献
貢献を歓迎します!詳細については貢献ガイドをご覧ください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
サポート
謝辞
カーソルエディター- AIファーストのコードエディター
Claude AI - 高度な AI アシスタント
@nut-tree/nut-js - クロスプラットフォーム自動化
active-win - ウィンドウ検出