使用说明
ILSpy MCP服务器
一个MCP(模型上下文协议)服务器,它公开 ILSpysNET反编译功能作为AI代理的工具。
工具
| 工具 | 说明 |
|---|---|
decompile_type |
分解一个特定的。NET类型转换为C#源代码 |
decompile_member |
将单个成员(方法/属性/字段/事件)分解为C#源代码 |
list_types |
列出程序集中的所有类型(带可选命名空间筛选器) |
list_members |
列出某一类型的方法、属性、字段和事件 |
list_namespaces |
列出程序集中定义的所有命名空间 |
get_il |
获取类型或方法的IL拆卸 |
search_types_and_members |
按正则表达式模式搜索类型和成员(不区分大小写) |
search_string |
搜索字符串文字(IL ldstr 和元数据常量)通过正则表达式 |
find_implementations |
查找实现接口或扩展基类的类型 |
find_references |
跨程序集查找成员或类型的IL级交叉引用(调用者/用户) |
get_assembly_info |
获取程序集元数据(名称、版本、框架、引用) |
get_search_paths / set_search_paths |
获取/设置用于跨程序集解析的程序集搜索路径 |
list_loaded_assemblies |
列出当前保存在内存缓存中的程序集 |
reset_cache |
删除缓存的程序集,以便从磁盘重新加载它们 |
构建
dotnet build
配置
VS代码(GitHub副本)
添加到您的 .vscode/settings.json 或用户设置:
{
"mcp": {
"servers": {
"ilspy": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "/path/to/ilspy-mcp/src/ILSpyMcp"]
}
}
}
}
或者直接使用编译后的二进制文件:
{
"mcp": {
"servers": {
"ilspy": {
"type": "stdio",
"command": "/path/to/ilspy-mcp/src/ILSpyMcp/bin/Debug/net9.0/ILSpyMcp.exe"
}
}
}
}
克劳德桌面版
添加 claude_desktop_config.json:
{
"mcpServers": {
"ilspy": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/ilspy-mcp/src/ILSpyMcp"]
}
}
}
使用示例
一旦连接,AI代理就可以使用这些工具进行分析。NET程序集:
- 列表类型:“有哪些类型
MyLibrary.dll?" - 反编译:“显示源代码
MyNamespace.MyClass" - 获取IL:“显示的IL代码
Process方法inMyNamespace.MyClass" - 搜索:“在此程序集中查找与'控制器'相关的所有类型”
- 查找引用:“在哪里
MyLibrary.MyType.DoWork从?“--首先设置消费者程序集目录的搜索路径,然后调用find_references
技术栈
- .NET 9.0
- 模型上下文协议 v1.0.0(官方C#MCP SDK)
- ICSharpCode。反编译器 v9.1.0(ILSpy反编译引擎)