top | item 44622374

Show HN: MCP server for Blender that builds 3D scenes via natural language

151 points| prono | 7 months ago |blender-mcp-psi.vercel.app

Hi HN!

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

61 comments

order

vunderba|7 months ago

Couple things:

1. Your github doesn't have anything in it, it is just a generic MCP server.

2. How does this differ from blender-mcp released by ahujasid several months ago? That one actually does have the complete source and has quite a following.

https://github.com/ahujasid/blender-mcp

https://news.ycombinator.com/item?id=43357112

prono|7 months ago

It is indeed a mcp server, but I have added some things that makes of different from being generic, it works smoothly, you can see from code.

And I am working on it, it is new and I am adding other this to it like generating 3js scenes, adding free blender asset apis, etc. Happy if anyone else wants to contribute

gorbachev|7 months ago

The fade in effect when scrolling down is quite distracting, and makes reading the web page slower, because I have to wait for the text to appear. Yes, I have a fast computer.

halflife|7 months ago

It is also very choppy on my iPhone 16, not sure why.

Edit - I tried watching the demo, and it seems that on my phone the site is not usable, I can’t play the video, clicking on play does nothing and the page keeps scrolling and jumping

johnisgood|7 months ago

I do not think it has much to do with how fast your computer is, it is probably timed, e.g. from the CSS: "transition-duration: 0.3s". It is quite annoying.

Almost akin to:

- "How many CSS effects do you want?"

- "Yes".

:P

At any rate, the project is pretty cool. Everything is just one prompt away now (not really, but still!).

tacker2000|7 months ago

Why these web page animations are still a thing in 2025, i will never understand…

deng|7 months ago

Hi, quick feedback: the demo is extremely short, so I can't really say much. Please generate more complicated scenes and, most importantly, inspect the wireframe. From what I could glance from the demo, the generated models are tri-based instead of quads, which would be a showstopper for me.

thegeomaster|7 months ago

Just curious: why do you prefer/have a requirement of quad-based meshes?

prono|7 months ago

On it, thank you for feedback

qarthandyc|7 months ago

The fade-in effect is really distracting, and so poorly done. It takes the elements reaching almost 50% of the screen height before becoming readable.

This is so sad to see animation hurting a good product.

bsenftner|7 months ago

An MPC server is not necessary, one can just API call LLM services directly from within Blender, and they already know Blender - the LLMs know it very well, it being open source and a gargantuan amount of data about it online in the form of tutorials and so on - all in foundation model training data.

zakki|7 months ago

Great works. In your "How to Setup" the cloned project is "blender-mcp" but the directory is "bleder-mcp-demo".

I don't have Claude and no experience with MCP. How to use it with other tools such as LMStudio, ollama, etc?

prono|7 months ago

fixing it, its actually blender-mcp only, I changed the repo name form blende-mcp-demo to blender-mcp.

And you can use free tier claude desktop or other open source llms

ur-whale|7 months ago

Is there a feedback loop ?

As in:

External Prompt -> Claude -> MCP -> Blender -> Cycles -> .exr -> show Claude how good its work actually is -> Correct -> New prompt -> ... Rinse and repeat until result actually looks realistic.

abrookewood|7 months ago

Congrats and releasing something. I'm not a blender user, but I think the demo is pretty cool. Kind of crazy what MCP is allowing LLMs to do.

homarp|7 months ago

how does it compare to the existing https://blender-mcp.com/ ?

chmod775|7 months ago

Slightly strange how both use the same example of a house with some trees.

N_Lens|7 months ago

Better in every way since this is posted to HN!

mattigames|7 months ago

I'm tired of the half-way-there automations, I want an MCP that can replace the person that would need to use this.

bravesoul2|7 months ago

Taken to the nth degree you want an MCP server that makes you a feature length animation or invents a new device and ships it to you?

prono|7 months ago

Ha ha, will reach there eventually

willsmith72|7 months ago

sounds like my CEO. "we don't need engineers, we have ai"

now who runs the AI?

...

contingencies|7 months ago

I managed to do something like this directly in WebGL via threejs in Windsurf 2 weeks ago, you can see the resulting animation over here: https://infinite-food.com/ Also did an SVG animation and a globe with geopoints. So much easier than by hand...

fode|7 months ago

This is an awesome use of MCP. Thank you!

prono|7 months ago

Thanks a lot brother

rsp1984|7 months ago

I apologize for this extremely dumb question, but how is this a "server"? As far as I'm aware Blender is a local app. It can run without an internet connection. If an LLM wants to call into it, it needs to call its local python API.

Is this just unlucky naming or am I missing a critical piece?

tracerbulletx|7 months ago

MCP is a spec that is attempting to standardize a communication pattern for registering and calling tools from an llm. Part of the spec is a server that exposes specific JSON-RPC end points with a registry of the available tools, resources, and templates, and a way of executing them. That's the server, in this case the server acts as the interface into Blender.

ww520|7 months ago

The pipeline for LLM to MCP and to the app looks like,

  LLM -> chat app -> MCP client -> MCP server -> specific app (Blender)
The chat app doesn’t know how to talk to Blender. It knows about MCP and links in a client. Blender exposes its functionality via a MCP server. MCP connects the two.

camdenreslink|7 months ago

A server-client architecture can run on a single computer. You just need one piece of code to act as the "server" and one to act as the "client". Technically you don't even necessarily have to involve the networking stack, you can just communicate between processes.

redrove|7 months ago

Does anyone know of a way to create custom 3D print designs with LLMs? Is there a bespoke project or service somewhere?

r2_pilot|7 months ago

I have successfully(if inefficiently, but faster than if I did it on my own) used Claude with OpenSCAD to make 3d printed products.

franze|7 months ago

Screenshots would be nice.

dcreater|7 months ago

Your vibe coded website has a lot of issues on mobile