.NET反编译服务

一个将ILSpy的.NET反编译功能暴露为AI代理工具的MCP服务器。

  • by yhnmj6666
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 yhnmj6666/ilspy-mcp

使用说明

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 方法in MyNamespace.MyClass"
  • 搜索:“在此程序集中查找与'控制器'相关的所有类型”
  • 查找引用:“在哪里 MyLibrary.MyType.DoWork 从?“--首先设置消费者程序集目录的搜索路径,然后调用 find_references

技术栈