VS Code MCP 服务器
一个 Visual Studio Code 扩展(可在Marketplace获取),允许 Claude 和其他 MCP 客户端直接在 VS Code 中编写代码!灵感源自Serena ,但使用了 VS Code 的内置功能。目前,它比 Serena 简单得多,但仍然有效!请注意,此扩展使用的是可流式传输的 HTTP API,而不是 SSE API。
此扩展允许执行 Shell 命令。这意味着存在潜在的安全风险,因此请谨慎使用,并确保您信任所使用的 MCP 客户端,且该端口未暴露给任何外部设备。身份验证或许能有所帮助,但由于 MCP 身份验证规范仍在不断修订中,因此目前尚未实现身份验证。
欢迎 PR!
演示视频
https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90
安装
- 从市场安装扩展或克隆此存储库并运行
npm install
和npm run compile
来构建它。
Claude桌面配置
您可以将 Claude Desktop 配置为使用此扩展作为 MCP 服务器。为此,您的claude_desktop_config.json
文件应如下所示:
我也喜欢在 Claude 项目中使用这个扩展,因为它允许我为 Claude 指定额外的指令。我发现以下提示符效果很好:
此扩展用作模型上下文协议 (MCP) 服务器,向 MCP 客户端公开 VS Code 的文件系统和编辑功能。
特征
VS Code MCP 服务器扩展实现了符合 MCP 标准的服务器,允许 AI 模型和其他 MCP 客户端:
- 列出 VS Code 工作区中的文件和目录
- 读取具有编码支持和大小限制的文件内容
- 在您的工作区中搜索符号
- 通过行和符号名称获取符号定义和悬停信息
- 使用 VS Code 的 WorkspaceEdit API创建新文件
- 在文件中进行行替换
- 检查工作区中的诊断(错误和警告)
- 使用shell 集成在集成终端中执行 shell 命令
- 通过状态栏项打开或关闭服务器
此扩展使 AI 助手和其他工具能够通过标准化 MCP 协议与您的 VS Code 工作区进行交互。
工作原理
该扩展程序会创建一个 MCP 服务器,该服务器可以:
- 在可配置端口上本地运行(启用时)
- 通过 HTTP 处理 MCP 协议请求
- 将 VS Code 的功能公开为 MCP 工具
- 提供显示服务器状态的状态栏指示器,可以单击该指示器来打开/关闭服务器
支持的 MCP 工具
文件工具
- list_files_code :列出工作区中的文件和目录
- 参数:
path
:列出文件的路径recursive
(可选):是否递归列出文件
- 参数:
- read_file_code :读取文件内容
- 参数:
path
:要读取的文件的路径encoding
(可选):文件编码(默认值:utf-8)maxCharacters
(可选):最大字符数(默认值:100,000)
- 参数:
编辑工具
- create_file_code :使用 VS Code 的 WorkspaceEdit API 创建新文件
- 参数:
path
:要创建的文件的路径content
:要写入文件的内容overwrite
(可选):如果文件存在,是否覆盖(默认值:false)ignoreIfExists
(可选):是否忽略文件是否存在(默认值:false)
- 参数:
- replace_lines_code :替换文件中的特定行
- 参数:
path
:要修改的文件的路径startLine
:起始行号(从 0 开始,含 0)endLine
:结束行号(从 0 开始,含 0)content
:要替换行的新内容originalCode
:验证的原始代码
- 参数:
诊断工具
- get_diagnostics_code :检查工作区中的警告和错误
- 参数:
path
(可选):要检查的文件路径(如果未提供,则检查整个工作区)severities
(可选):要包含的严重性级别数组(0=错误,1=警告,2=信息,3=提示)。默认值:[0, 1]format
(可选):输出格式('text' 或 'json')。默认值:'text'includeSource
(可选):是否包含诊断源。默认值:true
此工具尤其适用于:
- 提交更改之前的代码质量检查
- 验证修复已解决所有报告的问题
- 识别特定文件或整个工作区中的问题
- 参数:
符号工具
- search_symbols_code :在工作区中搜索符号
- 参数:
query
:符号名称的搜索查询maxResults
(可选):返回的最大结果数(默认值:10)此工具适用于:
- 在代码库中查找符号(函数、类、变量等)的定义
- 探索项目结构和组织
- 通过名称定位特定元素
- 参数:
- get_symbol_definition_code :获取文件中符号的定义信息
- 参数:
path
:包含符号的文件的路径line
:符号的行号(从 0 开始)symbol
:在指定行上查找的符号名称此工具提供:
- 符号的类型信息、文档和源详细信息
- 显示符号出现位置的代码上下文
- 符号范围信息它对于以下情况特别有用:
- 无需导航即可理解符号的含义
- 检查函数签名、类型定义或文档
- API 或库函数的快速参考
- 参数:
Shell 工具
- execute_shell_command_code :在 VS Code 集成终端中通过 shell 集成执行 shell 命令
- 参数:
command
:要执行的 shell 命令cwd
(可选):命令的可选工作目录(默认值:'.')
此工具可用于:
- 运行 CLI 命令并构建操作
- 执行 git 命令
- 执行任何需要终端访问的 shell 操作
- 获取命令输出以进行分析和进一步处理
- 参数:
注意事项/TODO
目前仅支持一个工作区。该扩展也仅在本地运行,以避免将您的 VS Code 实例暴露给您可能连接的任何网络。
扩展设置
此扩展提供了以下设置:
vscode-mcp-server.port
:MCP 服务器的端口号(默认值:3000)
与 MCP 客户端一起使用
要将 MCP 客户端连接到此服务器,请将其配置为使用:
请记住,您需要先通过单击状态栏项来启用服务器!
贡献
欢迎贡献!欢迎提交问题或拉取请求。
执照
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
vscode-mcp-服务器