CUTL can work inside your AI assistant. Instead of clicking through the web app, you tell Claude, ChatGPT, Gemini or Cursor what you want in plain words ("Make a project for Van Dijk from these three DXFs, 3 mm S235, 50 of each, and tell me the total") and the assistant does it in CUTL for you: creates the project, adds the drawings, reads the quote, e-mails it, launches production, nests, reads reports, opens STEP models, quotes assemblies and sets up your shop.
What MCP is
MCP (Model Context Protocol) is the open standard AI assistants use to call outside tools. CUTL runs an MCP server: a set of tools your assistant can call on your behalf, with your role's rights in your team.
Everything the assistant does happens as you and shows up in CUTL straight away as ordinary projects, parts, quotes and production tasks. What each tool does is listed in What AI assistants can do.
Toolsets and their addresses
CUTL's tools are grouped in toolsets. Each toolset has its own server address and is added to the assistant as a separate connector. Add only the ones you use: an assistant chooses tools less reliably from a very long list, and a quoting estimator usually needs only Core.
| Toolset | Address | Tools | For |
|---|---|---|---|
| Core: projects, upload, quote, send, launch | https://api.cutl.online/mcp | 16 | Quoting 2D parts, e-mailing quotes, launching production, nesting, reports, production status |
| STEP and MBD | https://api.cutl.online/mcp/step | 20 | STEP models as reviews, comments, invitations, PMI, enrichment from drawings, inspection documents, DXF to STEP, PDF to STEP |
| Assemblies and documents | https://api.cutl.online/mcp/assembly | 15 | Assemblies from STEP models: pricing the parts, quantity breaks, supplier offers, routes, drawings, route cards, lists, ERP export |
| Setup and knowledge base | https://api.cutl.online/mcp/setup | 17 | Machines, cutting modes, materials, sheet sizes, customers; CUTL's documentation search; bug reports |
| Demo | see The demo server | 6 | A read-only demo shop, no login |
Token or sign-in
There are two ways to connect an assistant. Either way it acts as you: it can read and change exactly what your role in CUTL lets you read and change, no more.
| Token | Sign-in | |
|---|---|---|
| Used by | Claude Code, Cursor, Gemini CLI, your own scripts and agents | Claude.ai and Claude Desktop, ChatGPT (Business, Enterprise or Edu, web app only), Gemini Enterprise; Claude Code can sign in too |
| What you do | Create a token in CUTL and paste it into the assistant's settings | Paste the server address into the assistant; it opens a CUTL page where you sign in and press Connect |
| Works on | Every toolset: one token works with all addresses | One toolset: connect each toolset you need separately |
| Stops when | It expires (30, 90 or 365 days, or never) or someone revokes it | You press Disconnect in CUTL, or 30 days pass without the assistant using it |
The Integrations tab
Everything for assistants is on the Settings page, tab Integrations. Top to bottom it shows:
- Connect an AI assistant: the Server URLs with a Copy button each; Toolset for the snippets, a picker that decides which address the setup texts use (Core is chosen first); one tab per assistant with its setup text and Copy; the token warning; a line on data and privacy; and the assistant coin limits.
- The token list, with Generate token. It holds every token of the team with its label, who created it, when it expires, when it was last used and its status (Active, Expired, Revoked), and a Revoke button.
- Connected assistants: the assistants you connected by signing in, each with Disconnect.
- Registered clients: only for team admins.
If one block cannot be loaded, it is simply left out and the rest of the tab still works.
Creating a token
The token is filled into the setup text only on this page, until you leave or reload it. If you lose it, revoke it and create a new one.
A team can hold at most 5 active tokens. A sixth is refused with "Revoke an unused token first: max 5 active tokens." Any member can create a token and revoke any of the team's tokens. A token always acts as the person who created it, and stops working if that person leaves the team.
Connecting each assistant
Each assistant's tab in Settings > Integrations carries its own setup text with a Copy button. Menus inside the assistants change often: check the vendor's current documentation if a name does not match.
Claude Code (token)
Create a token on the Claude Code tab, copy the command and run it in your terminal. It adds a server called cutl:
claude mcp add --transport http cutl https://api.cutl.online/mcp --header "Authorization: Bearer <token>"
For another toolset, change Toolset for the snippets, copy the command again and change the name cutl (for example to cutl-step), because two servers cannot share a name. The same token works for every toolset.
Claude Code can also sign in instead: run the command without the --header part and follow Claude Code's sign-in prompt. CUTL then shows the consent page.
Cursor (token)
Create a token on the Cursor tab and put the block into ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in one project. If the file already has an "mcpServers" section, add only the "cutl" entry inside it. Then restart Cursor or reload its MCP servers.
{
"mcpServers": {
"cutl": {
"url": "https://api.cutl.online/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Gemini CLI (token)
Create a token on the Gemini CLI tab and add the "cutl" entry under "mcpServers" in Gemini CLI's settings.json. It is the same block as for Cursor, with "httpUrl" instead of "url". Then restart Gemini CLI.
{
"mcpServers": {
"cutl": {
"httpUrl": "https://api.cutl.online/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Claude.ai and Claude Desktop (sign-in)
Copy the address from the Claude.ai / Desktop tab. In Claude, go to Settings, Connectors, Add custom connector and paste it. Claude opens CUTL: sign in if asked, check the consent page and press Connect. No token is needed. In a Claude Team or Enterprise organisation an owner adds the connector, and members then connect. For another toolset, add another connector with that toolset's address.
ChatGPT (sign-in)
Only ChatGPT Business, Enterprise or Edu, and only in the web app. Copy the address from the ChatGPT tab, turn on developer mode in ChatGPT, add a connector with the address and sign in to CUTL. No token is needed. ChatGPT can also hand files you attach in the chat straight to CUTL.
Gemini Enterprise (sign-in with a registered client)
- A CUTL team admin registers a client (see Registered clients) with the redirect address the Gemini Enterprise administrator gives, and passes on the Client ID and Client secret.
- The Gemini Enterprise administrator adds the CUTL address as a connector, with OAuth, that client ID and secret, and turns on PKCE.
- A user of the connector is sent to CUTL's consent page, which shows Registered by your team, and presses Connect.
The consent page
When an assistant connects by signing in, CUTL shows the page Connect an assistant (after CUTL's normal login if you are not signed in). It shows:
- which assistant wants to connect;
- After you decide, you are sent to: the address the assistant will receive you back on, for example
claude.ai. Check it is your assistant's address; if it is not, press Deny; - Identified by: A published client identity (the assistant published its identity at its own web address, as Claude does), Self-registration (not verified) (CUTL cannot vouch for who runs it) or Registered by your team;
- Team and Signed in as: the team and person the assistant will act as, and the Toolset;
- It will be able to: "Use CUTL on your behalf, with your rights" and "Stay connected until you disconnect it";
- that the assistant's vendor will see what the assistant reads from CUTL, such as project names, quotes and customer data;
- a countdown: the request expires in 10 minutes.
Press Connect to allow it or Deny to refuse; either way you are sent back to the assistant. A request opened after 10 minutes, a second time, or by another person says "This request has expired or was already used: start the connection again from your assistant."
The assistant renews its access by itself and stays connected as long as it uses CUTL at least every 30 days. To end it at once, press Disconnect under Connected assistants. Removing the connector inside the assistant does not end the connection on CUTL's side: disconnect it in CUTL as well. Each person sees only their own connections.
Registered clients (team admins)
For assistants that cannot register themselves, such as Gemini Enterprise, a team admin registers a client under Registered clients, Register a client:
| Field | Rules |
|---|---|
| Name | Required, at most 200 characters, for example "Gemini Enterprise" |
| Redirect URIs (one per line) | 1 to 10 addresses, given by the assistant's vendor. https only; http is allowed for localhost. Repeated lines count once |
After Register, the Client registered window shows the Client ID and Client secret. The secret is shown only once and cannot be retrieved later: copy both, then press I have copied it. Delete removes a client, and assistants using it stop working. A lost secret means deleting the client and registering a new one.
Assistant coin limits
Some tools spend coins, exactly like the same action in CUTL: adding a drawing to a project (one part calculation per part), copying a project (one calculation per part) and pricing an assembly's parts (one calculation per part started). All other tools are free. The assistant can tell you the prices and your balance. See Coins and billing.
On top of your balance, the team's assistant coin limits cap what all assistants of the team may spend together, whichever person or token spent it. They do not limit what people spend in the web app.
| Field | What it limits | Default |
|---|---|---|
| Hourly limit (coins) | Coins spent through assistants in the last 60 minutes | 2000 |
| Daily limit (coins) | Coins spent through assistants in the last 24 hours | 10000 |
| Limit per call (coins) | What one single tool call may cost | 2000 |
Under the fields you see what was used in the last hour and today. Only a team admin can change the limits, with Save and Reset to defaults; everyone else sees them read-only. Each limit must be greater than 0, the limit per call may not exceed the hourly limit, and the hourly limit may not exceed the daily one. An empty field means "use the default", and the defaults are filled in before these checks: with the default limit per call of 2000, an hourly limit of 1000 is refused until you also lower the limit per call.
When a call would pass a limit, the assistant tells you which one, how much is left and when room opens up, for example "This call would cost 2500 coins; the per-call cap for assistants is 2000. Split the work into smaller calls, or raise the cap on the Connect page." The "Connect page" in these messages is the Integrations tab.
Asking the price first
The three billed tools can do a dry run: they check everything (files, materials, the project's status) and say what it would cost, without doing or charging anything. Ask the assistant "How much would that cost? Don't do it yet", then "OK, do it". A dry run does not check the coin limits; the real call does. Retrying the same upload never charges twice.
Getting files to CUTL: the upload link
Assistants in a browser or on a phone cannot always hand a file over, so CUTL gives every assistant an upload link.
| Rule | Value |
|---|---|
| Files per link | One, up to 40 MB |
| Link valid for | 15 minutes |
| File size | Must be exactly the size the assistant announced |
| Uploaded file kept for | One day, waiting for the assistant to use it |
| File types | DXF, STEP or PDF drawings; the STEP toolset also takes QIF |
A file of another size is refused: "This is not the file the assistant announced (expected 49 352 bytes). Ask it for a new link." A different name with the right size only gives a warning and uploads anyway. An expired link says "This link has expired: ask the assistant for a new one." The secret part of the link is removed from the address bar as soon as the page opens, so reloading the page says the link is incomplete or damaged: open the original link from the chat again.
Assistants on your computer (Claude Code, Cursor, Gemini CLI) can upload the file themselves. For a project, an assistant can also give CUTL a public https link to a drawing, and ChatGPT can pass a file you attached in the chat. Files for the STEP and assembly tools come only through an upload link.
Actions you confirm
Actions that reach people outside the conversation are held by CUTL's server until you confirm them, whatever the assistant decides.
| Where you confirm | Actions |
|---|---|
| In the chat | E-mailing a quote to the project's customer or to yourself; inviting someone your team already invited, or a teammate, to a STEP review; commenting on a STEP review (participants are e-mailed); archiving a review; accepting an enrichment as a new model version; making a supplier price link |
| On CUTL's confirm page | Launching production (always); e-mailing a quote to any other address; inviting an address your team has not invited before to a STEP review |
In the chat, the assistant first shows you a preview of what it is about to do, and acts only when you agree.
On the confirm page, the assistant gives you a link. Open it logged in to CUTL as the same person the assistant acts as, check the preview (a new address is highlighted) and press Confirm or Decline. Then go back to the assistant and tell it to continue: the page itself does not act. A confirmation expires 10 minutes after the assistant asked. Afterwards the page shows one of:
- "Done: go back to your assistant and tell it to continue."
- "Declined. Nothing was done; you can go back to your assistant."
- "Done: the assistant has already carried this out."
- "This confirmation has expired. Ask your assistant to start again."
- "This confirmation does not exist or belongs to someone else." (a wrong link, or someone else's)
Limits and errors
| Situation | What happens |
|---|---|
| Your role | The assistant can do only what your role allows: "Your role in CUTL may not edit projects. Ask a team admin for access, or use a token created by someone who has it." |
| Coins | A coin limit is reached (see above), or the team's balance is too low. Top up in CUTL as usual |
| Too many calls | At most 60 calls a minute and 1000 an hour per connection, and 120 a minute and 3000 an hour per team: "Too many CUTL calls; wait N seconds and try again." The assistant waits and retries |
| Your team only | Another team's project, part, upload or review is "not found" |
| Connection refused | A revoked or expired token, a token of someone who left the team, a disconnected sign-in, or a sign-in used for another toolset. Create a new token or connect again |
| Expired links | Upload links and download links in results (quote PDF, CSV, drawings, exports): 15 minutes. Confirmations and sign-in requests: 10 minutes. Ask again for a fresh one |
| Temporary fault | "CUTL could not complete ... just now. Try again in a minute; if it keeps failing, the CUTL team has been notified." |
The assistant cannot press buttons where CUTL wants a person: confirming a launch, checking enrichment readings, picking drawings out of a multi-drawing PDF or answering a PDF to STEP question. It tells you to do that step in CUTL and continues afterwards.
The demo server
To try CUTL from an assistant without an account, connect the demo server with no authentication:
claude mcp add --transport http cutl-demo https://mcp-demo.cutl.online/mcp/demo
In other assistants, add https://mcp-demo.cutl.online/mcp/demo as a server with no token and no sign-in. It is a made-up sheet-metal shop with six read-only tools: find projects, production status, explain a part's price, reports, look up materials and customers, and nesting results. Nothing can be created, changed, uploaded, sent or charged there. Try "What's in production today?" or "Why does part X cost that much?". Too many calls get "Too many requests to the CUTL demo; try again soon".
Privacy
- Whatever a tool returns (project and part names, customer names and addresses, prices, comments, reports) is read by the assistant, which runs at its vendor (Anthropic, OpenAI, Google and so on) under that vendor's terms. Connect only assistants you trust with that data, and only the toolsets you need.
- Files you drop on the upload page go straight to CUTL's storage, not through the assistant.
- CUTL does not see your conversation, only the tool calls and their inputs. Every tool call is recorded in CUTL.
- Text written by people (names, comments, drawing texts) is handed to the assistant as data it must not take instructions from, and the confirmation rules above are enforced by CUTL whatever the assistant decides.
- Bug reports sent through the assistant carry your user and team ids, not your e-mail address.