The Exotool MCP server for Claude
Exotool's MCP server lets Claude build and change Exotool apps in your account: it loads and saves app diagrams, makes small changes as patches, checks a design for errors, compiles it, gives you the preview address, and uploads icons, images and files. Everything Claude makes is an ordinary Exotool app that you can open, read and change in the editor yourself.
Connecting Sign-in and accounts What Claude can do Safety Limits Uploading files Your data Support Tool reference
Connecting Claude to Exotool
The server's address is https://mcp.ops.exotool.com/mcp. It speaks the Model
Context Protocol over HTTP (Streamable HTTP), with OAuth sign-in.
- From the Claude connector directory: open Exotool in the directory and choose Connect.
- As a custom connector: in Claude, open Settings → Connectors → Add custom connector, paste the address above, and sign in when Claude asks.
Once connected, ask Claude in plain words: "make me an app for ..." or "add a page to my project ...". Claude reads Exotool's reference documents itself before it starts, so you need not explain the editor to it.
Sign-in and accounts
Connecting opens Exotool's sign-in page. You sign in with your Exotool account, on Exotool's own sign-in service; the page never sees your password, and Claude never sees it either. What Claude receives is a token that lets it act as you on the Exotool server, for the things listed on this page and nothing else. You can also connect with an MCP token made on the editor's MCP Tokens page, which works the same way and can be revoked there at any time.
- You need an Exotool account. Any account can use the server, on every plan, including a free one. Sign up on the pricing page.
- Claude works only in your projects. A sample project can be read and copied, never changed.
- Sign out of the connection in Claude's connector settings, or revoke the token on the editor's MCP Tokens page.
What Claude can and cannot do
Claude can list your projects, create a project or copy one (your own or a system sample), load a design and save it, change part of it with a patch, undo the last save, check a design or a piece of activity code for compiler errors, read the compiler's errors for a project, read and store presets, list your resources and point a project at them, read Exotool's reference documents, give you the editor's and the preview's addresses, and upload the app's icon, background, images, files and library files.
Two things are done only in the editor, at https://app.ops.exotool.com, by design:
- Creating or changing a resource (a database, mail, payment or web-server account). A resource holds a secret, and secrets must never pass through a conversation. Claude can see that a resource exists and attach it to a project; it cannot read or write its credentials.
- Deleting a project.
When something needs the editor, Claude gives you its address and says where to go.
Safety
- Every save, patch and undo first backs up the design it replaces. The newest four backups of a project are kept, and the editor's Backups page lists them. Undo puts the design back as it was before the last save, one save at a time.
- Saves use revisions. Every design has a revision number that changes with each save. Claude must pass the revision it loaded; if you changed the design in the editor meanwhile, the save is refused and nothing is written, and Claude loads the design again.
- Saving compiles. A save replaces the live project and its preview. A design that does not compile is saved all the same, and Claude is told the errors so it can correct them or undo.
- Your open editor is told. If the design Claude changes is open in your editor, the editor says so and offers to reload it, or to keep your own unsaved changes.
- Server-side code is gated. When Claude writes explicit server-side PHP that runs code or changes files on the server, the save is refused until you have seen that code in the conversation and confirmed it.
Limits
| What | Limit |
|---|---|
| Compiles through Claude | 100 an hour for an account, by default. Saves, patches, undos and the three checking tools count; saves made in the editor do not. |
| An uploaded file | 8 MB, by any route. |
| An SVG sent as text | Under 1 MB; no DOCTYPE or ENTITY declaration, no script, no reference to another file. |
| Files by link in one call | Up to 20 addresses. |
| Upload links waiting | 5 unopened links at a time for an account. |
| Backups kept | The newest four of each project. |
Uploading files through Claude
Five tools put files into a project. Each calls the same asset upload service that the editor's own upload buttons call, so a file uploaded through Claude is stored exactly as one uploaded in the editor would be.
| Tool | What it stores | Accepted types |
|---|---|---|
exotool_upload_app_icon | The app's icon. From one image Exotool makes every size that the installed app (Add to Home Screen on iOS and Android), the desktop browser tab and the iOS native build need, replacing the icon it had. An SVG that is not square is centred on a transparent square, not stretched. | svg, jpg, jpeg, gif, png |
exotool_upload_app_background | The app's background image, prepared for use as a background. | svg, jpg, jpeg, gif, png |
exotool_upload_image | An image asset under a chosen name, in three sizes (128, 340 and 1024 pixels wide), stored as JPEG. Transparency is lost; a PNG that must stay transparent, or an SVG that must stay an SVG, goes through exotool_upload_file instead. With several links, the files are stored as name_1, name_2, ... in the order given. | svg, jpg, jpeg, gif, png |
exotool_upload_file | Any asset file under a chosen name, stored as it arrives with no conversion, as name.ext. | jpg, jpeg, gif, png, txt, pdf, xml, mp4, mp3, wav, svg, tiff, doc, xls, csv, xlsx, css, html, js, glb |
exotool_upload_library_file | A back-end library source file for a library element of the design. | php, js |
Three ways to send a file
- As content,
data_base64. Claude writes the file out as base64 in its call, which is slow: about 20 seconds for each kilobyte. This is the way for a small icon or an image Claude made itself, and not for a photograph or a document. - By link,
urlorurls. Claude gives the file's https address and Exotool downloads it, up to 8 MB, and keeps its own copy; the address is not kept. The link must be a direct or pre-signed download link, from any file host: a share link that opens a web page is refused.urlstakes up to 20 addresses in one call. An address on Exotool's own hosts, and one that carries an upload ticket, are refused. - As SVG text,
svg, for an icon, a background or an image that Claude draws: the smallest thing to send, and Exotool makes every size from it. The SVG must be under 1 MB and self-contained: no DOCTYPE or ENTITY declaration, no script, no reference to another file. An SVG sent toexotool_upload_imageis turned into the JPEG sizes like any image; to keep it as an SVG, send it toexotool_upload_file.
Exactly one of these is given in a call. A file's type comes from the address or from
fname, the file's name with its extension.
Names
Images, files and library files are stored under a name you or Claude choose, without an extension: it starts with a letter, holds only letters, digits and single underscores, and has at least four characters. The design refers to the file by that name. A file of the same name is replaced.
Large files: the upload page
For a file that is on your own machine and too large to send through the conversation, Claude
asks for a one-time upload link (the tool exotool_get_editor_url with
open: "upload", the project and the place the file goes). The link:
- works once, and must be opened within 2 minutes of being made;
- then the file must be sent within 5 minutes of opening it;
- lets whoever opens it upload one file into that one place, and nothing else: it carries no sign-in and opens nothing else in your account;
- takes a file of up to 8 MB, of the types the place accepts.
At most five unopened links exist for an account at a time. When you say the upload is done, Claude asks the server for the state of that upload by its handoff id (waiting, opened, done or expired) and only then uses the file.
Content rights
You are responsible for having the right to copy and use the content you upload or have Claude fetch, including content from a link you give it. Claude is told to remind you of this once in a conversation before fetching content that is not your own or not freely licensed, and to proceed when you confirm.
Your data
Through the MCP server Claude reaches only what your Exotool account reaches: your own projects, their designs, settings and uploaded files, the list of your resources without their secrets, and Exotool's reference documents. The server acts on a request from Claude and keeps nothing of the conversation; what Claude is told is the result of each request.
Exotool records, as it does for the editor, who made each save, upload and sign-in, when, and in which project, together with the ordinary web-server logs of each request. These records and logs are kept for at least 30 days. Exotool's privacy policy has a section on the MCP server.
Support
Write to info@exotool.com, or use the contact form. For a question about the connector, say which tool was involved and what Claude reported.
Exotool is made by Exotool, LLC, 28 Old Rudnick Lane, Dover, Delaware 19901.