Token导航 LogoToken导航TokenDH.com
MCP Dotnet Explorer logo
数据服务未说明官方级别未说明来源级核验

MCP Dotnet Explorer

MCP Server

一个分析.NET程序集DLL并将元数据存储在SQLite数据库中以进行高效查询的MCP服务器,适用于探索多种软件的API。

工具数

11

提示词数

0

GitHub Stars

1

资源数

0
C#Claude数据分析Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jadjhaddad

提供方

jadjhaddad

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DLL检查器MCP服务器

版本2.1.0 -改进了参数默认值处理

用于分析的模型上下文协议(MCP)服务器。NET程序集DLL,并将元数据存储在SQLite数据库中,以实现高效查询。最初设计用于探索Autodesk Civil 3D和AutoCAD API,现在支持单个数据库中的多个软件产品。

概述

此MCP服务器为探索提供了一个全面的数据库驱动解决方案。NET API。它不是每次查询DLL时都加载DLL,而是分析程序集一次,并将所有元数据(类型、方法、属性、参数等)存储在SQLite数据库中,以实现快速、强大的查询。

主要特点

  • 软件差异化 (v2.0中的新功能):按软件产品(Civil 3D、Revit、Dynamo等)组织DLL
  • 过滤查询 (v2.0中的新功能):仅查询特定软件中的DLL,而不搜索整个数据库
  • 自动迁移:从v1模式无缝升级到v2模式
  • 一次性分析:分析DLL一次,重复查询数据库,无需重新加载
  • 综合元数据:捕获类型、方法、属性、字段、事件、参数、继承、接口等
  • 智能更新:基于哈希的更改检测仅在DLL更改时重新分析
  • 强大的查询功能:按名称、命名空间、返回类型、继承、接口实现进行搜索
  • 全文搜索:通过文档和描述查找成员
  • 跨平台:自动处理Windows路径到WSL路径的转换

MCP工具

数据库管理

analyze_dll

分析a。NET DLL,并将所有元数据存储在数据库中。

参数:

  • dllPath (必填):DLL文件的路径(Windows或WSL格式)
  • forceReAnalyze (可选):即使已在数据库中,也强制重新分析(默认值:false)
  • softwareName (可选,v2.0中的新功能):与此DLL关联的软件名称(例如,“AutoCAD Civil 3D 2024”)
  • softwareVersion (可选,v2.0中的新功能):软件版本

例子:

dllPath: "C:\Program Files\Autodesk\AutoCAD 2024\C3D\AeccDbMgd.dll"
softwareName: "AutoCAD Civil 3D"
softwareVersion: "2024"

list_assemblies

列出数据库中当前包含统计信息的所有程序集。

参数:

  • softwareName (可选,v2.0中的新功能):按软件名称筛选程序集

退货: 程序集名称、版本、软件关联、分析日期、命名空间计数和类型计数

list_software (v2.0中的新功能)

列出数据库中具有程序集计数的所有软件产品。

退货: 软件名称、版本、描述和相关程序集的数量

associate_assembly_with_software (v2.0中的新功能)

将现有程序集与软件产品相关联。

参数:

  • assemblyName (必填):程序集名称
  • softwareName (必填):软件名称

例子:

assemblyName: "AeccDbMgd"
softwareName: "AutoCAD Civil 3D"

类型发现

list_namespaces

列出数据库中的所有命名空间。

参数:

  • assemblyName (可选):按特定程序集名称筛选

例子:

assemblyName: "AeccDbMgd"

search_types

按名称模式搜索类型。支持SQL通配符(%)。

参数:

  • searchPattern (必填):搜索模式(例如,“对齐”、“管道百分比”、“表面百分比”)
  • namespaceName (可选):按命名空间筛选
  • typeKind (可选):按类型类型筛选(类、接口、枚举、结构)

示例:

searchPattern: "%Alignment%"
namespaceName: "Autodesk.Civil.DatabaseServices"
searchPattern: "Pressure%"
typeKind: "Class"

get_type_details

获取有关特定类型(包括所有成员)的全面信息。

参数:

  • typeName (必填):完整类型名称

例子:

typeName: "Autodesk.Civil.DatabaseServices.Alignment"

退货: 类型信息、基类、接口、构造函数、属性、方法、字段、具有完整签名的事件

方法发现

search_methods

在所有类型中按名称模式搜索方法。

参数:

  • searchPattern (必填):方法名称模式(例如,“%Station%”、“Get%”)
  • returnType (可选):按返回类型筛选

示例:

searchPattern: "%Station%"
searchPattern: "Get%"
returnType: "%Surface%"

高级查询

search_documentation

在所有类型和成员文档中进行全文搜索。

参数:

  • searchTerms (必填):在文档中查找搜索词

例子:

searchTerms: "corridor surface"

get_inheritance_tree

显示类型的继承层次结构(基类和派生类)。

参数:

  • typeName (必填):完整类型名称

例子:

typeName: "Autodesk.Civil.DatabaseServices.Alignment"

find_implementations

查找实现特定接口的所有类型。

参数:

  • interfaceName (必填):完整接口名称

例子:

interfaceName: "System.IDisposable"

安装

先决条件

  • .NET 9.0 SDK
  • WSL2(如果在Windows上运行)

构建

cd /mnt/c/Users/jjhaddad/Documents/Work/zeroTouch/dll-inspector-mcp
dotnet build

构建的可执行文件将位于:

bin/Debug/net9.0/DllInspectorMcp.dll

Claude代码的配置

将此服务器添加到您的Claude Code MCP设置文件中。

设置文件的位置:

  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

配置示例:

{
  "mcpServers": {
    "civil3d-inspector": {
      "command": "dotnet",
      "args": [
        "exec",
        "/mnt/c/Users/jjhaddad/Documents/Work/zeroTouch/dll-inspector-mcp/bin/Debug/net9.0/DllInspectorMcp.dll"
      ]
    }
  }
}

注: 调整路径以匹配您的安装位置。

使用工作流程

1.分析DLL(使用软件关联)

首先,分析要探索的程序集。 v2.0中的新功能:您现在可以将DLL与软件产品相关联:

analyze_dll
  dllPath: "C:\Program Files\Autodesk\AutoCAD 2024\C3D\AeccDbMgd.dll"
  softwareName: "AutoCAD Civil 3D"
  softwareVersion: "2024"

您可以在同一数据库中分析多个软件产品:

analyze_dll
  dllPath: "C:\Program Files\Autodesk\Revit 2024\RevitAPI.dll"
  softwareName: "Revit"
  softwareVersion: "2024"
analyze_dll
  dllPath: "C:\Program Files\Dynamo\DynamoCore.dll"
  softwareName: "Dynamo"
  softwareVersion: "2.x"

第一次分析需要时间,但后续查询将是即时的!

提示: 软件关联是可选的。如果不指定,DLL仍将被分析并可用于查询。

2.探索API

v2.0中的新功能:查看所有软件产品并按软件筛选:

list_software

列出特定软件的程序集:

list_assemblies
  softwareName: "AutoCAD Civil 3D"

列出可用命名空间:

list_namespaces
  assemblyName: "AeccDbMgd"

查找与路线相关的类型:

search_types
  searchPattern: "%Alignment%"
  namespaceName: "Autodesk.Civil.DatabaseServices"

获取特定类型的完整详细信息:

get_type_details
  typeName: "Autodesk.Civil.DatabaseServices.Alignment"

搜索方法:

search_methods
  searchPattern: "%Station%"

查找继承关系:

get_inheritance_tree
  typeName: "Autodesk.Civil.DatabaseServices.Corridor"

3.更新

如果更新Civil3D或DLL更改,只需重新分析:

analyze_dll
  dllPath: "C:\Program Files\Autodesk\AutoCAD 2024\C3D\AeccDbMgd.dll"
  forceReAnalyze: true

数据库位置

SQLite数据库创建于:

bin/Debug/net9.0/civil3d_api.db

您可以使用任何SQLite客户端直接检查或查询它。

数据库模式

数据库包括以下表:

  • 软件 (v2.0中的新功能):软件产品信息
  • 装配件:DLL元数据和版本(现在有可选的SoftwareId)
  • 命名空间:命名空间组织
  • 类型:类、接口、枚举、结构
  • 成员:方法、属性、字段、事件、构造函数
  • 参数:方法和构造函数参数
  • TypeInterfaces:接口实现
  • 枚举值:枚举值
  • 属性访问者:属性获取器/设置器信息
  • 会员搜索:全文搜索索引

DatabaseSchema.sql 对于完整的v1模式,或 DatabaseSchema_v2.sql 对于v2模式。 看 MIGRATION_V2.md 有关迁移的详细信息。

建筑

组件

  • 数据库管理器cs:SQLite数据库操作和管理
  • DllAnalyzer.cs:从中提取元数据。NET程序集使用MetadataLoadContext
  • DatabaseQueryTools.cs:用于查询数据库的MCP工具
  • DllLoader.cs:通过依赖解析和路径转换加载程序集
  • DatabaseSchema.sql:完整的数据库架构,包括索引和视图

关键技术

  • SQLite:轻量级、基于文件的数据库
  • MetadataLoadContext:仅反射程序集加载
  • FTS5:SQLite文档全文搜索
  • 模型上下文协议:与Claude Code集成

路径处理

在WSL中运行时,服务器会自动将Windows路径转换为WSL路径:

  • C:\path\to\file.dll/mnt/c/path/to/file.dll
  • 适用于所有驱动器号(C:、D:等)

调用工具时,您可以使用任何一种格式。

演出

  • 分析:对于像AeccDbMgd.dll这样的大型dll,可能需要30-60秒
  • 后续查询:毫秒(数据库查找)
  • 重新分析:仅当DLL文件哈希值更改时
  • 数据库大小:每个分析的程序集约10-50MB

故障排除

错误:“路径不是绝对路径”

  • 确保DLL路径正确
  • 尝试使用完整的WSL路径格式: /mnt/c/...

错误:“无法加载文件或程序集”

  • DLL可能在同一目录中具有依赖关系
  • 服务器尝试从DLL的目录自动加载依赖项

找不到数据库或数据库为空

  • 数据库在首次使用时自动创建
  • 使用 analyze_dll 用DLL填充它

查询速度慢

  • 启动服务器后的第一个查询可以初始化数据库
  • 后续查询应该非常快
  • 如果您怀疑数据损坏,请考虑重新分析

文档

  • 更改日志.md:版本历史和更改
  • 特色_苏美.md:v2.0软件差异化功能概述
  • MIGRATION_V2.md:从v1到v2的数据库迁移指南
  • 土建工程3D_API_STRUCTURE.mod:Civil3D API结构的综合文档
  • 项目状态.md:项目开发状态和路线图
  • DatabaseSchema.sql:使用注释完成v1数据库架构
  • 数据库模式_v2.sql:使用软件表完成v2数据库架构

依赖项

  • .NET 9.0
  • 微软。数据。Sqlite(9.0.0)
  • 微软。扩展。主机(10.0.0)
  • 模型上下文协议(0.4.0-preview.3)
  • 系统。反思。MetadataLoadContext(9.0.0)

发展

构建

dotnet build

dotnet run

清理数据库

要重新开始,请删除数据库文件:

rm bin/Debug/net9.0/civil3d_api.db

参考文献

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

版权所有(c)2025 Jad Haddad

目录标签

目录标签

C#Claude数据分析DLL分析本地部署元数据存储API查询.NET程序集SQLite数据库

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP