内容
# VisualStudio MCP 桥接
VisualStudio MCP 桥接是一款 Visual Studio VSIX 扩展,通过本地 MCP 服务器公开当前的 Visual Studio IDE 会话。
服务器仅绑定到 `127.0.0.1` 并需要本地 bearer token。
## 功能
- 与 Codex Claude 代码和其他支持 mcp 的 AI 兼容
- 列出正在运行的 Visual Studio 实例。
- 读取当前解决方案、项目、活动文档和打开的文档。
- 在 Visual Studio 中打开文件。
- 通过 Visual Studio 读取、替换、插入和保存文本文档。
- 触发 Visual Studio 解决方案构建。
- 读取错误列表和输出窗口面板。
- 检查解决方案树和项目引用。
- 启动/停止调试并执行 Visual Studio 命令。
## 安装
1. 从 GitHub Releases 下载 `VisualStudioMcpExtension.vsix`。
2. 关闭 Visual Studio。
3. 通过双击安装 VSIX,或运行:
```powershell
& "C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\VSIXInstaller.exe" `
"C:\Path\To\VisualStudioMcpExtension.vsix"
```
4. 打开 Visual Studio。
5. 启动桥接:
```text
工具 > VisualStudio MCP 桥接 > 连接到本地 MCP 服务器
```
您也可以打开:
```text
视图 > VisualStudio MCP 桥接 窗口
工具 > 选项 > VisualStudio MCP 桥接 > 连接
```
## 连接
扩展程序写入每个用户配置文件:
```text
%LOCALAPPDATA%\VisualStudioMcpBridge\config.txt
```
其中包含:
```text
endpoint=http://127.0.0.1:32177/mcp
token=<本地 bearer token>
port=32177
log=<本地日志路径>
```
在您的 MCP 客户端中使用这些值:
```text
URL: http://127.0.0.1:32177/mcp
Authorization: Bearer <token>
```
请勿共享或提交您的 token。
## 使用 PowerShell 测试
```powershell
$config = Get-Content "$env:LOCALAPPDATA\VisualStudioMcpBridge\config.txt"
$token = ($config | Where-Object { $_ -like "token=*" }) -replace "^token=", ""
$body = @{
jsonrpc = "2.0"
id = 1
method = "tools/list"
params = @{}
} | ConvertTo-Json -Depth 10
Invoke-RestMethod `
-Uri "http://127.0.0.1:32177/mcp" `
-Method Post `
-Headers @{ Authorization = "Bearer $token" } `
-ContentType "application/json" `
-Body $body
```
## MCP 工具
- `visualstudio_instances`
- `visualstudio_solution`
- `visualstudio_active_document`
- `visualstudio_open_documents`
- `visualstudio_build_solution`
- `visualstudio_open_file`
- `visualstudio_read_document`
- `visualstudio_replace_selection`
- `visualstudio_insert_text`
- `visualstudio_replace_document`
- `visualstudio_save_document`
- `visualstudio_error_list`
- `visualstudio_solution_tree`
- `visualstudio_project_references`
- `visualstudio_output_window`
- `visualstudio_debug_status`
- `visualstudio_start_debugging`
- `visualstudio_stop_debugging`
- `visualstudio_execute_command`
## 从源代码构建
首先发布桥接:
```powershell
dotnet publish .\src\VisualStudioMcpBridge -c Release -o .\src\VisualStudioMcpBridge\publish
```
构建 VSIX:
```powershell
dotnet build .\src\VisualStudioMcpExtension -c Release
```
或使用:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\build-release.ps1
powershell -ExecutionPolicy Bypass -File .\scripts\create-release-zip.ps1 -Version 0.1.11
```
生成的 VSIX 是:
```text
src\VisualStudioMcpExtension\bin\Release\net472\VisualStudioMcpExtension.vsix
```
将 `.vsix` 文件上传到 GitHub Releases。不要提交生成的构建输出。
## 签名
VSIX 可以在早期测试期间分发未签名版本。对于公共信任流程,请使用您自己的代码签名证书签名。
仅限开发使用的自签名证书:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\create-self-signed-cert.ps1
```
如果已安装,请使用 `VsixSignTool.exe` 签名:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\sign-vsix.ps1 -PfxPath .\scripts\VisualStudioMcpBridge-DevCert.pfx
```