BC

barbosaihan/civil3d-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

45 stars 20 forks 质量 82 趋势 22MIT

人工智能驱动的土木3D建模

概览

一个MCP服务器,使AI助手能够直接进入Autodesk Civil 3D内部。AI生成的代码是完全可访问API的,而非固定工具。 1. → 获得文档化的 C# 代码模板 2.→ 填充参数,组合模式 3.→ 通过civil3d_execute或civil3d_query 4.→ 在 Civil 3D 内部,提供完整的 API 访问 5.→ 回到 AI 技能文档中有文档的 C# 代码模板,见 skills/: 通过civil3d_execute或civil3d_query执行的代码可访问: 所有Civil 3D命名空间都是自动导入的。 Roslyn 沙箱块包括:- 进程执行(Process.Start)- 文件删除(File.Delete)- 网络请求(HttpClient、Sockets)- 注册表访问 - 动态汇编加载 所有民用3DAPI操作均被允许。

概述(AI 翻译)

一个MCP服务器,使AI助手能够直接在Autodesk Civil 3D内部编写和执行C#代码。AI生成的代码不是固定工具,而是具备完整API访问权限。

建筑

3 元工具

工具 目的 安全
civil3d_execute 执行带有write访问(已提交事务)的C#代码 ⚠️修改绘图
civil3d_query 执行C#代码 只读(无提交) ✅无副作用
civil3d_skills 浏览/搜索/阅读代码技能模板 ✅仅限元数据

工作原理

  1. AI 读取技能 → 获得文档化的 C# 代码模板
  2. AI调整代码 →填充参数,组合模式
  3. **AI 通过 civil3d_execute 或 civil3d_query →发送代码。
  4. Roslyn 编译 + 运行 → Inside Civil 3D 并拥有完整 API 访问权限
  5. 结果返回为JSON →返回 AI

示例交互

技能库

技能是 skills/ 中文档化的 C# 代码模板:

全球剧本

通过civil3d_execute或civil3d_query执行的代码可访问:

全局 类型 描述
Document Document 活动中的AutoCAD文档

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Civil 3D MCP Server — Code Execution Architecture

An MCP server that enables AI assistants to write and execute C# code directly inside Autodesk Civil 3D. Instead of fixed tools, the AI generates code that runs with full API access.

Architecture

┌─────────────────┐     stdio      ┌──────────────────┐     TCP/JSON-RPC    ┌──────────────────┐
│   AI Assistant   │ ◄────────────► │  MCP Server (TS) │ ◄──────────────────► │  Civil 3D Plugin │
│ (Claude, Cline)  │               │   3 meta-tools    │     port 8080       │  Roslyn Engine   │
└─────────────────┘               └──────────────────┘                      └──────────────────┘
                                         │                                         │
                                    Skills Library                           C# Code Execution
                                   (.skill.md files)                      (full Civil 3D API)

3 Meta-Tools

Tool Purpose Safety
civil3d_execute Execute C# code with write access (transaction committed) ⚠️ Modifies drawing
civil3d_query Execute C# code read-only (no commit) ✅ No side effects
civil3d_skills Browse/search/read code skill templates ✅ Metadata only

How It Works

  1. AI reads a skill → Gets a documented C# code template
  2. AI adapts the code → Fills in parameters, combines patterns
  3. AI sends code → Via civil3d_execute or civil3d_query
  4. Roslyn compiles + runs → Inside Civil 3D with full API access
  5. Results return as JSON → Back to the AI

Example Interaction

User: "What surfaces are in my drawing?"

AI: Uses civil3d_query with:
  var surfaces = new List();
  foreach (ObjectId id in CivilDoc.GetSurfaceIds()) {
    var s = Transaction.GetObject(id, OpenMode.ForRead) as TinSurface;
    surfaces.Add(new { s.Name, s.Layer });
  }
  return surfaces;

Result: [{ "Name": "EG", "Layer": "C-TOPO-EG" }, ...]

Skills Library

Skills are documented C# code templates in skills/:

skills/
├── surfaces/           # Surface operations
├── alignments/         # Alignment + station/offset
├── points/             # COGO points
├── geometry/           # Lines, polylines, text
├── drawing/            # Drawing info
└── workflows/          # Complex multi-object operations

Script Globals

Code executed via civil3d_execute or civil3d_query has access to:

Global Type Description
Document Document Active AutoCAD document
CivilDoc CivilDocument Active Civil 3D document
Database Database Document database
Transaction Transaction Active transaction
Editor Editor Document editor

All Civil 3D namespaces are auto-imported.

Setup

1. Build MCP Server

npm install && npm run build

2. Build Plugin

在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "civil3d": { "command": "node", "args": ["/path/to/civil3d-mcp/build/index.js"] } } }