Daz Pilot
DazPilot
Disclaimer: This plug‑in is not affiliated with, endorsed by, or sponsored by DAZ 3D.
MCP server for AI-driven DAZ Studio scene editing. Runs as a native DAZ Studio plugin (DLL) and exposes all scene control, rendering, dForce, asset, and animation commands through the Model Context Protocol.
How It Works
Claude Desktop ──stdio──> daz-mcp-client.py ──HTTP POST /mcp──> DazPilot (DLL inside DAZ Studio)The plugin hosts an HTTP server on
127.0.0.1:8765serving a single endpointPOST /mcpClients send JSON-RPC 2.0 messages with MCP methods:
initialize,tools/list,tools/callEach command maps to DAZ Studio SDK calls executed on DAZ's main thread
The Python shim
daz-mcp-client.pytranslates MCP stdio transport to HTTP for Claude Desktop
Related MCP server: RevitMCPBridge2026
196 Commands
All categories — scene, selection, properties, materials, morphs, cameras, lights, rendering, assets, animation, dForce simulation, poses, clothing, hair, environment, export, viewport, rigging, scripting, mesh queries.
Build
Prerequisites
CMake 3.15+
C++17 compiler (MSVC 2019+)
DAZ Studio 4.5+ SDK (place the SDK in a folder named
thirdpartyat the repository root; obtain it from DAZ or your own source, it is not pulled automatically)
Quick Start
cmake -B build -DDAZ_SDK_ROOT="C:\Program Files\DAZ 3D\DAZStudio4\SDK"
cmake --build build --config ReleaseHeader-only test build (no SDK):
cmake -B build -DBUILD_TESTS=ON
cmake --build build --config ReleaseInstall
Copy DazPilot.dll to your DAZ Studio plugins directory:
C:\Program Files\DAZ 3D\DAZStudio4\plugins\Restart DAZ Studio. The server starts automatically on port 8765.
Direct HTTP usage
If you prefer to talk to the MCP server directly (without the Python shim), you can POST JSON‑RPC requests to the plugin’s HTTP endpoint. The server runs at http://127.0.0.1:8765/mcp and follows the JSON‑RPC 2.0 specification.
Using curl
curl -X POST http://127.0.0.1:8765/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'The response will be a JSON object containing the list of available commands.
Using Python (requests)
import requests
payload = {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
resp = requests.post('http://127.0.0.1:8765/mcp', json=payload)
print(resp.json())Using JavaScript (Fetch API)
fetch('http://127.0.0.1:8765/mcp', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list', params: {} })
})
.then(r => r.json())
.then(console.log);All other methods described in the MCP Protocol section work the same way – just replace the method and params fields. The plugin will reply with a JSON‑RPC response containing either result or error.
{
"mcpServers": {
"dazpilot": {
"command": "python",
"args": ["path/to/daz-mcp-client.py"]
}
}
}The shim forwards stdio JSON-RPC to http://127.0.0.1:8765/mcp.
MCP Protocol
The plugin implements Streamable HTTP transport:
Endpoint:
POST http://127.0.0.1:8765/mcpContent-Type:
application/jsonBody: JSON-RPC 2.0 request object
Methods
Method | Purpose |
| Server capabilities & version |
| List all 196 commands |
| Execute a command |
Example
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_scene_info","arguments":{}}}License
MIT
This server cannot be installed
Maintenance
Latest Blog Posts
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/millsydotdev/DazPilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server