MCP server
Todae runs a Model Context Protocol (MCP) server at https://todae.omsoo.design/api/mcp. An AI agent connected to it can look up Todae's components, recipes and tokens, find what changed between two versions, check a company's token files with the same build todae-tokens build runs, and draft the starter files of a design system on Todae. It speaks Streamable HTTP and needs no sign-in or install. It describes the latest version of @tounsoo/todae on npm and reports that version as its own, so a change on main reaches it with the next release.
On this page
Connect
Claude Code
Add the server from your project folder:
claude mcp add --transport http todae https://todae.omsoo.design/api/mcp
Add --scope project to save it in the project's .mcp.json, so everyone who works in the repository gets it:
{
"mcpServers": {
"todae": { "type": "http", "url": "https://todae.omsoo.design/api/mcp" }
}
}
Claude Desktop and claude.ai
Open Settings, then Connectors, choose Add custom connector, and enter https://todae.omsoo.design/api/mcp as the URL.
Cursor
Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"todae": { "url": "https://todae.omsoo.design/api/mcp" }
}
}
VS Code
Add the server to .vscode/mcp.json in your project:
{
"servers": {
"todae": { "type": "http", "url": "https://todae.omsoo.design/api/mcp" }
}
}
Other clients
A client that supports Streamable HTTP takes the URL as it is. A client that only starts local servers over stdio can reach it through a bridge such as mcp-remote:
{
"mcpServers": {
"todae": { "command": "npx", "args": ["-y", "mcp-remote", "https://todae.omsoo.design/api/mcp"] }
}
}
Tools
Components:
list_components: every component, part, hook and helper, with its description and docs page.get_component: one component or part, with its props and parts.when_to_use: the "When to use" section of a component's docs page. A page without one returnsstatus: "missing"; the server doesn't write the copy itself.
Recipes:
list_recipes: every recipe, the docs code that puts Todae's exports together for a product flow such as a data table or a wizard, with its summary and the exports its code uses.get_recipe: one recipe's page source, with its code, by name, such asdata-table, or title.
Tokens:
list_tokens: tokens from Todae's catalog, with their type, layer, context, the set or modifier that declares them, CSS custom property, CSS value and description. Filter by a path prefix such ascolor.accent, or by layer.get_token: what one token is for, the set or modifier that declares it, its value in each context, such aslightanddark, and the tokens whose values read it.get_contrast_pairs: Todae's APCA pairs, with each pair's minimum Lc and what Todae's base theme measures. A company token package inherits them, and may change a pair's minimum or add pairs.
Building a design system:
build_tokens: runstodae-tokens buildon a company token package. Pass each.jsonfile by its path inside the token folder, and name the resolver among them withresolverif it isn'tresolver.json.scope, a CSS selector, builds a theme for part of a page, as--scopedoes. It returns the theme CSS and theTHEME_OVERRIDE_TYPESmodule, or the build's error, which lists any contrast pairs that fall short.scaffold_design_system: drafts a company resolver and token files. It takes aname, and optionally appearance colors to replace (OKLCH channels for light and dark), new button variants, which start as copies ofsecondary, and new densities, which start as copies ofcomfortable. It returns the token files by path inside atokensfolder, in the shapebuild_tokenstakes, andsrc/todae.d.tsdeclaring the new variant and density names, with the result of building the token files.get_guide: the source of a docs page about building on Todae:get-started,build-on-todae,tokens,css-layers,composition,platformormcp.
Upgrading:
get_changes: the changelog entries of each release afterfrom, the installed version, such as0.2.0, up toto, or the latest release when you leave it out. Releases come oldest first, each with its breaking changes apart from the rest. Before 1.0, a minor release is the breaking one.
Build a design system with an agent
Ask your agent for the design system you want, for example:
Using the todae MCP, start a design system called acme on Todae. Make the accent a deep red in light and dark, add an outline button variant, and fix any contrast pairs the build reports. Save the files in this repository.
An agent with these tools can read Build on Todae with get_guide, find the tokens to change with list_tokens, draft the files with scaffold_design_system, then edit them and check each change with build_tokens until the build passes. Your agent saves the files: the server writes nothing to your machine.
Then build the files in your project with the todae-tokens CLI, and load the CSS after Todae's, as Build on Todae describes.
Upgrade with an agent
Ask your agent to upgrade, for example:
Using the todae MCP, upgrade @tounsoo/todae in this repository to the latest version and fix what the breaking changes need.
An agent can find the installed version in node_modules/@tounsoo/todae/package.json or your lockfile (not the range in your own package.json, such as ^0.2.0), call get_changes with it, and work through each release's breaking changes in order.
Limits
build_tokens and scaffold_design_system write the token files to a temporary folder on the server and remove it when the call ends. build_tokens takes at most 64 files, 512 KB in all. A build that runs longer than 10 seconds is stopped, and a call that arrives while the server is busy with other builds is asked to try again.
The component and guide tools read the English docs pages, so their copy is in English.