项目简介
这是一个专为VS Code远程开发环境设计的 Model Context Protocol (MCP) 服务器。它允许兼容MCP协议的AI助手或其他客户端,通过标准化的JSON-RPC接口与远程的VS Code实例及其工作区进行交互,提供上下文信息和执行开发相关任务。
主要功能点
- 代码分析: 分析代码文件的结构、复杂度、指标和潜在问题。
- 代码搜索: 在代码文件中搜索特定模式,返回匹配结果及上下文。
- 代码修改: 执行添加、更新、移除、替换等操作来修改代码文件内容。
- VS Code实例管理: 部署、列出、停止基于Docker的VS Code远程实例,支持安全的Web UI访问。
- VS Code集群管理: 部署和管理多个VS Code实例组成的协作集群。
- 资源管理: 管理与VS Code实例或任务关联的计算资源。
- 安全访问控制: 支持基于令牌的认证和安全的密码处理。
- 多传输协议: 支持通过Stdio (标准输入/输出) 或 WebSocket 进行通信。
安装步骤
您可以通过 npm 或 npx 来安装和使用这个软件包。
-
使用 npx (无需安装): 直接通过 'npx vsc-remote <命令>' 来运行。
npx vsc-remote start -
全局安装: 使用 npm 全局安装软件包。
npm install -g vsc-remote vsc-remote start
MCP服务器配置 (供MCP客户端参考)
MCP客户端需要知道如何启动此服务器进程并与之通信。以下是客户端配置中可能需要的关键信息:
- 服务器名称 (serverName): MCP服务器在发现阶段声明的唯一名称。
- 'sparc2-mcp'
- 启动命令 (command): 用于启动服务器进程的命令。
- 'npx' (如果您使用 npx 方式运行) 或 'vsc-remote' (如果您已全局安装)
- 命令参数 (args): 传递给启动命令的参数。
- 启动服务器的参数通常是 '["vsc-remote", "start"]' (使用默认的Stdio模式)。
- 如果您想使用 WebSocket 模式,参数可能是 '["vsc-remote", "start", "--mode", "websocket", "--port", "3001"]'。
- 其他可选参数如 '--debug', '--token <您的令牌>', '--generate-token' 等也可根据需要添加。
典型的MCP客户端配置片段可能如下所示(JSON格式,仅为说明目的,请勿直接使用):
{ "name": "VSCode Remote MCP", "serverName": "sparc2-mcp", "description": "Provides access to VSCode remote development environment.", "connection": { "type": "stdio", // 或 "websocket" "command": "npx", "args": ["vsc-remote", "start", "--mode", "stdio"] // 如果是 websocket: // "args": ["vsc-remote", "start", "--mode", "websocket", "--port", "3001"], // "url": "ws://localhost:3001" }, "capabilities": { // 客户端从服务器发现这些能力 } }
客户端将根据这些配置信息启动服务器进程并建立连接,然后通过MCP协议进行交互。
基本使用方法
这个软件包主要是作为一个后台服务器运行,供AI助手等客户端程序调用。典型的交互流程如下:
- AI助手(MCP客户端)通过Stdio或WebSocket与服务器建立连接。
- 客户端发送 'mcp.initialize' 请求,服务器返回其能力声明(包括支持的工具)。
- 客户端发送 'mcp.listTools' 请求,获取详细的工具列表和输入/输出Schema。
- 客户端根据需要发送 'mcp.callTool' 请求,调用特定的工具并提供参数(例如,调用 'analyze_code' 工具分析文件,或调用 'deploy_vscode_instance' 工具启动一个VS Code实例)。
- 服务器执行工具任务,并通过 'mcp.callTool' 的响应返回结果。
- 客户端和服务器可以根据协议定义交换其他消息(如心跳、错误通知等)。
您也可以直接使用命令行工具体验部分功能:
- 分析代码文件: 'npx vsc-remote analyze-code src/index.js'
- 搜索代码: 'npx vsc-remote search-code "function" --directory src'
- 部署VS Code实例: 'npx vsc-remote deploy-vscode-instance --name my-dev-box --workspace-path /path/to/your/code'
更多高级用法和详细的API文档(供客户端开发者参考)请查阅项目的官方文档。
信息
分类
开发者工具