Token导航 LogoToken导航TokenDH.com
Unofficial VS MCP logo
浏览器工具未说明官方级别未说明来源级核验

Unofficial VS MCP

MCP Server

VS MCP Server是一个为Visual Studio设计的AI代理控制协议服务器,提供调试、构建、编辑和UI自动化等111种工具,支持多实例管理和浏览器自动化。

工具数

114

提示词数

0

GitHub Stars

7

资源数

0
调试工具C#Claude浏览器自动化Claude

安装说明

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

作者 / 组织

dhq-boiler

提供方

dhq-boiler

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

VS MCP服务器

Visual Studio的模型上下文协议(MCP)服务器 --使Claude Code等AI代理能够控制Visual Studio的功能,包括调试、构建、编辑和UI自动化。

这是一个 测试版发布。欢迎在以下网址提供反馈和错误报告 .
100%人工智能生成 --这个项目中的所有代码都完全由AI(Claude)生成。

特性

VS MCP服务器公开 111工具 涵盖以下类别:

类别工具描述
常规3执行VS命令,获取IDE状态,查看工具帮助
解决方案和项目5打开/关闭解决方案,列出/检查项目
构建6构建解决方案/项目、清理、重建、获取构建错误、切换配置
编辑器7打开/关闭/读/写/编辑文件,在文件中查找
编辑预览4使用VS差异查看器进行差异预览、批准/拒绝编辑
代码导航3转到定义,查找引用,转到实现
解决方案资源管理器6添加/删除项目、文件和引用
调试器13启动/停止/重新启动、附加、步进、调用堆栈、本地、线程、求值、不调试运行
断点4设置/删除/列出、启用/禁用断点
输出和诊断5读/写/清除输出窗格、错误列表、XAML绑定错误
控制台3读取控制台输出,发送输入/按键,获取调试应用程序的控制台信息
UI自动化10捕获屏幕截图,检查UI树,查找/单击/右键单击/拖动/调用元素
Web12通过Chrome CDP和Firefox RDP实现浏览器自动化——导航、DOM、控制台、网络、屏幕截图
测试3发现、运行和查看测试结果
NuGet5搜索、安装、更新、删除NuGet包
高级调试20监视、线程/进程管理、即时窗口、寄存器、内存、并行堆栈

工具详细信息

将军

工具说明
execute_command按名称执行Visual Studio命令
get_status获取当前Visual Studio状态,包括解决方案状态、活动文档和调试器模式
get_help获取所有可用vs mcp工具的分类列表及其说明

解决方案

工具说明
solution_open在Visual Studio中打开解决方案或项目文件
solution_close关闭当前解决方案
solution_info获取有关当前打开的解决方案的信息

项目

工具说明
project_list列出当前解决方案中的所有项目
project_info获取特定项目的详细信息

构建

工具说明
build_solution构建整个解决方案(如果处于活动状态,则自动停止调试器)
build_project构建特定项目(如果处于活动状态,则自动停止调试器)
clean清理解决方案生成输出(如果处于活动状态,则自动停止调试器)
rebuild清理并重建整个解决方案(如果调试器处于活动状态,则会自动停止调试器)
get_build_errors从Visual Studio错误列表中获取生成错误和警告列表
build_configuration获取或设置活动解决方案构建配置和平台(例如调试/发布、任何CPU/x64)

编辑

工具说明
file_open在Visual Studio编辑器中打开文件
file_close在编辑器中关闭文件
file_read读取具有可选行范围的文件内容
file_write将内容写入文件,替换其全部内容
file_edit通过用新文本替换特定文本来编辑文件
get_active_document获取编辑器中当前活动文档的信息
find_in_files在解决方案中的文件中搜索文本

编辑预览

工具说明
edit_preview在VS中显示拟议更改的差异预览,并创建待批准的编辑
edit_approve批准待处理的编辑并将更改应用于文件
edit_reject拒绝待处理的编辑并放弃更改
edit_list_pending列出所有待定的编辑预览及其状态

代码导航

工具说明
code_goto_definition导航到指定位置的符号定义
code_find_references在指定位置查找符号的所有引用
code_goto_implementation导航到接口或抽象成员的实现

解决方案资源管理器

工具说明
solution_add_project将现有项目添加到当前解决方案
solution_remove_project从当前解决方案中删除项目
project_add_file将现有文件添加到项目中
project_remove_file从项目中删除文件
project_add_reference将项目添加到项目引用
project_remove_reference从项目中删除引用

调试器

工具说明
debug_start开始调试启动项目(相当于F5)
debug_start_without_debugging启动启动项目,不附加调试器(相当于Ctrl+F5)
debug_stop停止调试当前会话
debug_restart重新启动调试当前会话
debug_attach按名称或PID将调试器附加到正在运行的进程
debug_break在当前执行点中断(暂停)调试器
debug_continue在断点或中断后继续(恢复)执行
debug_step遍历代码(方向:越过、进入或退出)
debug_get_callstack获取活动线程的当前调用堆栈
debug_get_locals获取当前堆栈帧中的局部变量
debug_get_threads获取当前调试会话中的所有线程
debug_get_mode获取当前调试器模式(设计、运行或中断)
debug_evaluate在当前调试上下文中计算表达式(仅在中断模式下有效)

断点

工具说明
breakpoint_set设置断点(位置、条件、点击次数或函数断点)
breakpoint_remove删除特定文件和行处的断点
breakpoint_list列出当前解决方案中的所有断点
breakpoint_enable在特定文件和行上启用或禁用断点

输出和诊断

工具说明
output_write将文本写入Visual Studio输出窗格
output_read读取Visual Studio输出窗口窗格的内容(支持正则表达式模式过滤)
output_clear清除Visual Studio输出窗口窗格的内容
error_list_get从Visual Studio错误列表窗口获取所有项目
diagnostics_binding_errors从调试输出窗格中提取XAML/WPF绑定错误

控制台

工具说明
console_read读取已调试控制台应用程序的控制台输出缓冲区
console_send将文本输入或特殊键发送到调试的控制台应用程序的控制台
console_get_info获取已调试控制台应用程序的控制台缓冲区大小、光标位置和窗口信息

用户界面自动化

工具说明
ui_capture_window捕获已调试应用程序主窗口的屏幕截图(即使在被遮挡的情况下,也使用WGC进行可靠的捕获;在调试中断期间工作)
ui_capture_region捕获调试应用程序窗口特定区域的屏幕截图
ui_snapshot在一次调用中捕获一个紧凑的语义快照(修剪的UIA树+截图+焦点);针对LLM驱动的UI测试进行了优化
ui_get_tree获取已调试应用程序主窗口的UI元素树
ui_find_elements查找符合指定条件的UI元素(支持 exact/contains/regex 匹配模式, hasPattern 过滤器,以及 ancestorAutomationId 范围界定)
ui_get_element通过特定UI元素的Automation Id获取其详细属性
ui_click按Automation Id、Name或屏幕坐标单击UI元素
ui_double_click按Automation Id、Name或屏幕坐标双击UI元素
ui_right_click按Automation Id、Name或屏幕坐标右键单击UI元素
ui_drag从开始坐标到结束坐标执行拖放操作
ui_set_value使用ValuePattern设置UI元素的值
ui_invoke使用InvokePattern调用UI元素上的默认操作
ui_send_keys发送键盘输入(快捷键如 ctrl+f,文本键入)到调试的应用程序
ui_wait_for_element等待UI元素达到给定状态(appears/disappears/enabled/focused)超时
ui_wait_idle等待UI自动化树在安静期内停止更改(在触发异步UI更新后有用)

手表

工具说明
watch_add添加一个监视表达式并返回其当前值(仅在中断模式下有效)
watch_remove按值或索引删除监视表达式
watch_list列出所有观察表达式及其当前值

线程

工具说明
thread_switch按线程ID切换活动(当前)线程
thread_set_frozen冻线或解冻线
thread_get_callstack按ID获取特定线程的调用堆栈

过程

工具说明
process_list_debugged列出当前正在调试的所有进程
process_list_local列出可用于附加调试器的本地进程
process_detach将调试器与特定进程分离
process_terminate终止正在调试的进程

立即

工具说明
immediate_execute在调试器上下文中执行具有副作用的表达式(如即时窗口)

模块

工具说明
module_list列出当前调试会话中加载的所有模块(DLL/程序集)

注册

工具说明
register_list获取常见CPU寄存器的值(在本机或混合模式调试中效果最佳)
register_get按名称获取特定CPU寄存器的值

异常

工具说明
exception_settings_get获取异常中断设置
exception_settings_set配置特定异常类型的中断时间

记忆

工具说明
memory_read读取地址表达式中的内存字节或获取变量的内存表示

并行

工具说明
parallel_stacks在树视图中获取所有线程的调用堆栈,对共享公共堆栈帧的线程进行分组
parallel_watch在所有线程上计算相同的表达式并比较结果
parallel_tasks_list列出TPL(任务并行库)任务信息

网络

工具说明
web_connect连接到浏览器进行web调试(通过CDP连接Chrome/Edge,通过RDP连接Firefox)
web_disconnect断开与浏览器的连接
web_status获取当前浏览器连接状态,包括控制台/网络消息计数
web_navigate将浏览器导航到URL
web_screenshot捕获当前页面的屏幕截图
web_dom_get获取当前页面的DOM树,深度可配置
web_dom_query使用CSS选择器查询DOM元素
web_console管理浏览器控制台消息(启用/获取/清除)
web_js_execute在浏览器页面上下文中执行JavaScript
web_network管理网络监控(启用/获取/清除)
web_element_click单击CSS选择器找到的DOM元素
web_element_set_value设置CSS选择器找到的输入元素的值

测试

工具说明
test_discover发现解决方案或特定项目中的所有测试
test_run运行测试并获取结果,可选择按测试名称/类别进行筛选
test_results获取上次测试运行的详细结果(或特定TRX文件)

纽吉特

工具说明
nuget_list列出特定项目的已安装NuGet包
nuget_search在NuGet.org上搜索NuGet包
nuget_install将NuGet包安装到项目中
nuget_update将NuGet包更新到特定版本
nuget_uninstall从项目中删除NuGet包

需求

  • Visual Studio 2019 (16.0或更高), Visual Studio 2022,或 视觉工作室2026 --社区版、专业版或企业版
  • 视窗
  • .NET Framework 4.8
  • .NET 8.0运行时 (适用于StdioProxy组件)

安装

  1. 重新启动Visual Studio
  2. 当Visual Studio启动时,MCP服务器会自动启动

设置——与Claude代码连接

注: %LOCALAPPDATA% 在bash中无法识别。您必须指定完整的绝对路径(例如。 C:\Users\\AppData\Local\...).

选项A --CLI命令:

claude mcp add vs-mcp -- "C:\Users\\AppData\Local\VsMcp\bin\VsMcp.StdioProxy.exe"

选项B --手动配置(添加到MCP配置JSON中):

{
  "mcpServers": {
    "vs-mcp": {
      "command": "C:\\Users\\\\AppData\\Local\\VsMcp\\bin\\VsMcp.StdioProxy.exe"
    }
  }
}

建筑

该扩展在Visual Studio中运行基于HTTP的MCP服务器。轻量级的StdioProxy将基于stdio的MCP客户端(如Claude Code)连接到HTTP服务器,实现无缝通信。

Claude Code  ──stdio──▶  StdioProxy  ──HTTP──▶  VS Extension
                          (relay)                (MCP server)

当Visual Studio未运行时,StdioProxy为基本协议操作提供脱机响应,并返回缓存的工具定义。

多个VS实例

VS MCP服务器支持同时运行多个Visual Studio实例。每个VS实例都通过端口文件注册自己(%LOCALAPPDATA%\VsMcp\server. .port)包含其HTTP端口和当前打开的解决方案路径。

实例选择

StdioProxy根据命令行参数选择要连接的VS实例:

论点行为
*(无)*自动检测--从当前工作目录向上查找 .sln 文件并连接到匹配的VS实例。如果没有,则回退到最近启动的VS实例 .sln 找到了。
`--sln
`连接到已打开指定解决方案的VS实例
`--pid
`使用指定的进程ID连接到VS实例

基于CWD的自动检测

当否 --sln--pid 如果提供了参数,StdioProxy会自动发现 .sln 从当前工作目录向上移动文件。这意味着在大多数情况下, 不需要显式配置 --简单地从项目目录中启动Claude Code就足够了。

场景行为
1 .sln found使用该解决方案自动连接到VS实例
多个 .sln 找到,1在VS中打开连接到匹配的VS实例
多个 .sln 找到,多个在VS中打开连接到最接近的匹配项(最接近CWD),并在 initialize 回应
多个 .sln 找到,VS中没有打开返回默认行为,并包含提示用户选择的提示
没有 .sln found返回到最近启动的VS实例

配置示例

单个实例 (自动检测,无需额外配置):

claude mcp add vs-mcp -- "C:\Users\\AppData\Local\VsMcp\bin\VsMcp.StdioProxy.exe"

多个实例 (基于显式解决方案——在CWD自动检测不足时有用):

{
  "mcpServers": {
    "vs-mcp-frontend": {
      "command": "C:\\Users\\\\AppData\\Local\\VsMcp\\bin\\VsMcp.StdioProxy.exe",
      "args": ["--sln", "C:\\Projects\\Frontend\\Frontend.sln"]
    },
    "vs-mcp-backend": {
      "command": "C:\\Users\\\\AppData\\Local\\VsMcp\\bin\\VsMcp.StdioProxy.exe",
      "args": ["--sln", "C:\\Projects\\Backend\\Backend.sln"]
    }
  }
}

工具筛选

使用 --tools 参数仅加载所需的工具类别。这减少了暴露给AI代理的工具数量,从而提高了令牌效率和响应相关性。

预设类别
core常规、解决方案、项目、构建、编辑器、编辑预览、输出、导航、NuGet、解决方案资源管理器、测试
debug调试器、断点、监视、线程、进程、立即、模块、寄存器、异常、内存、并行、诊断、控制台
webWeb
uiUI

示例:

claude mcp add vs-mcp -- "C:\Users\\AppData\Local\VsMcp\bin\VsMcp.StdioProxy.exe" --tools core,debug
{
  "mcpServers": {
    "vs-mcp": {
      "command": "C:\\Users\\\\AppData\\Local\\VsMcp\\bin\\VsMcp.StdioProxy.exe",
      "args": ["--tools", "core,debug"]
    }
  }
}

您还可以指定单个类别名称(例如。 --tools General,Build,Debugger).省略 --tools 加载所有工具。

重新连接

  • 如果重新启动VS,StdioProxy将在下一次重新连接 tools/call 请求。
  • 在发现过程中,来自崩溃或关闭的VS实例的过时端口文件会自动清理。

捆绑的Claude代码技能

VS扩展提供了一小部分克劳德代码技能,以补充MCP 工具。它们在扩展启动时自动部署到 %USERPROFILE%\.claude\skills\,因此Claude Code无需手动设置即可拾取它们。

技能目的
vs-ui-exploreVS调试对象的自主UI抓取——通过以下方式驱动应用程序 ui_snapshot, ui_find_elements,以及 ui_wait_* 原语,然后报告崩溃、错误对话框、无法访问的屏幕和禁用但预期的状态。使用“抓取UI并报告错误”等提示触发它。

源文件位于 src/VsMcp.Extension/Skills/;在那里编辑它们和 扩展将在下次启动时重新部署更新的副本(它比较文件 内容并跳过未更改的文件)。

贡献

拉取请求不被接受。

对于功能请求和错误报告,请使用 .

许可证

MIT许可证

目录标签

目录标签

调试工具C#Claude浏览器自动化VisualStudio插件本地部署AI代理控制UI自动化

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

114

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP