A free, open source tool lets an agent research a real object, write down what it knows, and get back a 3D model that tells you which parts are verified and which are guesses.
So I was scrolling r/mcp this week and ran into Construct. The developer posted it themselves, with a clear disclosure, and tbh it's one of the more thoughtful MCP projects I've seen in a while. It started as a system for rebuilding real objects from structured data, and later got an MCP interface so any agent can drive the same pipeline.
Here's the trick. The model never generates a mesh. Instead it writes a description of the thing, the facts and where they came from, dimensions, named parts, joints, assembly order, and how sure it is about each part. Construct checks that description and builds the geometry with ordinary code. Then you can open the same scene as an animated hologram in the browser, pull it into Blender, or export it as glTF for Godot, Unity or Unreal.
What's actually new
The whole design hangs on one line in the README: "A scene is data, never code." The agent says what the object is and Construct decides how it looks. Models don't even pick colours, so every construct ends up in the same house style.
Three bits of the design stood out to me.
Provenance on every part. Each fact and part gets a tag. Verified, supplied by the user, inferred, or decorative. Press P in the browser view and the model gets coloured by those tags. The README uses Saturn as the example. The rings come from published data so they show up white, while the cloud bands were designed by the model and show up amber. The author says this is the part they care about most. If an agent worked from photos instead of measured drawings, the output doesn't pretend the two are equally certain.
A checker that tells the agent how to fix stuff. Floating parts, claims stronger than their evidence, details too small to see. Each one comes back with where the problem is and how to fix it. So the agent repairs the scene, runs the check again and keeps going until it passes. Only then does Construct build the page.
A blind critic in "masterpiece" mode. A fresh model compares each new version with the best one so far, without knowing which is which, and only a better version gets kept. The loop stops after two rounds with no win, after 12 rounds, or after two hours. In the author's own blind comparisons, on two subjects, there was no visible gain after about round 12. That's a small test, and the README is upfront that it's one. Fast mode does a single pass and takes about 10 minutes, or 30 for a richer subject.
There's model advice too, from the author's evaluation runs. Named subjects like a specific car or a landmark need a big model (they tested GPT-6.1 Sol and Claude Opus 5.5). DeepSeek V4.1 Flash did just as well on simpler objects like a tape deck or a camera. The smaller models they tried failed to save a scene in about half their runs, and made scale errors.
Setup is pretty light. You need Python 3.10 or newer and nothing else to install, plus a Chromium-family browser for review stills. The MCP server runs locally from one config entry, and the README says there are no API keys or network services inside Construct. It's tested on macOS, review capture on Linux and Windows is marked untested. When we fetched the repo it had 57 stars, 6 forks and 111 commits, under the Apache-2.0 license.
Why it matters if you build agents
Most agent tools that touch 3D ask the model to make the asset. Search results for other 3D MCP servers, like Meshy's and Spline's, describe agents creating models or editing scenes. Construct goes the other way, and imo the pattern is useful way beyond 3D.
The model does what it's good at, which is researching, naming parts and saying what it knows. Plain code does what models are bad at, geometry, consistency and style. And the tool in between sends back errors written for the agent, with a location and a fix, so the agent can close its own loop without a human reading stack traces.
Uncertainty also becomes a field in the output, not something you hope the model mentions. Say you're building an agent that writes a weekly competitor report into Notion. Same idea works there. Ask for structured output, tag each claim with how it's known (read off the competitor's pricing page vs. guessed), validate it, and send back errors the model can act on. Whoever reads the report can then tell what came from a source and what got filled in.
One catch tho. Those "verified" tags are only as good as the sources the agent can actually reach, and since Construct has no network services of its own, the research comes from whatever other tools your agent is hooked up to. If you'd rather not juggle a separate key for every search provider, MewCP puts tools like Exa, Firecrawl and Brave Search behind one MCP address, with the keys kept in an encrypted vault instead of your config file. Construct stays local and the research side plugs in next to it.