VS代码MCP服务器
一个全面的模型上下文协议(MCP)服务器,旨在为AI助手提供强大的VS代码集成功能,为文件操作、命令执行、项目分析和开发工作流自动化提供29个专用工具。
🚀 特性
- 📁 文件操作:完整的文件和目录管理(8个工具)
- ⚡ 高级文件编辑:精确的线级编辑和验证(6个工具)
- 🖥️ 命令执行:系统命令执行和流程管理(8个工具)
- 📊 项目分析:代码库洞察和依赖关系发现(3个工具)
- 🔍 VS代码集成:符号搜索、定义和诊断(4个工具)
📦 安装
先决条件
- Node.js 18.0.0或更高版本
- Claude Desktop(或任何兼容MCP的客户端)
设置
- 克隆存储库:
git clone
cd vs-code-mcp-server- 安装依赖项:
npm install- 构建服务器:
npm run build配置
将服务器添加到MCP客户端配置中。对于Claude Desktop,编辑配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vs-code-mcp-server": {
"command": "node",
"args": ["/path/to/your/vs-code-mcp-server/dist/index.js"],
"env": {}
}
}
}注: 替换 /path/to/your/vs-code-mcp-server 使用克隆存储库的实际路径。🛠️ 可用工具
📁 文件操作(8个工具)
| 工具 | 说明 |
|---|---|
list_files_code | 使用可选的递归列表列出文件和目录 |
read_file_code | 使用编码和行范围选项读取文件内容 |
create_file_code | 创建具有覆盖保护的新文件 |
delete_file_code | 使用递归选项删除文件和目录 |
copy_file_code | 将文件和目录复制到新位置 |
move_file_code | 移动或重命名文件和目录 |
create_directory_code | 使用递归父级创建创建目录 |
search_files_code | 使用正则表达式支持跨文件搜索文本模式 |
⚡ 高级文件操作(6个工具)
| 工具 | 说明 |
|---|---|
replace_lines_code | 用内容验证替换特定行 |
insert_lines_code | 在特定行位置插入内容 |
delete_lines_code | 从文件中删除特定行范围 |
append_to_file_code | 将内容附加到文件末尾 |
prepend_to_file_code | 将内容预置到文件开头 |
find_and_replace_code | 高级查找/替换正则表达式支持 |
🖥️ 命令执行(8个工具)
| 工具 | 说明 |
|---|---|
execute_shell_command_code | 执行带有超时控制的shell命令 |
execute_streaming_command_code | 使用实时输出流执行命令 |
kill_process_code | 按PID或名称终止进程 |
list_processes_code | 列出正在运行的进程并进行筛选 |
kill_all_processes_code | 杀死多个匹配模式的进程 |
check_command_code | 检查系统上的命令可用性 |
get_system_info_code | 获取全面的系统信息 |
run_script_code | 使用适当的解释器执行脚本文件 |
📊 项目分析(3个工具)
| 工具 | 说明 |
|---|---|
analyze_project | 分析项目结构并提供见解 |
get_project_stats | 获取详细的代码库统计信息 |
find_dependencies | 发现和分析项目依赖关系 |
🔍 VS代码集成(4个工具)
| 工具 | 说明 |
|---|---|
search_symbols_code | 使用模糊匹配在工作空间中搜索符号 |
get_symbol_definition_code | 获取具有类型信息的符号定义 |
get_document_symbols_code | 获取文件的分层符号轮廓 |
get_diagnostics_code | 分析代码中的错误和警告 |
🔧 发展
脚本
npm run build-构建TypeScript源代码npm run start-启动MCP服务器npm run dev-构建并启动开发模式npm run watch-监视更改并自动重建npm run test-运行测试套件
项目结构
src/
├── index.ts # Main server implementation
├── tools/ # Tool definitions and handlers
│ ├── file-tools.ts # Basic file operations
│ ├── advanced-file-tools.ts # Advanced file editing
│ ├── command-tools.ts # Command execution
│ ├── project-tools.ts # Project analysis
│ └── vscode-integration-tools.ts # VS Code features
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
│ ├── file-utils.ts # File operation utilities
│ ├── command-utils.ts # Command execution utilities
│ ├── file-watcher.ts # File watching capabilities
│ └── logger.ts # Logging utilities🔒 安全
此MCP服务器仅用于防御开发任务。它包括:
- 输入验证和净化
- 安全文件操作边界
- 流程执行控制
- 错误处理和日志
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🐛 问题与支持
如果您遇到任何问题或有疑问:
- 检查 问题 章节
- 创建包含详细信息的新问题
- 包括错误日志和配置详细信息
🙏 致谢
- 与 模型上下文协议SDK
- 设计用于集成 克劳德桌面
- 支持VS代码开发工作流
