AgentStack
MCP verified MIT Self-run

Civil3D Mcp

mcp-sacred-g-civil3d-mcp · by Sacred-G

Civil3d MCP server - 180 tools , Knowledge Base, Control UI, Automation

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add mcp-sacred-g-civil3d-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Civil3D Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Civil3D-MCP Server

Connect Claude, Cursor, Cline, and other MCP clients directly to a live Autodesk Civil 3D drawing. Node.js MCP server + native Civil 3D plugin + workflow automation for grading, hydrology, plan production, QC, and data shortcuts.

[](https://nodejs.org) [](https://www.typescriptlang.org) [](./LICENSE) [](https://modelcontextprotocol.io) [](https://www.autodesk.com/products/civil-3d) [](https://github.com/Sacred-G/Civil3D-mcp/issues)

Quick Start • Installation • Deployment • Tool Reference


What Is This?

Civil3D-MCP bridges AI assistants (Claude, Cline, Cursor, etc.) to a live, open Civil 3D drawing using the Model Context Protocol. Give Claude your design brief — it reads your drawing, runs calculations, and makes changes in real time.

AI Client  ↔  civil3d-mcp (Node.js / stdio)  ↔  HTTP :8765  ↔  Civil3D-MCP-Plugin.dll (inside Civil 3D)

This is the MCP server (TypeScript). You also need the Civil 3D .NET plugin — see [Installation](#installation).

What Changed Recently

  • Native workflow handlers now cover major QC, grading, hydrology, plan-production, and data-shortcut flows instead of relying only on client-side orchestration.
  • Claude Code can now be registered with a single project-scoped command that installs dependencies, builds the Node server, and writes the repo .mcp.json entry.
  • Repository-generated tool inventories live in [output_repo_tools](./outputrepotools), making it easier to audit what is already implemented versus what still belongs on the roadmap.

Quick Start

If you want the fastest path from clone to a working Claude + Civil 3D setup on Windows:

  1. Clone and build the Node side:

``bash git clone https://github.com/Sacred-G/Civil3D-mcp.git cd Civil3D-mcp npm install npm run build ``

  1. Build and NETLOAD the Civil 3D plugin:

``powershell dotnet build .\Civil3D-MCP-Plugin\Civil3DMcpPlugin.csproj -c Release ``

  1. Register Claude Code for this repo:

``powershell npm run claude:add ``

  1. Open Civil 3D, load the plugin, and start asking for real work:
  • "Audit this drawing before design starts."
  • "Create a grading surface from this feature line."
  • "Delineate the watershed and estimate runoff."
  • "Publish the plan/profile sheets to PDF."

Features

  • 180+ MCP tools covering the complete Civil 3D design workflow
  • Native workflow execution for corridor QC, surface comparison, project startup, grading conversion, plan publish, data shortcuts, and hydrology pipelines
  • Full road design pipeline — alignments, profiles, corridors, cross-sections, superelevation
  • Surface analysis — elevation bands, slope distribution, aspect, watershed, cut/fill volumes
  • Pipe & pressure network design, validation, and hydraulic analysis
  • Plan production — sheet sets, Plan/Profile sheets, PDF export
  • QC checks — alignment, profile, corridor, surface, pipe network, drawing standards
  • Quantity takeoff — earthwork, corridor materials, pipe lengths, parcel areas, CSV export
  • Cost estimation — pay items, material costs, construction estimates
  • Hydrology — flow path tracing, watershed delineation, Rational Method runoff, time of concentration
  • Grading — feature lines, grading groups, grading criteria, surface generation
  • COGO/Survey — inverse, traverse, curve solve, survey figures, LandXML import
  • Storm & Sanitary Analysis (SSA) integration and detention basin sizing
  • Intersection design and corridor target mapping
  • Sight distance calculations and AASHTO stopping sight distance checks
  • Assembly/subassembly creation and editing

Architecture

flowchart LR
    Client["AI Client\n(Claude / Cline / Cursor)"] -->|"MCP stdio"| Server["civil3d-mcp\nNode.js MCP Server"]
    Server -->|"POST :8765/execute"| Plugin

    subgraph Civil3D ["Autodesk Civil 3D"]
        Plugin["Civil3D-MCP-Plugin.dll\nHTTP Listener"]
        Queue["ConcurrentQueue\n(thread-safe)"]
        Idle["Application.Idle\n(main thread)"]
        Router["CommandRouter"]
        API["Civil 3D .NET API"]

        Plugin --> Queue --> Idle --> Router --> API
    end

> Why Application.Idle? Civil 3D (like Blender) requires all database operations on the main thread. The plugin queues incoming HTTP requests and drains the queue on the main thread's idle event — giving full, safe access to the Civil 3D .NET API.


Requirements

| Component | Version | |---|---| | Node.js | 18+ | | Civil 3D | 2023, 2024, 2025, or 2026 | | .NET SDK | 8.0 | | Civil 3D API refs | Local DLLs in C_References/ | | Visual Studio | 2022 recommended |


Installation

1 — Build the MCP Server (TypeScript)

git clone https://github.com/Sacred-G/Civil3D-mcp.git
cd Civil3D-mcp
npm install
npm run build

1.5 — One-Line Claude Code Setup

From the repo root on Windows, this project-scoped command adds the MCP server to Claude Code and creates the repo .mcp.json entry automatically:

claude mcp add --scope project --transport stdio civil3d-mcp -- powershell -NoProfile -ExecutionPolicy Bypass -File "$PWD\scripts\claude-bootstrap-and-run.ps1"

The registered launcher will automatically install npm dependencies and build the Node server the first time Claude starts it.

If you want a wrapper that does the install, build, and claude mcp add step for you immediately, run:

npm run claude:add

Useful variants:

npm run claude:add:user
npm run claude:print-add

2 — Build & Load the C# Plugin

Prerequisites: Civil 3D 2023+, .NET 8 SDK, and local Civil 3D API assemblies copied into C_References/

dotnet build .\Civil3D-MCP-Plugin\Civil3DMcpPlugin.csproj -c Release
# Output: Civil3D-MCP-Plugin\bin\Release\net8.0-windows\Civil3DMcpPlugin.dll

The plugin project resolves Autodesk references from [C_References](./C_References). At minimum, make sure these local DLLs are present:

accoremgd.dll
AcDbMgd.dll
acmgd.dll
AecBaseMgd.dll
AeccDbMgd.dll

Load into Civil 3D:

| Method | Steps | |---|---| | Manual (NETLOAD) | Open Civil 3D → type NETLOAD → browse to Civil3D-MCP-Plugin.dll | | Autoload (recommended) | Add registry key — see [DEPLOYMENT.md](./docs/DEPLOYMENT.md) |

Once loaded, three commands are available in the Civil 3D command line:

| Command | Description | |---|---| | MCPSTART | Start the HTTP server (auto-starts on load) | | MCPSTOP | Stop the HTTP server | | MCPSTATUS | Show server status and port |

3 — Configure Your AI Client

Recommended for Claude Code

npm run claude:add

That command registers the bootstrap launcher in Claude Code and keeps the repo self-contained. Use npm run claude:print-add if you want to inspect the exact claude mcp add command without modifying config.

Claude Desktopclaude_desktop_config.json:

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

Claude Code — add via CLI:

claude mcp add --scope project --transport stdio civil3d-mcp -- powershell -NoProfile -ExecutionPolicy Bypass -File "$PWD\scripts\claude-bootstrap-and-run.ps1"

Restart your client. When you see the hammer icon, the MCP connection is live.

> For Docker, npm publishing, environment variables, and alternate deployment paths see [docs/DEPLOYMENT.md](./docs/DEPLOYMENT.md).


Example Conversations

> "What alignments are in this drawing and how long is each one?" > → civil3d_alignment → returns names, station ranges, lengths

> "Run a full QC check on the corridor and give me a report." > → civil3d_workflow_corridor_qc_report → checks targets, regions, rebuild errors, exports report

> "Trace the flow path from coordinate (5000, 3200) and estimate the peak runoff using the Rational Method." > → civil3d_hydrology_watershed_runoff_workflow → delineates watershed, calculates Q=CiA

> "Create a Plan/Profile sheet set for alignment 'Mainline' and export to PDF." > → civil3d_plan_profile_sheet_createcivil3d_workflow_plan_production_publish

> "Size the storm drain network for a 10-year storm and check all pipe velocities." > → civil3d_pipe_network_sizecivil3d_pipe_network_hydraulics

> "Calculate cut/fill volumes between the existing ground and proposed surface." > → civil3d_surface_volume_calculatecivil3d_surface_volume_report


Tool Reference (180+ tools)

Drawing Info & Context (7 tools)

| Tool | Description | |------|-------------| | get_drawing_info | Retrieves basic information about the active Civil 3D drawing | | list_civil_object_types | Lists major Civil 3D object types present in the current drawing | | get_selected_civil_objects_info | Gets properties of currently selected Civil 3D objects | | civil3d_health | Reports Civil 3D connection and plugin status | | civil3d_drawing | Manages drawing state, document info, save/undo operations | | civil3d_job | Checks status of long-running async operations or requests cancellation | | list_tool_capabilities | Lists domain and capability metadata for the full MCP tool catalog |

Drawing Primitives (6 tools)

| Tool | Description | |------|-------------| | create_cogo_point | Creates a single COGO point | | create_line_segment | Creates a simple line segment | | acad_create_polyline | Creates an AutoCAD 2D polyline in model space | | acad_create_3dpolyline | Creates an AutoCAD 3D polyline in model space | | acad_create_text | Creates AutoCAD DBText in model space | | acad_create_mtext | Creates AutoCAD MText in model space |

Alignment (10 tools)

| Tool | Description | |------|-------------| | civil3d_alignment | Reads alignments, converts stationing, create/delete | | civil3d_alignment_report | Builds structured alignment geometry report | | civil3d_alignment_get_station_offset | Returns station/offset of an XY point relative to an alignment | | civil3d_alignment_add_tangent | Appends a fixed tangent entity to an alignment | | civil3d_alignment_add_curve | Appends a fixed horizontal curve to an alignment | | civil3d_alignment_add_spiral | Appends a spiral (transition curve) to an alignment | | civil3d_alignment_delete_entity | Deletes a tangent/curve/spiral entity by index | | civil3d_alignment_offset_create | Creates a new offset alignment at a constant distance | | civil3d_alignment_set_station_equation | Adds a station equation to an alignment | | civil3d_alignment_widen_transition | Creates a variable-offset widening/narrowing transition region |

Profile (10 tools)

| Tool | Description | |------|-------------| | civil3d_profile | Reads profiles, create/delete | | civil3d_profile_report | Builds structured profile report with station/elevation sampling | | civil3d_profile_get_elevation | Samples elevation and grade at a given station | | civil3d_profile_add_pvi | Adds a PVI to a layout profile | | civil3d_profile_add_curve | Adds a parabolic vertical curve at an existing PVI | | civil3d_profile_delete_pvi | Deletes the PVI nearest to a specified station | | civil3d_profile_set_grade | Sets the grade of a tangent entity | | civil3d_profile_check_k_values | Validates K-values against AASHTO minimums for design speed | | civil3d_profile_view_create | Creates a profile view at a specified insertion point | | civil3d_profile_view_band_set | Applies a band set style to an existing profile view |

Superelevation (4 tools)

| Tool | Description | |------|-------------| | civil3d_superelevation_get | Retrieve superelevation design data for an alignment | | civil3d_superelevation_set | Apply superelevation using AASHTO attainment method | | civil3d_superelevation_design_check | Validate max superelevation rates and attainment lengths | | civil3d_superelevation_report | Generate formatted superelevation report |

Surface (15 tools)

| Tool | Description | |------|-------------| | civil3d_surface | Reads surface data, create/delete | | civil3d_surface_edit | Modifies surface data: points, breaklines, boundaries, contours | | civil3d_surface_statistics_get | Comprehensive statistics: elevation range, area, point/triangle count | | civil3d_surface_contour_interval_set | Set minor and major contour display intervals | | civil3d_surface_sample_elevations | Sample elevations at grid points, discrete points, or transect | | civil3d_surface_analyze_elevation | Elevation band distribution (area and percentage per band) | | civil3d_surface_analyze_slope | Slope distribution (area and percentage per slope range) | | civil3d_surface_analyze_directions | Aspect/facing direction breakdown by cardinal sectors | | civil3d_surface_volume_calculate | Calculate cut/fill volumes between two surfaces | | civil3d_surface_volume_by_region | Cut/fill volumes within a polygon region | | civil3d_surface_volume_report | Formatted human-readable cut/fill volume report | | civil3d_surface_comparison_workflow | Structured two-surface comparison with cut/fill volumes | | civil3d_surface_create_from_dem | Create TIN surface from DEM file (.dem, .tif, .asc, .flt) | | civil3d_surface_watershed_add | Add watershed analysis: drainage basins and flow paths | | civil3d_surface_drainage_workflow | Surface drainage workflow: flow path, elevation sampling, runoff estimate |

Corridor (6 tools)

| Tool | Description | |------|-------------| | civil3d_corridor | Reads corridor data, rebuild, volume operations | | civil3d_corridor_summary | Builds corridor summary with surfaces and volume analysis | | civil3d_corridor_target_mapping_get | Retrieve subassembly target mappings for a corridor | | civil3d_corridor_target_mapping_set | Set/update subassembly target mappings (surfaces, alignments, profiles) | | civil3d_corridor_region_add | Add a new region to a corridor baseline | | civil3d_corridor_region_delete | Delete a region from a corridor baseline |

Sections & Section Views (6 tools)

| Tool | Description | |------|-------------| | civil3d_section | Reads section data, sample line creation | | civil3d_section_view_create | Create section views for a sample line group | | civil3d_section_view_list | List section views in the drawing | | civil3d_section_view_update_style | Update display/band set style on existing section views | | civil3d_section_view_group_create | Create a multi-row grid layout of section views | | civil3d_section_view_export | Export section data to CSV/text (offsets, elevations, materials) |

Intersection Design (3 tools)

| Tool | Description | |------|-------------| | civil3d_intersection_list | List all intersections in the drawing | | civil3d_intersection_create | Create an intersection between two road alignments | | civil3d_intersection_get | Get detailed properties of an intersection |

Grading & Feature Lines (14 tools)

| Tool | Description | |------|-------------| | civil3d_grading | Canonical grading domain tool for groups, gradings, criteria, and feature-line actions | | civil3d_feature_line | Reads feature lines and exports them as 3D polylines | | civil3d_feature_line_create | Create a new feature line from 3D points | | civil3d_grading_group_list | List all grading groups in the drawing | | civil3d_grading_group_create | Create a new grading group | | civil3d_grading_group_get | Get detailed info about a grading group | | civil3d_grading_group_delete | Delete a grading group and all its gradings | | civil3d_grading_group_volume | Get cut/fill volume report for a grading group | | civil3d_grading_group_surface_create | Create a surface from a grading group | | civil3d_grading_criteria_list | List all available grad

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.