MCP server that exposes Blender control tools to AI clients (Claude, Gemini, Cursor, Ollama, and more)
Project description
JustThreed — control Blender with natural language
JustThreed is a Python MCP server that exposes Blender control tools to any Model Context Protocol (MCP) compatible AI client — Claude Desktop, Claude Code, Gemini CLI, Cursor, VSCode, Ollama, and more. Describe what you want in plain English and watch Blender build it:
"Create a low poly cabin in the woods with warm lighting"
"Add a stone texture to the ground plane"
"Render the scene from a top-down angle"
This package is the AI-client-side half of JustThreed. The other half is a
Blender addon that opens a TCP socket on localhost:9876 and executes the
tool calls against the bpy API. You need both pieces installed for
anything to work — see the full setup guide in the repository.
- Repository & full docs: https://github.com/Phanikondru/justthreed
- Issues: https://github.com/Phanikondru/justthreed/issues
- Sponsor: https://github.com/sponsors/Phanikondru
Quick install
Assuming the Blender addon is already installed and its MCP socket server is running on port 9876, add JustThreed to your AI client's MCP config:
{
"mcpServers": {
"justthreed": {
"command": "uvx",
"args": ["justthreed"]
}
}
}
Or, for Claude Code:
claude mcp add --scope user justthreed -- uvx justthreed
For per-client setup (Claude Desktop, Gemini CLI, Cursor, Ollama, OpenRouter) and the Blender addon install steps, see the main README on GitHub.
How it works
AI Client (Claude / Gemini / Cursor / Ollama / ...)
↓
JustThreed MCP Server (this package) — translates intent to commands
↓
JustThreed Blender addon — socket server on port 9876
↓
Blender (bpy API) — executes in real time
Development
Run against the MCP Inspector (requires the Blender extension running with the MCP Server started):
uv run --with 'mcp[cli]' mcp dev src/justthreed/server.py
Run the server directly (stdio transport — what Claude Desktop does):
uv run justthreed
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file justthreed-0.1.0.tar.gz.
File metadata
- Download URL: justthreed-0.1.0.tar.gz
- Upload date:
- Size: 57.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdf55dbe030c19c7c96ea808149fd0d5f9214d30699531b16b4b7eaa90c8c6ca
|
|
| MD5 |
5cee8cd77729e46fa98d813d3fc17f98
|
|
| BLAKE2b-256 |
cf69e43d39d906e8cd988b8254151d93e964377239b404108025724fdf503632
|
File details
Details for the file justthreed-0.1.0-py3-none-any.whl.
File metadata
- Download URL: justthreed-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9cc030595297824ad91dd015ee9836c4cde06734ea34dd5b5c8550f643ab5d0
|
|
| MD5 |
f8e6f21336fc67adaf5634d8d9ce00a8
|
|
| BLAKE2b-256 |
b4929c497706c3be6d75a963fc99be9d1e71e7afb5a5a4ea9ab4a02171be5c39
|