ctrlPlanner Sign in

Documentation

Using the free tools from an AI agent

Last updated 6 August 2026

The four free tools are also available to an AI agent, so a model answering a question about plating allowance or a feature control frame can call the same engine the pages run on rather than doing the arithmetic itself and getting the four-times pitch diameter rule wrong some fraction of the time.

Connecting

It is a remote MCP server over streamable HTTP. Most clients take a URL and handle the rest: point yours at the endpoint below and it will discover the tools on its own.

https://ctrlplanner.com/api/mcp

There is a manifest at /.well-known/mcp.json for clients that look for one. No account, no key, no sign-up. If your client wants a name, it is ctrlplanner.

What it can do

ToolWhat it answers
walk_back_toleranceWhat the machinist has to hold before plating, anodize, grinding or heat treat, from the finished-part limits.
check_feature_control_frameWhether a GD&T frame is legal under ASME Y14.5-2018, and which clause says otherwise.
convert_tolerance_bandA tolerance band converted between inch and millimeters without being widened.
convert_surface_finishRa converted on the ISO 4288 preferred-number ladder rather than by dividing.

Chaining the thread tool into the walk-back

The two tools are built to hand off. unified_thread_limits returns the pitch diameter band for a class of fit, and those two numbers are exactly what walk_back_tolerance wants as its lower and upper. Ask for a 3/8-16 class 2A, get .3287 and .3331, feed them straight in with kind set to thread, and the answer is .3279 / .3311 on pitch diameter before plating.

That second step is where the thread multiplier lives, and it is the part a model doing the arithmetic itself gets wrong: pitch diameter shifts about four times the per-side coat on a 60 degree form, not twice. Passing kind as thread is what applies it.

The thread tool returns pitch diameter only. Major and minor diameter limits come from a different set of formulas this engine does not carry, and classes 1A and 1B are not offered because their tolerance relationship could not be checked against a printed table.

Why there is no field for a part number

Every parameter on every tool is a number, a true or false, or a value from a closed list. There is no part number field, no drawing number, no revision, no customer, no notes, and no free text of any kind. An unknown key is refused rather than quietly dropped, so a caller cannot believe they sent something we kept.

That is deliberate and it is the whole reason this endpoint is something a shop inside CMMC or ITAR scope can let an agent use. It is not a promise not to log what you send; there is nowhere to put anything worth logging. You can satisfy yourself of that by asking the server for its tool list and reading the schemas, which is a better answer than any policy document.

The browser tools remain what they were: they transmit nothing at all. The endpoint is a separate, optional surface for automation. If you want the stronger guarantee, use the pages.

Read the caveats and pass them on

Every answer carries a caveats list, and it is the most important field in the response. A walk-back can come back saying NO SIZE HOLDS, which means the process window is wider than the tolerance it has to fit inside and no upstream size can work: the honest answer is that the job cannot be done as specified, not that the calculator failed. In that case no limits are returned at all, deliberately, because an agent handed numbers will report them and a machinist will hold them.

Other caveats say that an anodize call-out builds up half, that a surface finish value is not on the preferred-number ladder and needs a decision recorded against the drawing, or that a naive unit conversion would have widened the band. Each of these is the difference between a useful answer and a confident wrong one.

A per-side figure outside the range a process is modeled over is refused outright rather than computed at the nearest bound. That is deliberate: an answer quietly calculated at a limit you did not ask for looks entirely consistent and is out by whatever the difference was, which is how a wrong dimension reaches a machinist. Hard chrome at several thousandths per side is a real process this calculator does not cover, and being told so is the useful answer.

What comes back

Alongside the result, every answer carries a permalink to the same case worked through on the page, the standard the rule comes from, and attribution. If you are relaying an answer to somebody, the permalink is worth including: it lets them see the arithmetic rather than take a number on trust.

For the questions that come up most, the same computation is already worked through on a page of its own under /answers, with the reasoning around it. Those are worth linking to instead of the bare calculator when the reader is going to want the why as well as the number.

Reference data

The tables behind the tools are published as JSON and are free to use with attribution. The Ra ladder, the Y14.5 legality rules with their clauses, the pitch diameter multipliers by thread flank angle, and the process windows are all at /data/, with an index at /data/index.json. They are generated from the same modules the tools run on, so they cannot drift from what the pages say.