返回市场
代码编辑器MCP服务器

代码编辑器MCP服务器

作者:juehang286 星标更新:2025-09-19

项目介绍

VS Code MCP Server

这是一个Visual Studio Code扩展(可在市场上找到),它允许Claude和其他MCP客户端直接在VS Code中编写代码!灵感来自Serena,但使用了VS Code内置的功能。非常适合通过添加VS Code特定功能(如符号搜索、文档大纲)来扩展现有的编码代理(如Claude Code),而无需重复它们已有的工具。请注意,此扩展使用流式HTTP API,而不是SSE API。

此扩展可以执行shell命令。这意味着存在潜在的安全风险,因此请谨慎使用,并确保您信任正在使用的MCP客户端且端口未暴露给任何网络。认证会有帮助,但由于MCP认证规范仍在变动中,目前尚未实现。

欢迎提交PR!

演示视频

https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90

安装

  1. 市场安装扩展,或克隆此仓库并运行npm installnpm run compile以构建它。

Claude Desktop配置

Claude Desktop可以配置为使用此扩展作为MCP服务器。为此,您的claude_desktop_config.json文件应如下所示:

{
  "mcpServers": {
    "vscode-mcp-server": {
        "command": "npx",
        "args": ["mcp-remote@next", "http://localhost:3000/mcp"]
    }

  }
}

我还喜欢在Claude项目中使用此扩展,因为它允许我为Claude指定额外的指令。我发现以下提示效果很好:

您正在处理一个现有代码库,可以通过您的工具访问它。这些代码工具与VS Code工作区交互。

工作流程要点:
1. 总是首先在根目录(.)上使用list_files_code开始探索
2. 关键:在完成任务前对每组代码更改运行get_diagnostics_code
3. 对于小编辑(≤10行):使用replace_lines_code并提供确切的原始内容
4. 对于大改动、新文件或不确定的内容:使用create_file_code并设置overwrite=true

探索策略:
- 开始:使用path='.'的list_files_code(根目录永不递归)
- 理解结构:阅读关键文件如package.json、README、主要入口点
- 查找符号:使用search_symbols_code查找函数/类,使用get_document_symbols_code获取文件概述
- 编辑前:读取目标文件以了解当前内容

编辑最佳实践:
- 小修改:使用replace_lines_code(需要精确匹配原始内容)
- 如果replace_lines_code失败:读取目标行,然后使用正确的内容重试
- 大改动:使用create_file_code并设置overwrite=true更可靠
- 任何改动后:使用get_diagnostics_code检查错误

规划要求:
在进行代码修改之前,提出一个全面的计划,包括:
- 自信程度(1-10)及理由
- 将要使用的具体工具及其原因
- 将要修改的文件及方法(小编辑 vs 完全重写)
- 如何验证更改是否有效(诊断、测试等)

错误处理:
- 让错误自然发生 - 不要添加不必要的try/catch块
- 对于工具故障:遵循每个工具描述中的特定恢复指导
- 如果对文件内容不确定:使用read_file_code验证后再做更改

审批过程:
重要:只有在提出计划并获得明确批准后才能运行代码修改工具。每次更改都需要单独批准。

除非特别请求,否则不要添加测试。如果您认为测试很重要,请解释原因并让用户决定。

为了提高探索代码库时的上下文效率,考虑在您的CLAUDE.md中添加以下内容:

## VS Code 符号工具以提高上下文效率
使用VS Code符号工具减少上下文消耗:
- 使用`get_document_symbols_code`获取文件结构概述,而非阅读整个文件
- 使用`search_symbols_code`按名称在整个项目中查找符号
- 使用`get_symbol_definition_code`获取类型信息和文档,无需完整的文件上下文
- 工作流程:获取大纲 → 搜索符号 → 获取定义 → 只在必要时阅读实现

此扩展充当模型上下文协议(MCP)服务器,向MCP客户端公开VS Code的文件系统和编辑能力。

功能

VS Code MCP Server扩展实现了符合MCP标准的服务器,允许AI模型和其他MCP客户端:

  • 列出文件和目录 在您的VS Code工作区中
  • 读取文件内容 支持编码和大小限制
  • 搜索符号 跨工作区
  • 获取符号定义 和悬停信息,按行和符号名称
  • 创建新文件 使用VS Code的WorkspaceEdit API
  • 替换文件中的行
  • 检查诊断(错误和警告)在您的工作区中
  • 在集成终端中执行shell命令 具有shell集成
  • 通过状态栏项切换服务器

此扩展使AI助手和其他工具能够通过标准化的MCP协议与您的VS Code工作区交互。

工作原理

该扩展创建了一个MCP服务器,该服务器:

  1. 在可配置端口上本地运行(启用时)
  2. 通过HTTP处理MCP协议请求
  3. 将VS Code的功能公开为MCP工具
  4. 提供一个状态栏指示器显示服务器状态,点击可切换服务器开关

支持的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: 起始行号(1开始,包含)
      • endLine: 结束行号(1开始,包含)
      • 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: 符号所在的行号
      • symbol: 要查找的符号名称

    此工具提供:

    • 符号的类型信息、文档和源细节
    • 显示符号出现行的代码上下文
    • 符号范围信息

    特别适用于:

    • 无需导航即可理解符号代表什么
    • 检查函数签名、类型定义或文档
    • 快速参考API或库函数
  • get_document_symbols_code: 获取文件中所有符号的概览,展示层次结构

    • 参数:
      • path: 要分析的文件路径(相对于工作区)
      • maxDepth(可选): 显示的最大嵌套深度

    此工具提供:

    • 文档的完整符号树(类似于VS Code的概览视图)
    • 展示类、函数、方法、变量等的层次结构
    • 每个符号的位置信息和符号类型
    • 按符号类型汇总统计

    特别适用于:

    • 一目了然地理解文件结构和组织
    • 获取文档中所有符号的概览
    • 分析代码架构和关系
    • 查找文件内特定类型的全部符号

Shell工具

  • execute_shell_command_code: 在VS Code集成终端中执行shell命令,具有shell集成

    • 参数:
      • command: 要执行的shell命令
      • cwd(可选): 命令的工作目录(默认:'.')

    此工具适用于:

    • 运行CLI命令和构建操作
    • 执行git命令
    • 执行任何需要终端访问的shell操作
    • 获取命令输出以进行分析和进一步处理

注意事项/待办事项

目前仅支持一个工作区。此扩展也仅限本地使用,以避免将您的VS Code实例暴露到您可能连接的任何网络。

扩展设置

  • vscode-mcp-server.port: MCP服务器的端口号(默认:3000)
  • vscode-mcp-server.host: MCP服务器的主机地址(默认:127.0.0.1)
  • vscode-mcp-server.defaultEnabled: 是否在VS Code启动时默认启用MCP服务器
  • vscode-mcp-server.enabledTools: 配置启用哪些工具类别(文件、编辑、shell、诊断、符号)

选择性工具配置:对于已经具备某些功能的编码代理非常有用。例如,在Claude Code中,您可以禁用文件/编辑工具,只启用符号工具,以添加VS Code特定的符号搜索而不重复工具。

使用MCP客户端

要将MCP客户端连接到此服务器,请配置它们使用:

http://localhost:3000/mcp

或者,如果您配置了自定义主机:

http://[您的主机]:3000/mcp

请记住,您需要先通过点击状态栏项启用服务器!

贡献

欢迎贡献!请随意提交问题或拉取请求。

许可证

MIT