Token导航 LogoToken导航TokenDH.com
Vsc MCP logo
开发工具stdio官方级别未说明来源级核验

Vsc MCP

MCP Server

VSC-MCP提供将语言服务器协议(LSP)功能作为MCP工具的工具,使AI客户端能够通过标准化的MCP工具调用编程方式分析和编辑代码。

工具数

0

提示词数

0

GitHub Stars

28

资源数

0
TypeScriptClaude代码分析Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

thomasgazzoni

提供方

thomasgazzoni

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

VSC-MCP

此项目提供了将语言服务器协议(LSP)功能公开为 MCP(模型上下文协议) 工具。它使AI客户端能够通过标准化的MCP工具调用以编程方式分析和编辑代码。

它最初是一个简单的项目,只专注于使用TypeScript进行编码,然后发展成为一个功能齐全的MCP服务器,支持VS Code支持的任何语言。

有关最新更改和迁移到无头VC代码的完整详细信息,请参阅 这里

Docker模式和VS代码LSP集成

VSC-MCP可以在两种模式下运行:

  • 单独模式:它产生了一个本地 打字语言服务器 仅为Types/JavaScript提供LSP支持。
  • Docker模式:利用Gitpod的无头VS代码端口,即 OpenVSCode服务器,在Docker中运行,为Rust、Go、C#、Python等VC代码支持的任何语言提供更丰富的LSP支持。

为什么选择Docker模式?

  • 统一LSP:避免了为每种语言启动单独的本地语言服务器的麻烦。
  • 丰富的扩展生态系统:继承VS Code的扩展支持和高级语言功能的API。
  • 实时编辑:打开http://localhost:3000在您的AI代理与MCP交互时实时查看编辑。
  • 在没有IDE的情况下工作:我们可以在不打开任何IDE的情况下编写和分析代码。

运作原理

  1. OpenVSCode服务器 在Docker内部运行,暴露端口 3000 (IDE UI)和 5007 (LSP桥)。
  2. 所需的VS代码扩展已预先安装(例如。, _锈蚀分析仪_, _火葬场_, _埃斯林特_,以及VSC-MCP扩展)。
  3. VSC-MCP扩展 在MCP和VS Code后端之间创建WebSocket通道。
  4. 文件I/O工具使用直接访问;LSP工具使用VS Code的内部语言服务器。

安装

先决条件

设置

  1. 克隆存储库cd 进入它。
  2. 安装依赖项
   bun install
  1. 构建并启动OpenVSCode服务器 (将项目装载到容器中)
   PROJECT_PATH=/path/to/your/project docker-compose up
  1. 在您的AI客户端中注册MCP (示例 settings.json)
   {
     "mcpServers": {
       "vsc-mcp": {
         "command": "bun",
         "args": ["/src/index.ts"],
         "env": {
           "USE_VSCODE_LSP": "true",
           "LOG_DIR": "/logs",
           "ALLOWED_DIRECTORIES": "/path/to/your/project"
         }
       }
     }
   }

环境变量

变量目的
USE_VSCODE_LSP吃起来 true 启用Docker/VS代码LSP模式。 MCP将LSP请求转发到VS Code(端口5007),而不是生成本地语言服务器。
ALLOWED_DIRECTORIES将直接文件操作限制在指定目录。
LOG_DIRMCP写入调试日志的地方。
注: 默认情况下, USE_VSCODE_LSPfalse (独立模式)。设置为 true 使用Docker/VS Code LSP集成。

建议的AI客户端配置

克劳德桌面

目前,最好的工作流程是使用Claude Desktop作为AI客户端,它支持MCP服务器,并提供每月20美元的计划,通过使用VSC-MCP工具,我们可以“聊天”并使用我们的代码库。

  • 在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

将以下配置添加到 mcp_servers 配置文件的部分:

{
  "mcpServers": {
    "repomix": {
      "command": "npx",
      "args": [
        "-y",
        "repomix",
        "--mcp"
      ]
    },
    "vsc-mcp": {
      "command": "bun",
      "args": [
        "/src/index.ts"
      ],
      "env": {
        "USE_VSCODE_LSP": "true",
        "LOG_DIR": "/logs",
        "ALLOWED_DIRECTORIES": "/path/to/your/project"
      }
    }
  }
}

我们建议添加 repomix mcp服务器依赖性,要了解原因,可以阅读 这篇博客文章.

替换 `` 使用vsc-mcp克隆目录的实际路径。

安全功能

Docker工作区限制

当我们启动docker时,我们需要指定工作区目录。

PROJECT_PATH=/path/to/your/project docker-compose up

VSC-MCP工具只能访问工作区目录中的文件。

路径限制

VSC-MCP工具包括一个安全功能,用于将操作系统文件操作(磁盘上的读写文件)限制在特定目录:

  • 允许的目录:一个环境变量,指定允许文件操作的逗号分隔的目录列表。

例子:

  ALLOWED_DIRECTORIES=/home/user/projects,/tmp/workspace
  • 如果未设置此环境变量,则操作默认仅适用于当前工作目录。
  • 所有文件操作(读取、写入、编辑)都将检查目标路径是否在允许的目录内。
  • 尝试访问允许目录之外的文件将导致“拒绝访问”错误。

此功能有助于防止未经授权访问系统上的敏感文件和目录。

可用工具

目前,有以下工具可供使用:

  • edit_symbol:使用LSP在给定文件中按名称和类型编辑符号(函数、类、方法等)。

- 支持各种符号类型:函数、方法、类、接口、变量、常量、属性、字段 - 使用LSP的工作区/符号和文本Document/documentSymbol请求查找符号 - 将编辑直接应用于文件

  • read_symbol:使用LSP在给定文件中按名称和类型读取符号(函数、类、方法等)。

- 支持与editSymbol相同的符号类型 - 使用LSP定位符号并提取其内容 - 返回符号内容及其位置信息

  • read_file:读取文件的内容。

- 根据文件扩展名返回具有适当MIME类型的文件内容 - 处理各种文件格式,包括代码、文本和配置文件 - 提供常见问题(找不到文件、目录访问等)的详细错误消息

  • write_file:创建新文件或用提供的内容覆盖现有文件。

- 如果父目录不存在,则创建父目录 - 支持任何文件类型 - 返回有关文件操作的信息(创建/覆盖、文件大小)

  • search_replace_file:搜索文件中的内容并将其替换为新内容。

- 搜索时忽略空格差异(空格、制表符、换行符) - 支持内容模式的灵活匹配 - 返回替换次数

  • get_errors:使用LSP textDocument/诊断API获取特定文件的代码错误和问题。

- 提供详细的诊断,包括错误消息、严重性和位置 - 使用VS Code扩展的诊断api来验证代码 - 返回有关代码问题的结构化信息

  • find_references:使用LSP在给定文件中按名称和类型查找对符号(函数、类等)的所有引用。

- 支持各种符号类型:函数、方法、类、接口、变量、常量、属性、字段 - 使用LSP的textDocument/reference API查找符号的所有引用 - 返回包含文件路径和位置的引用列表 - 有助于代码分析、重构和理解代码使用

目录标签

目录标签

TypeScriptClaude代码分析语言服务器协议本地部署代码编辑AI编程VSCode扩展

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP