vscode-mcp-server

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

安装

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

Claude桌面配置

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

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

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

You are working on an existing codebase, which you can access using your tools. These code tools interact with a VS Code workspace. Before running code tools that will make any modification to code, always present a comprehensive and detailed plan to the user, including your confidence level (out of 10). When planning, use your tools to explore the codebase so that you understand the context of the project. If you are not confident in your plan because you require more information, use your tools, such as web search, to look for this information or ask the user. IMPORTANT: Only run code tools that will modify code after presenting such a plan to the user, and receiving explicit approval. Approval must be given each time; prior approval for a change does not imply that subsequent changes are approved.

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

特征

VS Code MCP 服务器扩展实现了符合 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 :起始行号(从 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 客户端连接到此服务器,请将其配置为使用:

http://localhost:3000/mcp

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

贡献

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

执照

麻省理工学院

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

vscode-mcp-服务器

  1. Demo Video
    1. Installation
      1. Claude Desktop Configuration
        1. Features
          1. How It Works
            1. Supported MCP Tools
              1. File Tools
              2. Edit Tools
              3. Diagnostics Tools
              4. Symbol Tools
              5. Shell Tools
            2. Caveats/TODO
              1. Extension Settings
                1. Using with MCP Clients
                  1. Contributing
                    1. License
                      ID: ohvq7n4onu