Civil 3D MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level | info |
| CIVIL3D_HOST | No | Plugin host | localhost |
| CIVIL3D_PORT | No | Plugin port | 8080 |
| CIVIL3D_COMMAND_TIMEOUT | No | Execution timeout in milliseconds | 120000 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| civil3d_healthA | Check Civil 3D MCP connection health. Returns plugin status, Civil 3D version, active drawing info, and queue state. Call this first to verify Civil 3D is running and the plugin is loaded. |
| civil3d_statusA | Get real-time status of the Civil 3D plugin operation queue and any in-progress task. Use during long operations (corridor rebuild, surface build) to check elapsed time without blocking the current operation. |
| civil3d_discoverA | Discover and inventory Civil 3D drawing objects without writing C# code. Returns structured JSON for surfaces, alignments, profiles, corridors, pipe networks, sites, parcels, COGO points, sample lines, and styles. Use this FIRST to understand what exists in the drawing before executing code. |
| civil3d_auditA | Read the audit log of Civil 3D MCP operations. Shows timestamp, method, description, success/failure, and duration for each operation. Useful for debugging and traceability. |
| civil3d_securityA | Read the Civil 3D MCP security policy: sandbox mode (strict/professional/unlocked), allowed file export paths, and whether destructive operations require confirmed: true. Call this before file exports or destructive writes. |
| civil3d_executeA | Execute C# code in Civil 3D with write access. The code runs inside a committed transaction. Available globals: Document/Doc, CivilDoc/Civil, Database, Transaction/Tr, Editor. Helpers: GetSurfaceByName, GetAlignmentByName, ListSurfaces, ListAlignments, ToRef, ToPoint. All Civil 3D namespaces are auto-imported. Return a value to get results back as JSON. Use civil3d_session for multi-step workflows. Use civil3d_command for native C3D commands. |
| civil3d_queryA | Execute C# code in Civil 3D in READ-ONLY mode (no changes saved). Available globals: Document/Doc, CivilDoc/Civil, Database, Transaction/Tr, Editor. Helpers: GetSurfaceByName, GetAlignmentByName, ListSurfaces, ListAlignments, ListCogoPoints. All Civil 3D namespaces are auto-imported. Return a value to get results as JSON. Use this for querying data: listing objects, getting properties, analyzing surfaces, etc. |
| civil3d_commandA | Execute a native Civil 3D or AutoCAD command string (same as typing in the command line). Use for operations not easily done via C# API: CREATECORRIDOR, EXPORTLANDXML, etc. Prefer civil3d_execute/civil3d_query when the C# API is sufficient. |
| civil3d_sessionA | Manage multi-step Civil 3D script sessions with a shared transaction. Use 'begin' to start, 'execute' for each script step (no commit), 'commit' to save all changes, or 'abort' to discard. Useful for complex workflows that need multiple code steps in one transaction. |
| civil3d_skillsA | Browse and read Civil 3D code skills (documented C# code templates). Use 'list' to see available skills, 'search' to find by keyword, 'get' to read the full skill with code template. Skills are pre-built C# patterns you can adapt and execute via civil3d_execute or civil3d_query. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SantosSjba/mcp-to-c3d'
If you have feedback or need assistance with the MCP directory API, please join our Discord server