Skip to main content
Glama

AutoCAD LT AutoLISP MCP Server

by puran-water
README.md10.8 kB
# 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 ```bash 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:** ```json { "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:** ```json { "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:** 1. Install the CTO library to `C:\PIDv4-CTO\` 2. 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 of `server_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 1. **Launch AutoCAD LT** - Create or open a drawing - Ensure command line is visible 2. **Start the Server** ```bash # For users with CTO library (recommended) start_fast_server.bat # For users without CTO library start_lisp_server.bat ``` 3. **Test the Connection** ```bash test_connection.bat ``` ## 🔧 Available Tools ### Basic Drawing Tools - `create_line`: Draw lines between points - `create_circle`: Create circles with center and radius - `create_text`: Add text labels with rotation support - `create_polyline`: Create polylines from point series - `create_rectangle`: Create rectangles from corner points - `batch_create_lines`: Create multiple lines efficiently - `batch_create_circles`: Create multiple circles efficiently - `batch_create_texts`: Create multiple text entities efficiently ### Block and Layer Management - `insert_block`: Insert blocks with attributes and positioning - `set_layer_properties`: Create/modify layers with full properties - `move_last_entity`: Move recently created entities - `update_block_attribute`: Modify block attributes after insertion ### P&ID and Process Tools (CTO Library Required) - `setup_pid_layers`: Create standard P&ID drawing layers - `insert_pid_symbol`: Insert any symbol from CTO library - `insert_pid_equipment_with_attribs`: Insert equipment with proper attributes - `insert_valve_with_attributes`: Insert valves with CTO attributes - `insert_equipment_tag`: Add equipment identification tags - `insert_equipment_description`: Add equipment description blocks - `insert_line_number_tag`: Add process line identification - `draw_process_line`: Draw process piping between points - `connect_equipment`: Connect equipment with orthogonal routing - `add_flow_arrow`: Add directional flow indicators ### Advanced Operations - `create_arc`: Create arcs with center, radius, and angles - `create_ellipse`: Create ellipses with major axis and ratio - `create_mtext`: Add multiline formatted text - `create_linear_dimension`: Add linear dimensions - `create_hatch`: Add hatching to closed areas - `list_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: ```json "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 ```python # 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: ```python # 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**: [TROUBLESHOOTING.md](TROUBLESHOOTING.md#1-lisp-files-fail-to-load) ### 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**: [TROUBLESHOOTING.md](TROUBLESHOOTING.md#window-focus-issues) ## 📊 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: 1. Update to `server_lisp_fast.py` for better performance 2. Add CTO library path if available 3. Review new P&ID tools for process drawings 4. Update Claude Desktop configuration ## 📄 License MIT License - See LICENSE file for details ## 🤝 Contributing Contributions are welcome! Please: 1. Fork the repository 2. Create a feature branch 3. Test with both CTO and non-CTO configurations 4. Submit a pull request with clear documentation ## 📞 Support - **Issues**: [GitHub Issues](https://github.com/hvkshetry/autocad-mcp/issues) - **Documentation**: [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - **Performance**: [PERFORMANCE_OPTIMIZATION.md](PERFORMANCE_OPTIMIZATION.md) --- *For detailed troubleshooting and advanced configuration, see the additional documentation files in this repository.*

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/puran-water/autocad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server