Civil 3D MCP Server

An MCP server for interacting with Autodesk Civil 3D, requiring a companion plugin and Node.js 18+.

Documentation

Civil 3D MCP Server

An MCP (Model Context Protocol) server that enables AI assistants (Claude, Cline, etc.) to interact with Autodesk Civil 3D through natural language.

Architecture

┌─────────────────┐     stdio      ┌──────────────────┐     TCP/JSON-RPC    ┌──────────────────┐
│   AI Assistant   │ ◄────────────► │  MCP Server (TS) │ ◄──────────────────► │  Civil 3D Plugin │
│ (Claude, Cline)  │               │   Node.js         │     port 8080       │   (.NET 8.0 C#)  │
└─────────────────┘               └──────────────────┘                      └──────────────────┘
                                                                                     │
                                                                              Civil 3D API
                                                                            (Surfaces, Alignments,
                                                                             Points, Corridors...)

The system has two components:

  1. MCP Server (TypeScript/Node.js) — Communicates with AI assistants via MCP protocol
  2. Civil 3D Plugin (C# .NET 8.0) — Runs inside Civil 3D and executes API commands

Available Tools

ToolActionsDescription
civil3d_healthhealthCheck plugin connectivity
civil3d_drawinginfo, settings, save, undo, redo, list_object_types, get_selectedDrawing operations
civil3d_surfacelist, get, get_elevation, get_statistics, create, delete, add_points, add_breakline, add_boundary, extract_contours, compute_volumeSurface management
civil3d_alignmentlist, get, create, delete, station_to_point, point_to_stationAlignment operations
civil3d_profilelist, get, get_elevation, create_from_surface, create_layout, deleteProfile management
civil3d_corridorlist, get, rebuild, get_surfaces, get_feature_lines, compute_volumesCorridor operations
civil3d_pipelist_networks, get_network, get_pipe, get_structure, create_network, add_pipe, add_structure, check_interferencePipe networks
civil3d_pointlist, get, create, delete, list_groups, importCOGO points
civil3d_geometrycreate_line, create_polyline, create_3d_polyline, create_text, create_mtextBasic AutoCAD geometry

Setup

1. Build the MCP Server

npm install npm run build

2. Build the Civil 3D Plugin

  1. Copy the required DLLs from your Civil 3D installation to C_References/ (see C_References/README.md)
  2. Build the plugin:

cd plugin/Civil3dMcpPlugin dotnet build

3. Load the Plugin in Civil 3D

  1. Open Civil 3D 2025+
  2. Type NETLOAD in the command line
  3. Browse to plugin/Civil3dMcpPlugin/bin/Debug/net8.0-windows/Civil3dMcpPlugin.dll
  4. The plugin starts automatically. Use C3DMCPSTATUS to verify.

4. Configure Your AI Assistant

Claude Desktop — Add to claude_desktop_config.json:

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

Environment Variables

VariableDefaultDescription
CIVIL3D_HOSTlocalhostCivil 3D plugin host
CIVIL3D_PORT8080Civil 3D plugin port
CIVIL3D_CONNECT_TIMEOUT5000Connection timeout (ms)
CIVIL3D_COMMAND_TIMEOUT120000Command execution timeout (ms)
LOG_LEVELinfoLog level (debug, info, warn, error)

Plugin Commands

CommandDescription
C3DMCPSTARTStart the TCP listener
C3DMCPSTOPStop the TCP listener
C3DMCPSTATUSCheck listener status

License

MIT