autocad-mcp
If you are the rightful owner of autocad-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.
This MCP server enables natural language control of AutoCAD LT 2024/2025 through AutoLISP code generation and execution.
AutoCAD LT AutoLISP MCP Server
This MCP server enables natural language control of AutoCAD LT 2024/2025 through AutoLISP code generation and execution. It bridges Claude or other LLM clients with AutoCAD LT for creating engineering drawings, P&ID diagrams, and technical documentation through conversational prompts.
🚀 Key Features
Core Drawing Operations
- Generates and executes AutoLISP code in AutoCAD LT 2024+
- Creates basic shapes (lines, circles, polylines, text)
- Handles block insertion with comprehensive attribute management
- Supports advanced geometry (arcs, ellipses, rectangles)
- Provides robust layer creation and management
- Creates hatches and dimensions for technical drawings
P&ID and Process Engineering (NEW)
- CTO Library Integration: Complete access to CAD Tools Online P&ID Symbol Library (600+ ISA 5.1-2009 standard symbols)
- Intelligent Attribute Handling: Proper block attributes for equipment schedules and valve lists
- Process Equipment: Pumps, valves, tanks, instruments, and process equipment
- Standard Annotations: Equipment tags, descriptions, and line numbers
- Layer Management: Industry-standard P&ID layer organization
Performance Optimizations
- Fast Mode: Optimized execution with minimal delays (80% speed improvement)
- Batch Operations: Create multiple objects in single operations
- Clipboard Integration: Efficient large script execution
- Smart Loading: Essential LISP files only for faster startup
📋 Prerequisites
- AutoCAD LT 2024 or newer (with AutoLISP support)
- Python 3.10 or higher
- Claude Desktop or other MCP client application
- Optional: CAD Tools Online P&ID Symbol Library (for full P&ID functionality)
🛠️ Setup Instructions
1. Install Dependencies
git clone https://github.com/hvkshetry/autocad-mcp.git
cd autocad-mcp
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
2. Configure Claude Desktop
For users WITH CTO Library:
{
"mcpServers": {
"autocad-mcp": {
"command": "path\\to\\autocad-mcp\\venv\\Scripts\\python.exe",
"args": ["path\\to\\autocad-mcp\\server_lisp_fast.py"]
}
}
}
For users WITHOUT CTO Library:
{
"mcpServers": {
"autocad-mcp": {
"command": "path\\to\\autocad-mcp\\venv\\Scripts\\python.exe",
"args": ["path\\to\\autocad-mcp\\server_lisp.py"]
}
}
}
3. CTO Library Setup (Optional but Recommended)
If you have the CAD Tools Online P&ID Library:
- Install the CTO library to
C:\PIDv4-CTO\
- Verify the following directories exist:
C:\PIDv4-CTO\VALVES\
C:\PIDv4-CTO\EQUIPMENT\
C:\PIDv4-CTO\PUMPS-BLOWERS\
C:\PIDv4-CTO\TANKS\
- (and other standard categories)
If you DON'T have the CTO Library:
- Use
server_lisp.py
instead ofserver_lisp_fast.py
- P&ID tools will not work, but all basic drawing operations remain available
- You can still create custom blocks and use standard AutoCAD functionality
4. Start AutoCAD and Server
-
Launch AutoCAD LT
- Create or open a drawing
- Ensure command line is visible
-
Start the Server
# For users with CTO library (recommended) start_fast_server.bat # For users without CTO library start_lisp_server.bat
-
Test the Connection
test_connection.bat
🔧 Available Tools
Basic Drawing Tools
create_line
: Draw lines between pointscreate_circle
: Create circles with center and radiuscreate_text
: Add text labels with rotation supportcreate_polyline
: Create polylines from point seriescreate_rectangle
: Create rectangles from corner pointsbatch_create_lines
: Create multiple lines efficientlybatch_create_circles
: Create multiple circles efficientlybatch_create_texts
: Create multiple text entities efficiently
Block and Layer Management
insert_block
: Insert blocks with attributes and positioningset_layer_properties
: Create/modify layers with full propertiesmove_last_entity
: Move recently created entitiesupdate_block_attribute
: Modify block attributes after insertion
P&ID and Process Tools (CTO Library Required)
setup_pid_layers
: Create standard P&ID drawing layersinsert_pid_symbol
: Insert any symbol from CTO libraryinsert_pid_equipment_with_attribs
: Insert equipment with proper attributesinsert_valve_with_attributes
: Insert valves with CTO attributesinsert_equipment_tag
: Add equipment identification tagsinsert_equipment_description
: Add equipment description blocksinsert_line_number_tag
: Add process line identificationdraw_process_line
: Draw process piping between pointsconnect_equipment
: Connect equipment with orthogonal routingadd_flow_arrow
: Add directional flow indicators
Advanced Operations
create_arc
: Create arcs with center, radius, and anglescreate_ellipse
: Create ellipses with major axis and ratiocreate_mtext
: Add multiline formatted textcreate_linear_dimension
: Add linear dimensionscreate_hatch
: Add hatching to closed areaslist_pid_symbols
: List available symbols by category
📖 Usage Examples
Basic Drawing
"Draw a line from (0,0) to (100,100)"
"Create a circle at (50,50) with radius 25"
"Add text 'Equipment Room' at position (75,125)"
P&ID Creation (with CTO Library)
"Set up P&ID layers for a new drawing"
"Insert a centrifugal pump at (100,100) with tag P-101"
"Add a gate valve at (150,100) with size 6 inches and tag V-201"
"Connect the pump P-101 to valve V-201 with process piping"
"Add equipment tag P-101 above the pump"
Process Flow Creation
"Create a wastewater treatment process with screening, primary clarifier, aeration basin, and secondary clarifier"
"Insert a clarifier at (200,100) with equipment number CL-301"
"Add line number 8"-WW-001 to the main process line"
Batch Operations
"Create 10 circles in a grid pattern with centers every 50 units"
"Draw process lines connecting all equipment in sequence"
"Add equipment tags for all pumps with sequential numbering"
🚧 Configuration for Users Without CTO Library
If you don't have the CAD Tools Online library, you can still use this MCP server effectively:
1. Use the Standard Server
Replace the server command with:
"args": ["path\\to\\autocad-mcp\\server_lisp.py"]
2. Modify P&ID Tool Calls
The following tools will not work without CTO library:
insert_pid_symbol
insert_pid_equipment_with_attribs
insert_valve_with_attributes
list_pid_symbols
3. Alternative Approaches
Instead of CTO symbols, you can:
- Use standard AutoCAD blocks
- Create simple geometric representations
- Use text labels for equipment identification
- Import your own symbol library
4. Example Alternative Usage
"Draw a circle to represent a pump at (100,100)"
"Add text 'P-101 Centrifugal Pump' next to it"
"Create a rectangle for a tank at (200,100)"
"Connect them with a line for piping"
📁 LISP Library Structure
The server loads these LISP files for functionality:
File | Purpose | Dependencies |
---|---|---|
error_handling.lsp | Base error handling and validation | None (load first) |
basic_shapes.lsp | Core drawing functions | error_handling.lsp |
batch_operations.lsp | Batch creation tools | basic_shapes.lsp |
drafting_helpers.lsp | Block and layer management | basic_shapes.lsp |
pid_tools.lsp | P&ID specific operations | drafting_helpers.lsp |
attribute_tools.lsp | Block attribute handling | pid_tools.lsp |
advanced_geometry.lsp | Extended geometry creation | basic_shapes.lsp |
advanced_entities.lsp | Complex entity creation | advanced_geometry.lsp |
annotation_helpers.lsp | Text and dimension tools | basic_shapes.lsp |
entity_modification.lsp | Entity manipulation | drafting_helpers.lsp |
⚡ Performance Optimization
Fast Mode Benefits
- 80% faster drawing operations using batch tools
- 90% faster server initialization with essential files only
- Clipboard-based script execution for complex operations
Batch Operation Examples
# Instead of 10 separate create_line calls (8 seconds)
batch_create_lines([
[0, 0, 100, 0],
[100, 0, 100, 100],
[100, 100, 0, 100],
# ... more lines
]) # Single call (0.8 seconds)
Performance Settings
Adjust performance based on your system:
# Fast systems
set_performance_mode(fast_mode=True, minimal_delay=0.03)
# Slower systems (more reliable)
set_performance_mode(fast_mode=False, minimal_delay=0.1)
🔍 Troubleshooting
Common issues and solutions:
LISP Loading Issues
- Problem: "LOAD failed" errors
- Solution: Add LISP directory to AutoCAD trusted paths
- See:
CTO Library Issues
- Problem: "File not found" for P&ID symbols
- Solution: Verify CTO installation path or use standard server
- Alternative: Use
server_lisp.py
without P&ID functionality
Window Focus Problems
- Problem: Commands not reaching AutoCAD
- Solution: Ensure AutoCAD is active, run as Administrator
- See:
📊 What's New in This Version
Version 2.0 Features
- ✅ Complete CTO Library Integration (600+ P&ID symbols)
- ✅ Intelligent Block Attributes for equipment schedules
- ✅ Fast Mode Server with 80% performance improvement
- ✅ Batch Operations for multiple object creation
- ✅ Process Engineering Tools for P&ID creation
- ✅ Industry Standard Layers for professional drawings
- ✅ Enhanced Error Handling and troubleshooting guides
Migration from v1.0
Users of the original version should:
- Update to
server_lisp_fast.py
for better performance - Add CTO library path if available
- Review new P&ID tools for process drawings
- Update Claude Desktop configuration
📄 License
MIT License - See LICENSE file for details
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Test with both CTO and non-CTO configurations
- Submit a pull request with clear documentation
📞 Support
- Issues: GitHub Issues
- Documentation:
- Performance:
For detailed troubleshooting and advanced configuration, see the additional documentation files in this repository.