这是一个针对 dnSpyEx 的 模型上下文协议 (MCP) 扩展,它向像 Claude 这样的AI助手暴露了 .NET 组件分析工具。
该扩展提供了10个强大的工具用于分析 .NET 组件:
*Bonus*)全面嵌入的 BepInEx 插件开发文档:
所有文档都内置于扩展 DLL 中 - 不需要互联网连接。
dnSpy.Extension.MCP.x.dll<dnSpy-安装路径>\bin\Extensions\dnSpy.Extension.MCP\# 克隆 dnSpyEx 仓库
git clone https://github.com/dnSpyEx/dnSpy.git
cd dnSpy
# 将此扩展克隆到 Extensions 文件夹
cd Extensions
git clone https://github.com/KernelErr/dnSpy.Extension.MCP.git
# 构建扩展
cd dnSpy.Extension.MCP
dotnet build -c Release
# 复制到 dnSpy 安装目录
copy bin\Release\net48\dnSpy.Extension.MCP.x.dll <dnSpy-安装路径>\bin\Extensions\dnSpy.Extension.M
在 dnSpy 中访问设置:编辑 → 设置 → MCP 服务器
可用设置:
添加到您的 Claude Desktop 配置 (claude_desktop_config.json):
{
"mcpServers": {
"dnspy": {
"command": "http",
"args": ["http://localhost:3000"]
}
}
}
检查服务器状态:
curl http://localhost:3000/health
预期响应:
{"status":"ok","service":"dnSpy MCP Server"}
# 为 .NET Framework 4.8 构建
dotnet build -c Release -f net48
# 为 .NET 8.0 构建
dotnet build -c Release -f net8.0-windows
dnSpy.Extension.MCP/
├── .github/workflows/ # GitHub Actions (构建、发布)
├── McpServer.cs # HTTP 服务器 (Kestrel/.NET, HttpListener/.NET Framework)
├── McpProtocol.cs # JSON-RPC 2.0 协议模型
├── McpTools.cs # 10 个 MCP 工具实现
├── McpSettings.cs # 设置界面和持久化
├── BepInExResources.cs # 嵌入式文档 (6 个资源)
└── dnSpy.Extension.MCP.csproj
net48 和 net8.0-windows该扩展实现了 模型上下文协议 (MCP) 规范版本 2.024-11-05。
支持的方法:
initialize - 服务器初始化ping - 心跳tools/list - 列出可用工具tools/call - 执行一个工具resources/list - 列出文档资源resources/read - 读取文档内容notifications/* - 处理客户端通知构建工作流 (.github/workflows/build.yml)
发布工作流 (.github/workflows/release.yml)
v*.*.*) 或手动调度# 标记发布
git tag v1.0.0
git push origin v1.0.0
# GitHub Actions 将自动:
# 1. 构建 net48 和 net8.0 DLL
# 2. 创建 GitHub 发布
# 3. 上传 DLL 和 README 作为资产
欢迎贡献!请:
git checkout -b feature/amazing-feature)git commit -m '添加精彩功能')git push origin feature/amazing-feature)GitHub Actions 将自动构建和测试您的 PR。
find_path_to_type 工具使用广度优先搜索来查找类型之间的导航路径:
// 示例:从 PlayerController 到 HealthBonus 的路径查找
// 结果:PlayerController -> PlayerState -> Bonuses -> HealthBonus
使用 dnSpy 内置的反编译器,具有可配置选项:
此扩展遵循与 dnSpyEx 相同的许可证。请参阅 dnSpyEx 仓库 获取许可信息。
dnSpy.Extension.MCP.x.dlldotnet restore对于问题、疑问或功能请求,请在 GitHub 仓库 中打开一个 Issue。