Skip to main content
Glama

AutoCAD MCP Server v0.1

A Model Context Protocol (MCP) server that enables AI agents to interact with AutoCAD through Python automation. This server provides basic drawing tools for creating geometric shapes and elements in AutoCAD.

šŸš€ Features

  • Basic Drawing Tools: Lines, polylines, rectangles, circles, ellipses, and arcs

  • AI Agent Integration: Compatible with MCP-enabled AI assistants

  • Real-time AutoCAD Control: Direct integration with running AutoCAD instances

  • Simple Setup: Easy configuration and deployment

Related MCP server: AutoCAD MCP Server

šŸ“‹ Available Tools

Tool

Description

Parameters

draw_line

Draw a line between two points

x1, y1, x2, y2

draw_polyline

Draw a polyline through multiple points

points (list of [x, y] pairs)

draw_rectangle

Draw a rectangle with opposite corners

x1, y1, x2, y2

draw_circle

Draw a circle with center and radius

x, y, radius

draw_ellipse

Draw an ellipse with center and axes

x, y, major, minor

draw_arc

Draw an arc with center, radius, and angles

x, y, radius, start_angle, end_angle

šŸ› ļø Prerequisites

  • AutoCAD: Must be installed and running on Windows

  • Python: 3.8 or higher

  • uv: Python package manager (recommended)

šŸ“¦ Installation

  1. Clone this repository:

git clone https://github.com/vigneshpbmenon/autocad-mcp-server.git
cd autocad-mcp-server
  1. Install dependencies:

uv sync

Or with pip:

pip install -r requirements.txt

āš™ļø Configuration

  1. Ensure AutoCAD is running on your system

  2. Add the server configuration to your MCP client:

{
  "mcpServers": {
    "autocad": {
      "command": "uv",
      "args": ["run", "python", "server.py"]
    }
  }
}

šŸš€ Usage

Starting the Server

uv run python server.py

Example AI Agent Commands

Once connected to an MCP-enabled AI assistant, you can use natural language commands:

  • "Draw a line from (0,0) to (10,10)"

  • "Create a rectangle with corners at (5,5) and (15,15)"

  • "Draw a circle at the origin with radius 5"

  • "Make an arc centered at (10,10) with radius 8 from 0° to 90°"

Direct API Usage

from mcp.client import Client

# Connect to the server
client = Client()

# Draw a line
result = client.call_tool("draw_line", {
    "x1": 0, "y1": 0, 
    "x2": 10, "y2": 10
})

# Draw a circle
result = client.call_tool("draw_circle", {
    "x": 5, "y": 5, 
    "radius": 3
})

šŸ”§ Development

Project Structure

autocad-mcp-server/
ā”œā”€ā”€ server.py              # Main MCP server implementation
ā”œā”€ā”€ server_config.json     # Server configuration
ā”œā”€ā”€ requirements.txt       # Python dependencies
ā”œā”€ā”€ README.md             # This file
└── LICENSE               # MIT License

Adding New Tools

To add a new drawing tool:

  1. Define the tool function with the @mcp.tool decorator

  2. Use the pyautocad library to interact with AutoCAD

  3. Return a descriptive string about the action performed

Example:

@mcp.tool(
    name="draw_polygon",
    description="Draw a regular polygon with n sides."
)
def draw_polygon(x: float, y: float, radius: float, sides: int) -> str:
    # Implementation here
    return f"Drew {sides}-sided polygon at ({x}, {y})"

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

šŸ“ Version History

  • v0.1 - Initial release with basic drawing tools

    • Lines, polylines, rectangles, circles, ellipses, and arcs

    • Basic MCP server implementation

    • AutoCAD integration via pyautocad

šŸ”® Roadmap

  • Advanced drawing tools (splines, hatches, dimensions)

  • Layer management

  • Block insertion and manipulation

  • 3D drawing capabilities

  • Drawing modification tools (move, copy, rotate, scale)

  • File operations (open, save, import, export)

āš ļø Known Limitations

  • Windows only (due to AutoCAD COM interface requirements)

  • Requires AutoCAD to be running

  • Basic error handling (improvements planned for v0.2)

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™ Acknowledgments

  • FastMCP for the MCP server framework

  • pyautocad for AutoCAD automation

  • The Model Context Protocol community

šŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page

  2. Create a new issue with detailed information

  3. Join the discussion in the MCP community


Note: This is version 0.1 - a foundational release. More advanced features and tools are in development and will be released in future versions.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with AutoCAD through Python automation, providing basic drawing tools for creating geometric shapes and elements such as lines, polylines, rectangles, circles, ellipses, and arcs.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants such as Claude for Desktop or Cursor to control CAD applications (AutoCAD, ZWCAD, GstarCAD, BricsCAD) on Windows through 7 unified tools exposing 56 commands. Supports drawing shapes, managing layers, blocks and entities, extracting data, exporting to Excel, and saving drawings via natural language or direct tool calls.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables an AI assistant to control Autodesk AutoCAD on Windows via COM automation, drawing geometry, creating architectural structures like walls, doors, windows and rooms, managing layers and cleaning up drawings in real time. Also supports working across multiple open documents, batch operations and entity querying and deletion.
    MIT