项目简介
VSC-MCP服务器是一个VSCode扩展,它将您的IDE作为Model Context Protocol (MCP) 服务器公开。这意味着AI代理(如GitHub Copilot等)可以通过标准化的协议与您的VSCode环境进行交互,调用工具、获取上下文信息,从而实现更高级的自动化和代码协助。
主要功能点
- 交互式用户报告/确认 (Ask Report "Human In The Loop"): 通过在VSCode中弹出交互式Web视图,向用户展示Markdown内容和预定义选项,或收集自定义输入,实现AI代理与用户之间的双向沟通和决策确认。
- 终端命令执行 (Terminal Operations): 允许AI代理在VSCode的集成终端中执行命令,支持前台/后台执行、自定义工作目录以及设置超时时间,并能捕获详细的输出结果。
- 代码诊断检查 (Code Checker): 检索当前工作区中的代码诊断信息(如错误、警告、提示),帮助AI代理在代码修改后进行质量检查。
- 编辑器聚焦 (Focus Editor): 将指定文件在VSCode编辑器中打开,并导航到特定的行和列,甚至进行代码高亮,使AI代理能引导用户关注特定代码片段。
- 终端输出获取 (Get Terminal Output): 获取指定终端的完整输出内容,方便AI代理分析长时间运行命令或后台任务的执行结果。
安装步骤
- 安装VSCode扩展:
- 在VSCode中打开扩展视图('Ctrl+Shift+X')。
- 搜索 "VSC MCP Server" 或访问 Visual Studio Marketplace — vsc-mcp-server 进行安装。
- (可选)禁用IDE默认终端工具:
- 为了确保AI代理优先使用VSC-MCP提供的工具,建议在您的MCP客户端配置中禁用IDE的默认终端工具。具体操作请参考您的MCP客户端文档。
- 验证服务器状态:
- 安装并激活扩展后,您可以在VSCode左下角的状态栏看到VSC-MCP服务器的状态指示器($(tools) VSC MCP),显示其是否正在运行。
服务器配置 (供MCP客户端使用)
VSC-MCP服务器通常通过标准输入/输出 (Stdio) 传输协议与MCP客户端进行通信。AI代理所使用的MCP客户端需要配置以下信息来连接VSC-MCP服务器:
{ "mcpServers": { "vscode": { "command": "npx", "args": ["vsc-mcp"], "type": "stdio", "env": { "DISCOVERY_PORT": 60100 } } } }
- 'vscode': 这是您为MCP服务器实例定义的名称,可以根据需要更改。
- 'command': 启动MCP服务器进程的命令。对于通过npm安装的VSC-MCP,通常是 'npx'。
- 'args': 传递给启动命令的参数。'vsc-mcp' 是VSC-MCP代理的执行命令。
- 'type': 传输协议类型,此处为 'stdio' (标准输入/输出)。
- 'env': 环境变量,'DISCOVERY_PORT' 指定了VSC-MCP扩展用于发现服务的HTTP端口,默认通常是 '60100'。
基本使用方法
配置完成后,您的AI代理即可通过MCP协议调用VSC-MCP服务器提供的工具。例如,在支持MCP的聊天界面中,您可以尝试以下指令(请确保您的AI代理已配置并理解这些工具的用法):
-
检查代码诊断: 'Can you check the docs and explain how the project works? #vscode' (当AI配置了相关的规则时,会自动调用 'mcp_vscode_code_checker')
-
执行终端命令: 当AI代理需要执行终端命令时,它会调用 'mcp_vscode_execute_command' 工具。例如,AI可能会在内部执行:
mcp_vscode_execute_command(command="ls -l", workspaceFolder="/path/to/your/project")您可能会收到来自AI的请求,询问是否批准执行某个命令。
-
与用户交互/确认: 当AI代理需要用户提供信息或进行决策时,它会调用 'mcp_vscode_ask_report' 工具。例如:
mcp_vscode_ask_report(topicName="Final Confirmation", message="Are all requirements from the specification completed?", predefinedOptions=["Yes, everything is OK", "No, I need more work"], workspaceFolder="/path/to/your/project")此时VSCode会弹出一个Web视图,等待您的输入或选择。
信息
分类
开发者工具