🚀 MCP VSCode 命令扩展
这是一个允许 AI(如 Cursor 中的 Claude)通过 Model Context Protocol (MCP) 直接执行 VSCode 命令的扩展。它极大地提升了 AI 与 VSCode 的协作效率,让开发工作更加流畅。
🚀 快速开始
本扩展的工作流程简单清晰,只需按照以下步骤操作,即可让 AI 轻松使用 VSCode 命令工具:
- VSCode 扩展启动:自动分配可用端口启动 SSE server。
- 自动配置:更新
~/.cursor/mcp.json 配置。
- Cursor 连接:通过 SSE 连接到 MCP server。
- 执行命令:AI 可直接使用 VSCode 命令工具。
✨ 主要特性
- 🔧 执行 VSCode 命令:通过 MCP 执行任何 VSCode 内建或扩展命令。
- 📋 列出可用命令:动态获取所有可用命令并支持过滤。
- 🔄 自动配置:自动设定 Cursor MCP 配置,无需手动操作。
- 🎯 动态端口:智能端口分配,避免冲突。
- 🔒 安全执行:具备完整错误处理和结果序列化。
- ⚡ SSE 连接:基于 Server-Sent Events 的现代化通讯。
🏗️ 架构
graph TB
subgraph "Cursor"
LLM["AI Assistant<br/>(Claude)"]
end
subgraph "VSCode Extension"
SSE["SSE Server<br/>(Dynamic Port)"]
MCP["MCP Handler"]
Commands["VSCode<br/>Commands"]
end
subgraph "Auto Config"
Config["~/.cursor/<br/>mcp.json"]
end
LLM <-->|"MCP over SSE"| SSE
SSE <--> MCP
MCP <-->|"API Calls"| Commands
SSE -.->|"Auto Update"| Config
style LLM fill:#e1f5fe
style SSE fill:#e8f5e9
style MCP fill:#fff3e0
style Commands fill:#f3e5f5
style Config fill:#fce4ec
📦 安装指南
🎯 快速开始
graph LR
A["📦 安装<br/>npm install<br/>npm run compile"]
B["📄 打包<br/>npx vsce package"]
C["🔌 安装扩展<br/>Install from VSIX"]
D["▶️ 启动<br/>Start MCP Server"]
E["✅ 完成<br/>在 Cursor 中使用"]
A --> B
B --> C
C --> D
D --> E
style A fill:#fff3e0
style B fill:#e8f5e9
style C fill:#e1f5fe
style D fill:#f3e5f5
style E fill:#e8f5e9
📋 详细步骤
1. 克隆并安装依赖
git clone https://github.com/louisfghbvc/mcp-vscode-commands.git
cd mcp-vscode-commands
npm install
2. 编译和打包
npm run compile
npx vsce package
3. 安装到 VSCode/Cursor
- 打开 VSCode 或 Cursor。
- 前往扩展页面 (
Ctrl/Cmd + Shift + X)。
- 点击 "..." 菜单 → "Install from VSIX..."。
- 选择生成的
.vsix 文件。
4. 启动 MCP Server
- 打开命令面板 (
Ctrl/Cmd + Shift + P)。
- 执行:
Start MCP Server。
- 扩展会自动:
- 🔍 寻找可用端口。
- 🚀 启动 SSE server。
- ⚙️ 更新
~/.cursor/mcp.json。
- ✅ 显示成功讯息。
5. 在 Cursor 中使用
- 重新启动 Cursor。
- AI 现在可以使用 VSCode 命令工具了!
💻 使用示例
自然语言指令
请帮我格式化当前文件
请列出所有编辑器相关的命令
请执行 workbench.action.openSettings 开启设定
请新建一个终端
直接 MCP 工具调用
列出编辑器相关命令
{
"name": "vscode.listCommands",
"arguments": {
"filter": "editor"
}
}
格式化当前文件
{
"name": "vscode.executeCommand",
"arguments": {
"commandId": "editor.action.formatDocument"
}
}
带参数的命令执行
{
"name": "vscode.executeCommand",
"arguments": {
"commandId": "vscode.open",
"args": ["file:///path/to/file.txt"]
}
}
📚 详细文档
⚙️ 配置选项
在 VSCode 设定中配置:
mcpVscodeCommands.autoStart:自动启动 MCP server (预设: true)。
mcpVscodeCommands.logLevel:日志级别 (预设: info)。
📚 常用命令
📝 编辑器操作
editor.action.formatDocument - 格式化文件。
editor.action.organizeImports - 整理 imports。
editor.action.commentLine - 切换注解。
editor.action.duplicateSelection - 复制选取内容。
💾 档案操作
workbench.action.files.save - 保存当前档案。
workbench.action.files.saveAll - 保存所有档案。
workbench.action.files.newUntitledFile - 新建档案。
🔍 导航操作
workbench.action.quickOpen - 快速开启档案。
workbench.action.showCommands - 显示命令面板。
workbench.action.gotoSymbol - 跳到符号。
🖥️ 终端操作
workbench.action.terminal.new - 开启新终端。
workbench.action.terminal.toggleTerminal - 切换终端。
🧪 测试与调试
测试 SSE 连接
node examples/test-sse-server.js
node examples/test-sse-server.js 3000
node examples/test-sse-server.js scan 3000 8000
检查配置
cat ~/.cursor/mcp.json
VSCode 开发者控制台
打开 VSCode Developer Tools 查看详细日志。
🔧 扩展命令
Start MCP Server - 启动 MCP server 并自动配置。
Stop MCP Server - 停止 MCP server 并清理配置。
Show MCP Server Status - 显示 server 状态和 URL。
📁 档案结构
mcp-vscode-commands/
├── src/
│ ├── extension.ts # VSCode 扩展主档案
│ ├── mcp-sse-server.ts # SSE-based MCP server
│ ├── types.ts # TypeScript 类型定义
│ └── tools/ # MCP 工具实现
├── examples/
│ ├── README-MCP-Setup.md # 详细设定指南
│ ├── basic-usage.md # 基本使用范例
│ ├── cursor-config.json # Cursor 配置范例
│ └── test-sse-server.js # SSE 测试工具
└── .github/workflows/ # GitHub Actions 自动化
❓ 故障排除
Server 无法启动
- 检查 VSCode 开发者控制台的错误讯息。
- 确保端口没有被其他程序占用。
- 重新安装扩展。
Cursor 无法连接
- 重新启动 Cursor。
- 检查
~/.cursor/mcp.json 档案是否正确。
- 确认 MCP server 正在运行。
命令执行失败
- 确认命令 ID 是否正确。
- 检查命令是否需要特定的上下文。
- 查看错误讯息获取详细资讯。
📄 许可证
MIT License
让 AI 助手与 VSCode 完美协作! 🚀✨