VS MCP Server
Let AI assistants like Claude control Visual Studio through the Model Context Protocol!
______________________________________________________________________
🤔 这是什么?
VS MCP服务器 通过以下方式公开Visual Studio功能 模型上下文协议(MCP),使像Claude这样的AI助手能够以编程方式与您的IDE进行交互。通过自然对话打开文件、阅读代码、构建项目等等!
✨ 特性
📂 解决方案工具
| 工具 | 说明 |
|---|---|
project_info | 获取详细的项目信息 |
project_list | 列出解决方案中的所有项目 |
solution_close | 关闭当前解决方案 |
solution_info | 获取有关当前解决方案的信息 |
solution_open | 打开解决方案文件 |
startup_project_get | 获取当前启动项目 |
startup_project_set | 设置调试启动项目 |
📝 文档工具
| 工具 | 说明 |
|---|---|
document_active | 获取活动文档 |
document_close | 关闭文档 |
document_list | 列出所有打开的文档 |
document_open | 在编辑器中打开文件 |
document_read | 读取文档内容 |
document_save | 保存打开的文档 |
document_write | 写入文档 |
✏️ 编辑器工具
| 工具 | 说明 |
|---|---|
editor_find | 在文档中搜索 |
editor_goto_line | 导航到特定行 |
editor_insert | 在光标位置插入文本 |
editor_replace | 查找和替换文本 |
selection_get | 获取当前文本选择 |
selection_set | 设置选择范围 |
🔨 构建工具
| 工具 | 说明 |
|---|---|
build_cancel | 取消正在运行的构建 |
build_project | 构建一个特定的项目 |
build_solution | 构建整个解决方案 |
build_status | 获取当前构建状态 |
clean_solution | 清洗溶液 |
🧭 导航工具
| 工具 | 说明 |
|---|---|
find_references | 查找对某个符号的所有引用 |
goto_definition | 导航到符号的定义 |
symbol_document | 获取文档中定义的所有符号 |
symbol_workspace | 在整个解决方案中搜索符号 |
🐛 调试器工具
| 工具 | 说明 |
|---|---|
debugger_add_breakpoint | 在文件和行处添加断点 |
debugger_break | 暂停执行(Ctrl+Alt+Break) |
debugger_continue | 继续执行(F5) |
debugger_evaluate | 在当前调试上下文中计算表达式 |
debugger_get_callstack | 获取调用堆栈 |
debugger_get_locals | 获取当前帧中的局部变量 |
debugger_launch | 开始调试(F5),可选择用于特定项目 |
debugger_launch_without_debugging | 启动时不使用调试器(Ctrl+F5),可选择用于特定项目 |
debugger_list_breakpoints | 列出所有断点 |
debugger_remove_breakpoint | 删除断点 |
debugger_set_variable | 设置局部变量的值 |
debugger_status | 获取当前调试器状态 |
debugger_step_into | 进入(F11) |
debugger_step_out | 退出(Shift+F11) |
debugger_step_over | 跨步(F10) |
debugger_stop | 停止调试(Shift+F5) |
🔍 诊断工具
| 工具 | 说明 |
|---|---|
errors_list | 从错误列表中读取构建错误、警告和消息 |
output_list_panes | 列出所有可用的输出窗口窗格 |
output_read | 从“输出”窗格读取内容 |
output_write | 将消息写入“输出”窗格 |
🪟 窗口工具
| 工具 | 说明 |
|---|---|
toolwindow_hide | 通过标题隐藏(关闭)工具窗口 |
toolwindow_show | 按名称显示工具窗口(SolutionExplorer、ErrorList、Output、Terminal等) |
window_activate | 通过标题激活(聚焦)窗口 |
window_list | 列出所有打开的窗口,包括标题、类型、可见性和GUID |
🛠️ 安装
Visual Studio市场
- 打开Visual Studio 2022或2026
- 首选 扩展>管理扩展
- 搜索“MCP服务器”
- 点击 下载 并重新启动Visual Studio
手动安装
下载最新 .vsix 从 发布 页面,然后双击进行安装。
🚀 用法
▶️ 启动服务器
- 打开Visual Studio
- 首选 工具>MCP服务器>启动服务器 (或在设置中启用自动启动)
- MCP服务器启动于
http://localhost:5050
🤖 配置克劳德桌面和克劳德代码
将此添加到您的Claude Desktop或Claude Code MCP设置中(首选HTTP方法):
{
"mcpServers": {
"visualstudio": {
"type": "http",
"url": "http://localhost:5050"
}
}
}传统SSE方法 (已弃用,但仍受支持):
{
"mcpServers": {
"visualstudio": {
"type": "sse",
"url": "http://localhost:5050/sse"
}
}
}ℹ️ 注: HTTP方法是首选标准。SSE(服务器发送事件)是一种传统协议,应仅用于向后兼容性。
⚙️ 设置
在以下位置配置扩展 工具>选项>MCP服务器:
| 设置 | 说明 | 默认值 |
|---|---|---|
| 自动启动服务器 | 启动Visual Studio时启动MCP服务器 | 关闭 |
| 绑定地址 | 服务器绑定到的地址 | localhost |
| HTTP端口 | MCP服务器的端口 | 5050 |
| 服务器名称 | 报告给MCP客户端的名称 | Visual Studio MCP |
| 日志级别 | 输出的最低日志级别 | Information |
| 日志保留 | 保留日志文件的天数 | 7 |
🏗️ 建筑
+------------------+ +----------------------+ named pipes +------------------+
| Claude Desktop | HTTP/SSE | MCPServer.Server | | VS Extension |
| (MCP Client) | | (MCP Server) | JSON-RPC | (Tool Impl) |
+------------------+ :5050 +----------------------+ +------------------+🤝 贡献
欢迎投稿!无论是bug报告、功能请求还是拉取请求,所有的反馈都有助于使这个扩展更好。
🔧 开发设置
- 克隆仓库
- 打开
src/CodingWithCalvin.MCPServer.slnxVisual Studio 2022 - 确保已安装“Visual Studio扩展开发”工作负载
- 确保你有。已安装NET 10.0 SDK
- 按F5启动实验实例
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
👥 贡献者
______________________________________________________________________
Made with ❤️ by Coding With Calvin
