dnSpyEx MCP插件

最近在用dnSpy逆向配合Claude Code开发BepInEx插件的时候,感觉手动告诉Claude Code有哪些变量、成员函数以及代码非常麻烦。既然现在有MCP这个协议,为什么不能让整个流程自动化起来呢?

于是就花了一个晚上让Claude Code搓了一个dnSpyEx MCP插件出来,插件里面内置了一些工具用于获取二进制信息、反编译源码、某一类型的路径等,同时提供了BepInEx的文档作为Resources。

插件开源在dnSpy.Extension.MCP,由于dnSpyEx是使用GPL-3.0 license,所以本项目也沿用了GPL-3.0 license

使用方法

首先从dnSpyEx下载最新的dnSpyEx二进制,截至目前是v6.5.1

下载完成后,前往dnSpy.Extension.MCP的Release下载最新版本的插件文件,通常来说你应该下载dnSpy.Extension.MCP-net48.dll。下载完成后,将dll重命名并放置在dnSpy的bin/Extensions/dnSpy.Extension.MCP/dnSpy.Extension.MCP.x.dll路径下,你可能需要手动创建两级目录。然后启动dnSpyEx,你应该可以在设置中看到插件被加载。

dnSpyEx设置

插件默认监听http://localhost:3000,同时第一次启动你需要手动启用MCP服务器。勾选启用后,你应该可以使用MCP Inspector工具来调试MCP服务器,传输类型选择Streamable HTTP,URL填写http://localhost:3000/

MCP Inspector

有了MCP之后,你可以让Claude Code全自动帮你编写BepInEx插件,不过最好还是自己探索一下关键的变量和类名告诉大模型,效果会更好。

1
claude mcp add --transport http dnspy http://localhost:3000/

Have fun!