Show HN: MCP server for Blender that builds 3D scenes via natural language
Hacker News (score: 41)Description
I built a custom MCP (Model Context Protocol) server that connects Blender to LLMs like ChatGPT, Claude, and any other llm supporting tool calling and mcps, enabling the AI to understand and control 3D scenes using natural language.
You can describe an entire environment like:
> “Create a small village with 5 huts arranged around a central bonfire, add a river flowing on the left, place a wooden bridge across it, and scatter trees randomly.”
And the system parses that, reasons about the scene, and builds it inside Blender — no manual modeling or scripting needed.
What it can do: - Generate multi-object scenes like villages, landscapes, from a single prompt - Understand spatial relations — e.g., “place the bridge over the river” or “add trees behind the huts” - Create camera animations and lighting setups: “orbit around the scene at sunset lighting” - Respond to iterative changes like: “replace all huts with stone houses” or “make the river narrower” - Maintain object hierarchy and labels for later editing
Tech Stack: - Blender Python scripting - Node.js server running MCP - LLM backend (OpenAI / Claude, easily swappable)
Demo: https://blender-mcp-psi.vercel.app/
GitHub: https://github.com/pranav-deshmukh/blender-mcp-demo/
Curious to hear thoughts from folks in 3D tooling, AI-assisted design, or dev interface design. Would you find this useful as a Blender plugin? I’m open to expanding it!
Please try it and give it a star on github
More from Hacker
AIsbom – open-source CLI to detect "Pickle Bombs" in PyTorch models
AIsbom – open-source CLI to detect "Pickle Bombs" in PyTorch models
A kernel bug froze my machine: Debugging an async-profiler deadlock
A kernel bug froze my machine: Debugging an async-profiler deadlock
Build a Compiler in Five Projects
Build a Compiler in Five Projects
Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files
Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files I built a Rust-based CLI/terminal UI for inspecting Parquet files—data, metadata, and row-group-level structure—right from the terminal. If someone sent me a Parquet file, I used to open DuckDB or Polars just to see what was inside. Now I can do it with one command.<p>Repo: <a href="https://github.com/kaushiksrini/parqeye" rel="nofollow">https://github.com/kaushiksrini/parqeye</a>
No other tools from this source yet.