BC

barbosaihan/civil3d-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

45 stars 20 forks Качество 82 Тренд 22MIT

AI-Powered Civil 3D моделирование

Обзор

MCP-сервер, который позволяет ИИ-помощникам непосредственно в Autodesk Civil 3D. Вместо фиксированных инструментов ИИ генерирует код, который работает с полным доступом к API. 1. → Получает задокументированный шаблон кода C# 2. → Заполняется параметрами, объединяет шаблоны 3. → Через Civil3d execute или Civil3d query 4. → Внутри Civil 3D с полным доступом к API 5. → Вернуться к ИИ Навыки документированы шаблоны кода C# в навыках /: Код, выполняемый через Civil3d execute или Civil3d query, имеет доступ к: Все пространства имен Civil 3D импортируются автоматически. Блоки песочницы Рослин: - Исполнение процессов (Process.Start) - Удаление файлов (File.Delete) - Сетевые запросы (HttpClient, Sockets) - Доступ к реестру - Динамическая загрузка сборки Допускаются все операции гражданского 3D API.

Обзор (машинный перевод)

MCP-сервер, который позволяет ИИ-ассистентам ** писать и выполнять код C#** непосредственно в Autodesk Civil 3D. Вместо фиксированных инструментов ИИ генерирует код, который работает с полным доступом к API.

Архитектура

##3 Метаинструменты

| Инструмент | Цель | Безопасность [скрыто] [скрыто] [скрыто] [скрыто] [скрыто] | civil3d_execute | Исполнить код C# с доступом write (совершенная транзакция) | ️ Изменяет рисунок | |civil3d_query | Исполнить код C# только для чтения (без обязательств) | Без побочных эффектов | | civil3d_skills | Шаблоны навыков просмотра/поиска/чтения кода | ✅ Только метаданные |

###Как это работает

  1. **AI читает навык ** → Получает задокументированный шаблон кода C#
  2. **AI адаптирует код ** → Заполняет параметры, комбинирует шаблоны
  3. **AI отправляет код ** → Via civil3d_execute или civil3d_query
  4. **Roslyn компилирует + запускает ** → Inside Civil 3D с полным доступом к API
  5. Результаты возвращаются как JSON

Пример взаимодействия

Библиотека навыков

Навыки документированы шаблоны кода C# в skills/:

###Сценаристский мир

Код, выполненный через civil3d_execute или civil3d_query, имеет доступ:

| Глобальный | Тип | Описание

Document | Document | Документ Active AutoCAD |

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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

Открыть полный README на GitHub

Установка

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

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

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