
如何创建和生成 MCP DLL 文件以供 CallFunc 调用

2025.04.04
1
C#Revit 功能扩展自动化脚本开发效率
xml.Revit.MCPServer 是一个用于 Revit 的 MCP 服务,允许用户通过创建和生成 MCP DLL 文件来扩展 Revit 的功能。该服务通过实现特定的接口和遵循 JSON-RPC 2.0 规范,使得用户可以在 Revit 中动态调用自定义功能。
View on GitHub
Overview
基本能力
产品定位
xml.Revit.MCPServer 是一个用于 Revit 的 MCP 服务,旨在通过动态加载和调用自定义 DLL 文件来扩展 Revit 的功能。
核心功能
- 动态调用功能:通过实现
IMCPMethod
接口,用户可以创建自定义功能并在 Revit 中动态调用。 - JSON-RPC 2.0 规范:服务遵循 JSON-RPC 2.0 规范,确保与 Revit 的交互标准化。
- 事务支持:支持在 Revit 文档中开启事务,确保操作的原子性和一致性。
适用场景
- Revit 功能扩展:用户可以通过创建自定义 DLL 文件来扩展 Revit 的功能。
- 自动化脚本:结合 Python 脚本,可以实现自动化调用自定义功能。
工具列表
- call_func:一个 Python 工具,用于通过函数名称调用 MCP DLL 中的功能。
常见问题解答
- 如何创建 MCP DLL 文件?
- 实现
IMCPMethod
接口并编译生成 DLL 文件。 - 如何调用 MCP DLL 中的功能?
- 使用
call_func
工具通过函数名称调用。
使用教程
使用依赖
- Visual Studio:用于编译生成 DLL 文件。
- Revit:确保已安装 Revit 并配置好开发环境。
安装教程
- 创建实现类:实现
IMCPMethod
接口,如示例中的TopLevelAdd
类。 - 编译项目:在 Visual Studio 中编译项目,生成 DLL 文件。
- 放置 DLL 文件:将生成的 DLL 文件放置在指定的 MCP 文件夹中。
调试方式
- 日志输出:在实现类中添加日志输出,便于调试。
- Revit 调试:在 Revit 中调用功能并检查返回结果。
response = call_func(ctx, params=[
{"name": "新增标高", "params": {"offset": 3000}}
])
许可证
None