Inspiration

Every CAD package speaks a different dialect for the same five operations. ForgeMCP (my day-job product) already normalizes SolidWorks and Inventor behind one MCP tool vocabulary — but judges can't run SolidWorks, and neither can a Cloud Run job. So I built the missing backend: the same canonical tools on headless Blender, and put a real partner in front of it — one that reads your napkin sketch, remembers how thick you like your walls, and argues with the printability report on your behalf.

What it does

Tell it "a 3-inch flanged cap, 2 mm walls, PLA" — or hand it an annotated sketch PNG. The intake agent (gemini-3.7-flash, multimodal) extracts a spec in mm. The builder agent drives the Blender worker through the exact ForgeMCP tool sequence (new_part → create_sketch → extrude → fillet_edges → shell_part → export_stl). The printability agent reads a trimesh-based report (watertight? thin walls? overhangs?) and either passes the part or sends the builder back with a concrete revision — "re-shell at 3.0 mm" — for at most two loops. Preferences stick: say "I always want 3 mm walls" once and every future session builds that way (Firestore-backed memory).

How I built it

  • Google ADK (google-adk[mcp,gcp]), agent factories, gemini-3.7-flash for intake/builder, fake-LLM scripted tests for the full loop with zero keys.
  • Blender worker: Python bpy in Docker, MCP streamable HTTP, 12 tools mirroring the ForgeMCP canonical contract byte-for-byte at the schema level (verified by a contract test against the shipped gateway's tool inventory). EEVEE render with automatic CYCLES-CPU fallback headless.
  • Cloud Run both services; artifacts as GCS signed URLs; agent→worker authenticated with Cloud Run ID tokens; Firestore for preference memory.

Challenges

Headless Blender rendering (EEVEE wants a GPU context that containers don't have — hence the CYCLES fallback), and honoring a fixed mm/deg argument contract regardless of display units, exactly as the commercial CAD adapters do.

What's next for ForgeMCP-partner

This worker is the shape of ForgeMCP's planned Blender adapter — its alias vocabulary (bevelfillet_edges, solidifyshell_part) has been waiting in the repo for it. The partner loop (build → check → revise) generalizes to GD&T and manufacturability checks already shipped as ForgeMCP hosted tools.

Built With

Share this project:

Updates

posted an update

If you have an interest in using CAD or other technical applications with a frontier AI running it, check out https://ForgeMCP.ai for the full spectrum of available applications supported, or go the the interest page (from the servers page) and indicate your interest in other platforms as additional to the current supported; Solidworks, AutoDesk Inventor, KiCad for circuit board designs, Blender (for Mac or Windows as a full application in addition to the AI Agent ForgeMCP-partner). Coming soon is full AutoCAD support. For Cloud platforms the Solidworks creator Dassault Systems offers the 3Dexperience for running CAD in a browser, but you might need ForgeMCP.ai to help you just describe what you want and have the frontier AI (ChatGPT, Claude, or Grok) make, using the licensed software you have. The ForgeMCP-partner engine will have other uses to come soon too.

Log in or sign up for Devpost to join the conversation.

Submission history