内容
# 土木 3D MCP 服务器
使 AI 助手(Claude、Cline 等)能够通过自然语言与 Autodesk 土木 3D 进行交互的 MCP(模型上下文协议)服务器。
## 架构
```
┌─────────────────┐ stdio ┌──────────────────┐ TCP/JSON-RPC ┌──────────────────┐
│ AI 助手 │ ◄────────────► │ MCP 服务器(TS)│ ◄──────────────────► │ 土木 3D 插件 │
│ (Claude、Cline)│ │ Node.js │ 端口 8080 │ (.NET 8.0 C#) │
└─────────────────┘ └──────────────────┘ └──────────────────┘
│
土木 3D API
(曲面、轴线、
点、走廊...)
```
该系统有两个组件:
1. **MCP 服务器**(TypeScript/Node.js)— 通过 MCP 协议与 AI 助手通信
2. **土木 3D 插件**(C# .NET 8.0)— 在土木 3D 中运行并执行 API 命令
## 可用工具
| 工具 | 操作 | 描述 |
|------|---------|-------------|
| `civil3d_health` | 健康检查 | 检查插件连接性 |
| `civil3d_drawing` | 信息、设置、保存、撤销、重做、列出对象类型、获取选中 | 绘图操作 |
| `civil3d_surface` | 列出、获取、获取高程、获取统计信息、创建、删除、添加点、添加断线、添加边界、提取等高线、计算体积 | 曲面管理 |
| `civil3d_alignment` | 列出、获取、创建、删除、站点到点、点到站点 | 轴线操作 |
| `civil3d_profile` | 列出、获取、获取高程、从曲面创建、创建布局、删除 | 剖面管理 |
| `civil3d_corridor` | 列出、获取、重建、获取曲面、获取特征线、计算体积 | 走廊操作 |
| `civil3d_pipe` | 列出管网、获取管网、获取管道、获取结构、创建管网、添加管道、添加结构、检查干扰 | 管道网络 |
| `civil3d_point` | 列出、获取、创建、删除、列出组、导入 | COGO 点 |
| `civil3d_geometry` | 创建线、创建多线、创建 3D 多线、创建文本、创建多行文本 | 基本 AutoCAD 几何图形 |
## 设置
### 1. 构建 MCP 服务器
```bash
npm install
npm run build
```
### 2. 构建土木 3D 插件
1. 从您的土木 3D 安装中复制所需的 DLL 到 `C_References/`(参见 [C_References/README.md](C_References/README.md))
2. 构建插件:
```bash
cd plugin/Civil3dMcpPlugin
dotnet build
```
### 3. 在土木 3D 中加载插件
1. 打开土木 3D 2025+
2. 在命令行中输入 `NETLOAD`
3. 浏览到 `plugin/Civil3dMcpPlugin/bin/Debug/net8.0-windows/Civil3dMcpPlugin.dll`
4. 插件自动启动。使用 `C3DMCPSTATUS` 验证。
### 4. 配置您的 AI 助手
**Claude 桌面版** — 添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"civil3d": {
"command": "node",
"args": ["/path/to/civil3d-mcp/build/index.js"]
}
}
}
```
## 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `CIVIL3D_HOST` | `localhost` | 土木 3D 插件主机 |
| `CIVIL3D_PORT` | `8080` | 土木 3D 插件端口 |
| `CIVIL3D_CONNECT_TIMEOUT` | `5000` | 连接超时(毫秒) |
| `CIVIL3D_COMMAND_TIMEOUT` | `120000` | 命令执行超时(毫秒) |
| `LOG_LEVEL` | `info` | 日志级别(调试、信息、警告、错误) |
## 插件命令
| 命令 | 描述 |
|---------|-------------|
| `C3DMCPSTART` | 启动 TCP 监听器 |
| `C3DMCPSTOP` | 停止 TCP 监听器 |
| `C3DMCPSTATUS` | 检查监听器状态 |
## 许可证
MIT