# Maya MCP Server
π¨ **Control Autodesk Maya with AI through natural language**
A production-ready Model Context Protocol (MCP) server that enables AI assistants like Claude to control Autodesk Maya programmatically with 30+ comprehensive tools.




---
## β¨ Features
- **30+ Maya Tools** - Comprehensive control over Maya's features
- **No Maya Installation Required** - Uses Maya's built-in command port
- **Natural Language Interface** - Build 3D scenes through conversation
- **Production Ready** - Error handling, logging, validation
- **Fully Documented** - Extensive guides and examples
### What You Can Do
- β
Create any primitive shape (19 types)
- β
Advanced mesh modeling (extrude, bevel, smooth, boolean)
- β
Professional materials and lighting
- β
Scene organization and hierarchy
- β
Procedural generation (arrays, grids, patterns)
- β
Animation keyframes
- β
Deformers and non-destructive editing
---
## π Quick Start
### Prerequisites
- Python 3.8 or higher
- Autodesk Maya 2020 or higher
- Claude Desktop (or any MCP-compatible client)
### Installation (2 Minutes)
**1. Install Python dependencies:**
```bash
cd maya-mcp-server
pip install -r requirements.txt
```
**2. Open Maya command port:**
In Maya Script Editor (Python tab):
```python
import maya.cmds as cmds
cmds.commandPort(name="localhost:4434", sourceType="python", echoOutput=False)
print("β Maya ready for MCP!")
```
**3. Configure Claude Desktop:**
Edit config file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"maya": {
"command": "python3",
"args": ["/FULL/PATH/TO/maya-mcp-server/src/expanded_mcp_server.py"],
"env": {
"MAYA_HOST": "localhost",
"MAYA_PORT": "4434"
}
}
}
}
```
**4. Restart Claude Desktop**
**5. Start creating!**
> "Create a torus, bevel its edges, add a gold metallic material"
---
## π Documentation
| Document | Description |
|----------|-------------|
| [Quick Start](docs/QUICK_START.md) | Get running in 2 minutes |
| [Tools Reference](docs/TOOLS_REFERENCE.md) | All 30+ tools documented |
| [Examples](docs/EXAMPLES.md) | Learn by example |
| [Troubleshooting](docs/TROUBLESHOOTING.md) | Common issues solved |
---
## π― Example Usage
### Simple
```
You: "Create a sphere"
Maya: β Creates sphere at origin
```
### Intermediate
```
You: "Create a cube, scale it to [10, 5, 10], bevel edges with 0.2 offset"
Maya: β Creates beveled box
```
### Advanced
```
You: "Build a castle with keep, 4 towers, walls with gate cutout, stone material"
Maya: β Creates complete castle scene
```
---
## π οΈ Available Tools (30+)
| Category | Tools |
|----------|-------|
| **Primitives** | 19 types (polygon + NURBS) |
| **Mesh Ops** | Extrude, Bevel, Smooth, Boolean, Combine, Separate |
| **Lighting** | Point, Directional, Spot, Area, Ambient, Volume |
| **Materials** | Lambert, Blinn, Phong, PBR |
| **Organization** | Group, Parent, Arrange (grid/circle), Duplicate |
| **Animation** | Keyframe transforms |
| **Plus** | Cameras, Curves, Deformers |
See [Tools Reference](docs/TOOLS_REFERENCE.md) for details.
---
## π Project Structure
```
maya-mcp-server/
βββ src/
β βββ expanded_mcp_server.py # Main server (30+ tools)
β βββ simplified_mcp_server.py # Basic version (6 tools)
β βββ maya_setup.py # Quick Maya setup
βββ docs/
β βββ QUICK_START.md # Setup guide
β βββ TOOLS_REFERENCE.md # Tool docs
β βββ EXAMPLES.md # Tutorials
β βββ TROUBLESHOOTING.md # Help
βββ examples/
β βββ example_prompts.md # Sample prompts
βββ tests/
β βββ test_connection.py # Connection test
βββ README.md # This file
βββ requirements.txt # Dependencies
βββ setup.py # Installer
βββ LICENSE # MIT License
```
---
## π§ͺ Testing
Test Maya connection:
```bash
python tests/test_connection.py
```
---
## π§ Configuration
Environment variables:
- `MAYA_HOST` - Maya hostname (default: localhost)
- `MAYA_PORT` - Command port (default: 4434)
---
## π‘ Tips
1. **Use descriptive names**: `tree_trunk` not `cube1`
2. **Combine operations**: Do multiple things in one prompt
3. **Build hierarchies**: Use grouping and parenting
4. **Leverage strengths**: NURBS for organic, polygons for hard surface
---
## π Troubleshooting
**"Could not connect to Maya"**
- Verify Maya is running
- Check: `cmds.commandPort("localhost:4434", query=True)`
See [Troubleshooting Guide](docs/TROUBLESHOOTING.md)
---
## π License
MIT License - Free to use and modify
---
## π Acknowledgments
- Anthropic - Model Context Protocol
- Autodesk - Maya Python API
- PatrickPalmer - [MayaMCP](https://github.com/PatrickPalmer/MayaMCP) inspiration
---
## π Get Started
1. Read [Quick Start Guide](docs/QUICK_START.md)
2. Try [Example Prompts](examples/example_prompts.md)
3. Build something amazing!
**Ready to build 3D worlds with AI?** π¨β¨