Keratin
A custom Model Context Protocol (MCP) bridge connecting Claude AI to Rhinoceros 3D for text-to-parametric design.
The Problem
I wanted to see if an LLM could perform parametric design from a text prompt, but I couldn't get a ready-made MCP server compatible with my license of Rhino3D.
Most modern AI tools are built for the latest software versions. I had a license for Rhino 7, and existing bridges simply didn't support it. I didn't want to abandon the experiment—I wanted to bridge the gap between conversational AI and complex 3D geometry manipulation.
The Architecture & Direction
I designed the solution by breaking down existing MCP servers built for other versions of the software. Then, I turned to Claude and asked what it would take to make something like that possible for Rhino 3D 7 instead of 8.
The AI laid out the problems and provided hypothetical architectures. The final design required two components communicating over a local TCP socket:
- A Python 3.10+ MCP server running on the host machine to communicate with Claude.
- An IronPython 2.7 listener script running directly inside Rhino 7.
We built them one at a time and debugged as we went until we had a product that actually accomplished something. Now, Claude can create geometry, manage layers, run boolean operations, drive Grasshopper, and execute arbitrary RhinoScript—all from a conversation.
What this proves
This project was built purely out of curiosity, but it demonstrates my core methodology: I don't need to know how to write every line of code to build a complex system. I need to understand the architecture, break down the problem, and direct an AI to implement the solution.
By specifying the logic and iterating through the bugs, I built a bridge that allows a Large Language Model to perform parametric design tasks in a legacy CAD environment. The engineering judgment is mine; the execution is AI-assisted.