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

MCP Server Vscode

MCP Server

VSCode MCP Server是一个VSCode扩展,作为Model Context Protocol (MCP)服务器集成在VSCode中,提供代码诊断工具、调试会话管理工具,并通过Server-Sent Events (SSE)与外部AI助手通信。

工具数

0

提示词数

0

GitHub Stars

400

资源数

0
PythonClaude开发工具Claude DesktopClaude

安装说明

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

作者 / 组织

microsoft

提供方

microsoft

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

VSCode MCP服务器

概述

VSCode MCP服务器 是一个VSCode扩展,充当直接集成在VSCode中的模型上下文协议(MCP)服务器。其主要目的是揭示一种编码诊断工具,即 code_checker--它聚合诊断消息(类似于VSCode的问题面板中显示的消息),并使外部AI助手可以通过服务器发送事件(SSE)访问它们。这允许您的助手调用MCP方法,并从您的工作区中及时检索诊断信息。

特性

  • 自动启动:

VSCode启动时,扩展会自动激活(使用 "activationEvents": ["*"]package.json),确保MCP服务器始终运行,无需人工干预。

  • MCP服务器集成:

使用MCP TypeScript SDK构建(@modelcontextprotocol/sdk),该扩展实例化了一个注册诊断工具并处理MCP协议消息的MCP服务器。

  • 诊断工具(code_checker):

已注册 code_checker 该工具从VSCode的内置语言服务中收集诊断信息,过滤出没有错误的文件。调用时,它返回一个包含诊断信息的格式化JSON对象(仅适用于有问题的文件)。

  • 焦点编辑器工具(focus_editor):在VSCode编辑器中打开特定文件并导航到指定的行和列。有助于使文件成为用户的视觉焦点,但在工具调用结果中不包括文件内容。
  • 搜索符号工具(search_symbol):在工作区中搜索符号,主要使用“转到定义”,并回退到文本搜索(类似于Ctrl+Shift+F)。可以选择使用以下命令在编辑器中打开结果 focus_editor 工具。
  • 调试会话管理工具:

该扩展提供了直接使用MCP管理VSCode调试会话的工具:

- list_debug_sessions:检索工作区中的所有活动调试会话。 - start_debug_session:使用提供的配置启动新的调试会话。 - stop_debug_session:停止与特定会话名称匹配的调试会话。 - restart_debug_session:通过停止调试会话,然后使用提供的配置(新!)启动它来重新启动调试会话。

  • SSE通讯:

基于Express的HTTP服务器在可配置端口(默认值:6010)上运行,并动态处理端口冲突。它揭示了:

- A. 获取 /sse 端点,以建立长期的服务器发送事件(SSE)连接。如果默认端口(6010)不可用,用户可以通过其VSCode设置配置新端口(请参阅下面的动态端口配置)。 - A. 发布 /messages 用于从外部客户端(如您的AI助手)接收MCP消息的端点。 特别注意正确处理请求体——这要归功于传递已经解析的 req.body 以避免与流相关的错误。

  • 详细日志记录:

所有活动,包括服务器启动、SSE连接状态和消息处理事件,都记录到名为的输出通道中 “VSCode MCP服务器” 以帮助调试和透明度。

使用Claude Desktop(MCP客户端)的扩展

要将VSCode MCP服务器与Claude Desktop一起使用,您需要配置Claude Desktop以连接到在VSCode中运行的MCP服务器。由于MCP服务器的实现使用SSE传输,而Claude Desktop仅支持stdio传输,因此您需要使用 mcp代理 以弥合两者之间的沟通。

  1. 安装MCP代理:

- 选项1:带紫外线(推荐)

     uv tool install mcp-proxy

- 选项2:使用pipx(替代)

     pipx install mcp-proxy
  1. 配置Claude桌面:

- 打开克劳德桌面并导航到 文件 > 设置 > 开发者 选项卡。

- 点击 编辑配置 要打开配置文件,请启动所需的编辑器以修改配置文件内容。

- 向添加新条目 mcpServers 详细信息如下:

     {
         "mcpServers": {
             "vscode": {
                 "command": "mcp-proxy",
                 "args": ["http://127.0.0.1:6010/sse"]
             }
         }
     }
  1. 重新启动克劳德桌面:

- 你 必须 使用重新启动Claude Desktop以使更改生效 文件 > 退出 选项。 - 注意:这与仅仅关闭窗口或使用 文件 > 关闭,这使得应用程序在后台运行。 - 在存在并重新启动之后,Claude Desktop现在应该能够连接到在VSCode中运行的MCP服务器。

MCP服务器管理

现在可以直接从命令面板管理MCP服务器状态:

  1. 停止MCP服务器 (mcpServer.stopServer):停止当前正在运行的MCP服务器。
  2. 启动MCP服务器 (mcpServer.startServer):在配置的或下一个可用端口上启动服务器。

这些命令有助于动态管理服务器生命周期,而无需重新启动VSCode。

动态端口配置

如果端口已在使用中,扩展程序将建议下一个可用端口并动态应用它。反映所选端口的日志可以在 MCP服务器日志 输出通道。

用户可以在运行时使用命令面板配置或更改MCP服务器的端口:

  1. 打开命令选项板(Ctrl+Shift+PCmd+Shift+P 在macOS上)。
  2. 搜索 Set MCP Server Port.
  3. 在输入框中输入所需的端口号并确认。

服务器将在新选择的端口上动态重启,并为未来的会话更新配置。

HTTP服务器端口也可以通过VSCode设置进行设置:

  1. 打开VSCode设置(File > Preferences > SettingsCtrl+,).
  2. 搜索 mcpServer.port.
  3. 设置所需的端口号。
  4. 重新启动VSCode以使更改生效。

MCP服务器自动启动

默认情况下,MCP服务器在VSCode激活时自动启动。要禁用此功能,请执行以下操作:

  1. 打开VSCode设置(File > Preferences > SettingsCtrl+,).
  2. 搜索 mcpServer.startOnActivate.
  3. 将设置切换到 false.

如果您更喜欢使用手动启动服务器,这可能很有用 Start MCP Server 命令。

扩展开发

开发和调试扩展的步骤,源代码可在 .

先决条件

  1. 克隆存储库:

将Semantic Workbench存储库克隆到本地计算机:

   git clone https://github.com/microsoft/semanticworkbench.git
  1. 导航到项目目录:
   cd semanticworkbench/mcp-servers/mcp-server-vscode
  1. 安装依赖关系:

确保你安装了Node.js(v16或更高版本)和pnpm。然后,从项目目录中运行:

   pnpm install
  1. 打包扩展:

要打包扩展,请执行:

   pnpm run package-extension

这将生成一个 .vsix 项目根目录中的文件。

在本地安装扩展

  1. 打开主VSCode实例:

启动主VSCode(在扩展开发主机外)。

  1. 安装VSIX软件包:

- 按Ctrl+Shift+P(或macOS上的Cmd+Shift+P)打开命令面板。 - 键入并选择“扩展:从VSIX安装…”。 - 导航到并选择生成的.vsix文件。

  1. 重新加载并验证:

安装后,重新加载VSCode(通过命令面板中的“开发人员:重新加载窗口”),并验证扩展是否处于活动状态。检查“MCP服务器日志”输出通道,查看确认MCP服务器已启动并正在配置端口(默认值:6010,或下一个可用端口)上侦听的日志。

调试扩展

  1. 开始调试:

在VSCode中打开项目,然后按 F5 启动扩展开发主机。这将根据以下情况自动激活扩展 "activationEvents": ["*"] 设置。

  1. MCP服务器操作:

激活后,扩展名:

- 启动注册的MCP服务器 code_checker 工具。 - 在端口上设置Express HTTP服务器 6010 与: - 获取 /sse: 建立SSE连接(外部客户端在此处连接)。 - 发布 /messages: 处理传入的MCP协议消息。 - 将所有活动输出到 “MCP服务器日志” 频道(将自动显示)。

在本地安装扩展

  1. 打开主VSCode实例:

启动主VSCode(在扩展开发主机外)。

  1. 安装VSIX软件包:

- 按Ctrl+Shift+P(或macOS上的Cmd+Shift+P)打开命令面板。 - 键入并选择“扩展:从VSIX安装…”。 - 导航到并选择生成的.vsix文件。

  1. 重新加载并验证:

安装后,重新加载VSCode(通过命令面板中的“开发人员:重新加载窗口”),并验证扩展是否处于活动状态。检查“MCP服务器日志”输出通道,查看确认MCP服务器已启动并正在端口6010上侦听的日志。

测试MCP服务器

您可以使用 curl 要测试服务,请执行以下操作:

步骤1:建立SSE连接

打开1号航站楼并运行:

curl -N http://127.0.0.1:6010/sse

您应该看到类似于以下内容的输出:

event: endpoint
data: /messages?sessionId=your-session-id

步骤2:发送初始化请求

在终端2中,使用从终端1获得的会话ID(如果需要)发送POST请求(必要时包括任何必填字段,如工作区):

curl -X POST "http://127.0.0.1:6010/messages?sessionId=your-session-id" \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "method": "initialize",
  "id": 0,
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {
      "roots": { "listChanged": true }
    },
    "clientInfo": {
      "name": "mcp",
      "version": "0.1.0"
    },
    "workspace": {
      "folders": []
    }
  }
}'

如果所有配置都正确,MCP服务器应无错误地处理您的初始化消息。

目录标签

目录标签

PythonClaude开发工具代码诊断本地部署调试管理AI集成VSCode扩展

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP