Overview
What is 如何创建和生成 MCP DLL 文件以供 CallFunc 调用?
本文档是一个指南,说明如何创建实现 IMCPMethod 接口的 MCP DLL 文件,使其能够被 Revit 的 MCP 服务通过 CallFunc 方法动态调用。该 DLL 遵循 JSON-RPC 2.0 规范,适用于需要扩展 Revit 功能并通过大模型交互的开发者。
How to use 如何创建和生成 MCP DLL 文件以供 CallFunc 调用?
在 Visual Studio 中创建类库项目,引用相关 Revit API 和 MCP 公共库,实现 IMCPMethod 接口并编译生成 .dll 文件。将生成的 DLL 放入 Revit 指定的 MCP 文件夹中,即可通过 CallFunc 按提示词调用(如 {"name": "新增标高", "params": {"offset": 3000}})。
Key features of 如何创建和生成 MCP DLL 文件以供 CallFunc 调用
- 实现
IMCPMethod接口,提供Execute方法 - 遵循 JSON-RPC 2.0 协议,结构清晰
- 支持传入参数,如标高偏移量
- 提供示例:新增标高功能
- 与 Revit 事务机制集成
Use cases of 如何创建和生成 MCP DLL 文件以供 CallFunc 调用
- 在 Revit 中自动创建新标高,由大模型触发
- 通过
CallFunc动态调用自定义 Revit 命令 - 为 Revit 扩展提供标准化的 MCP 接口
FAQ from 如何创建和生成 MCP DLL 文件以供 CallFunc 调用
What runtime environment is required?
需要 Visual Studio 和 Revit API 引用,编译后的 DLL 需放置在 Revit 的 MCP 文件夹中。
How to define a new method?
创建一个类实现 IMCPMethod 接口,在构造函数中设置 MethodName 属性,并在 Execute 方法中编写逻辑。
How to pass parameters to the method?
参数通过 request.Params 以 JObject 形式传入,例如 { "offset": 3000 }。
What is the return format?
返回一个 JsonRPCResponse 对象,Result 属性可包含 ElementModelRequest 或其他 JSON 可序列化数据。
Are there any known limitations?
示例使用硬编码的偏移量单位毫米(转换为英尺),需确保参数名称与代码一致。