使用说明
项目简介
本项目 'aps-aecdm-mcp-dotnet' 是一个使用 .NET 开发的 Model Context Protocol (MCP) 服务器示例,旨在演示如何通过 MCP 协议连接大型语言模型 (LLM) 客户端(如 Claude Desktop)与 Autodesk Platform Services (APS) 的 AEC Data Model API 以及 Viewer 服务。它允许用户使用自然语言查询和操作建筑工程 (AEC) 数据,并在 Viewer 中可视化模型。
主要功能点
- 数据访问工具 (Tools):
- 获取用户 Token: 用于获取访问 Autodesk APS API 的身份验证 Token。
- 获取 Hubs: 检索用户在 Autodesk Construction Cloud (ACC) 中的 Hub 列表。
- 获取 Projects: 检索指定 Hub 下的项目列表。
- 获取 Element Groups: 检索指定项目中的 Element Groups(例如,模型文件)。
- 按类别筛选元素: 从 Element Group 中根据指定类别(如墙、窗户等)检索元素信息。
- 可视化工具 (Tools):
- 渲染模型: 使用 Autodesk Viewer 在浏览器中渲染指定的模型文件。
- 高亮元素: 在 Viewer 中高亮显示指定的元素,以便用户更直观地查看。
安装步骤
- 安装 Claude Desktop: 首先需要下载并安装 Claude Desktop,这是用于连接 MCP 服务器的 LLM 客户端。
- 克隆或下载仓库: 从 GitHub 仓库 aps-aecdm-mcp-dotnet 克隆或下载源代码到本地。建议使用 GitHub Desktop 或 Git 命令行工具。
git clone https://github.com/joaomartins-callmejohn/aps-aecdm-mcp-dotnet - 构建项目: 使用 Visual Studio (Windows) 或 .NET CLI 工具构建项目。打开 'aps-aecdm-mcp-dotnet.sln' 解决方案文件,在 Visual Studio 中点击“生成” -> “生成解决方案”,或在命令行中使用 'dotnet build' 命令。
- 配置客户端 ID: 需要配置 Autodesk APS 应用程序的客户端 ID (client_id)。
- 方法一:修改 'launchSettings.json' 文件 打开 'mcp-server-aecdm/Properties/launchSettings.json' 文件,在 'profiles' -> 'mcp-server-aecdm' -> 'environmentVariables' 中添加或修改 'CLIENT_ID' 环境变量的值为您自己的客户端 ID。
- 方法二:通过 Visual Studio UI 修改 在 Visual Studio 中,右键单击 'mcp-server-aecdm' 项目,选择 “属性” -> “调试”,在 “环境变量” 中添加或修改 'CLIENT_ID' 变量。
- 获取客户端 ID: 如果您还没有客户端 ID,请访问 Autodesk Platform Services 开发者门户创建应用程序并获取客户端 ID (Single-Page Application 类型)。
- 配置 Claude Desktop: 编辑 Claude Desktop 的配置文件 'claude_desktop_congif.json',添加 MCP 服务器的配置信息。该文件通常位于用户配置目录下 (具体位置请参考 Claude Desktop 文档)。
服务器配置
在 'claude_desktop_congif.json' 文件中,您需要将 'aps-aecdm-mcp-dotnet' MCP 服务器添加到 'mcpServers' 节点下。配置信息如下:
{ "mcpServers": { "aecdm": { // 服务器名称,可以自定义,例如 "aecdm" "command": "dotnet", // 启动服务器的命令,这里使用 dotnet 运行 .NET 项目 "args": [ // 命令参数 "run", "--project", "C:\\path\\to\\aps-aecdm-mcp-dotnet\\mcp-server-aecdm\\mcp-server-aecdm.csproj", // 指向 mcp-server-aecdm.csproj 项目文件的完整路径,**请替换为您的实际路径** "--no-build" // 添加 --no-build 参数可以避免每次启动都重新构建项目,提高启动速度(在代码没有修改的情况下) ] } } }
注意:
- '"aecdm"' 是您为该 MCP 服务器定义的名称,在 Claude Desktop 中引用时会用到。您可以自定义名称。
- '"args"' 数组中的路径 '"C:\path\to\aps-aecdm-mcp-dotnet\mcp-server-aecdm\mcp-server-aecdm.csproj"' 必须替换 为您本地仓库中 'mcp-server-aecdm.csproj' 文件的实际完整路径。
基本使用方法
- 启动 MCP 服务器: 在 Visual Studio 中点击 “启动调试” 按钮,或在命令行中导航到 'mcp-server-aecdm' 目录并运行 'dotnet run' 命令。
- 启动 Claude Desktop: 打开 Claude Desktop 应用程序。
- 与 Claude 交互: 在 Claude Desktop 中,您可以使用自然语言指令来调用 MCP 服务器提供的工具。例如:
- "Get me the list of hubs from AEC Data Model" (获取 Hub 列表)
- "Show me projects in hub with id xxx" (获取指定 Hub 的项目列表,将 xxx 替换为 Hub ID)
- "Render model with urn yyy" (渲染指定 urn 的模型,将 yyy 替换为模型 urn)
- "Highlight elements with external ids [id1, id2, id3] in the viewer" (在 Viewer 中高亮显示指定 ID 的元素)
Claude Desktop 会将您的自然语言指令转换为对 MCP 服务器工具的调用,服务器会执行相应的操作并将结果返回给 Claude Desktop。您可以通过这种方式,使用自然语言与 AEC 数据进行交互,并利用 Viewer 进行可视化。
信息
分类
商业系统