AI agents
MCP server
Connect your agent with one address and a browser sign-in, or run @aicanvas/mcp on your machine. Either way it searches, reads and installs AI Canvas components and design systems without leaving the chat.
The server speaks the Model Context Protocol (MCP), the standard AI coding tools use to reach outside data. It reads the live registry, so new components show up within minutes with no update. Every tool only reads, except disconnect, which ends your own agent's connection.
Connect with sign-in
Add this address to your agent. It speaks Streamable HTTP. Sign-in is in beta.
https://mcp.aicanvas.me- Add the address to your agent.
- Your browser opens when the agent connects, or when you click its Connect button (in Cursor: Settings, Tools & MCPs). Sign in to AI Canvas or create a free account, then click Allow right away: some agents stop waiting in less than a minute.
- Ask for what you want in plain words.
Run this in any terminal. It works in every project.
claude mcp add --transport http --scope user aicanvas https://mcp.aicanvas.meclaude mcp login aicanvasYour browser opens. Sign in to AI Canvas and click Allow.
Ask your agent “Use the aicanvas MCP: what can you add to my app?”
Your account stays yours
Your agent gets its own sign-in. It never gets your password or your browser session. It cannot change your account, your password or your plan, and it cannot buy anything.
Each sign-in lasts an hour and renews itself until you disconnect the agent. You get an email when a new agent connects.
See and disconnect every agent in Settings, Connected AI agents. An agent can also disconnect itself with the disconnect tool.
No browser? CI and remote shells
Send your API key to the same address as the header Authorization: Bearer <your key>. Get or rotate the key in Account settings. Store it as a secret in your CI, never in git. Use either the browser sign-in or the header, never both: a saved header overrides the sign-in, so every call would fail.
claude mcp add --transport http --scope user aicanvas https://mcp.aicanvas.me --header "Authorization: Bearer aic_your_key"Stuck signed out?
AI Canvas tools may stop answering, or your agent may say it is not authorized. Possible causes:
- You disconnected the agent in settings.
- The sign-in took longer than your agent waits. Some wait less than a minute. If the browser says it cannot reach localhost after you click Allow, your agent had already stopped waiting.
- The browser says “This sign-in request has ended” because the request expired or was already answered.
- The browser says “Your AI agent needs to connect again”: its saved connection is no longer valid. Starting again reuses it, so remove the server from your agent and add it again.
- If you use the header method, you rotated your API key.
To fix it, start the sign-in again from your agent. For Claude Code, run claude mcp login aicanvas. For Codex, run codex mcp login aicanvas. In other agents, use the reconnect or sign-in action, or remove the server and add it again. If you are already signed in to aicanvas.me in that browser, it goes straight to Allow. For the header method, copy your new key.
In Cursor, click Authenticate when it appears in the chat, or open Cursor Settings, Tools & MCPs and click Connect next to aicanvas. Until you sign in again it shows Error there: click Logout, then Connect. If the Error stays after that, quit Cursor and open it again.
VS Code asks to sign in again by itself: click Allow, then Allow in the browser. If Copilot answers without AI Canvas, start your prompt with #aicanvas.
Codex does not open the sign-in by itself: its AI Canvas tools answer “Authentication required”. Run codex mcp login aicanvas in a terminal, then click Allow.
In the ChatGPT desktop app, open Settings, Plugins, MCPs and click Authenticate next to aicanvas. ChatGPT and Codex share that list, so signing in from one signs in both.
What we store
For each connected agent, we store its name, the address it returns to after sign-in, when it connected, when it was last used, and the country of the browser and the agent. Sign-in tokens are stored only as hashes. Disconnecting deletes the connection. Read the Privacy Policy.
Run it locally with npm
Pick your agent. Replace your-token with the token from Account settings, or sign in on the MCP page and copy a command with your token already in it.
Run this in any terminal → works in every project. Your token lives in your home folder, out of git.
claude mcp add aicanvas --scope user --env AICANVAS_TOKEN=your-token -- npx -y @aicanvas/mcpRun this in any terminal → works in every project
codex mcp add aicanvas --env AICANVAS_TOKEN=your-token -- npx -y @aicanvas/mcpCommand Palette → MCP: Open User Configuration → add the aicanvas entry → Start above it. Your token stays in your home folder, out of git. Start prompts with #aicanvas so Copilot uses it.
{
"servers": {
"aicanvas": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@aicanvas/mcp"],
"env": { "AICANVAS_TOKEN": "your-token" }
}
}
}Add the aicanvas entry to ~/.cursor/mcp.json → Cursor Settings → Tools & MCPs → aicanvas on. Your token stays in your home folder, out of git. One click instead: the MCP page.
{
"mcpServers": {
"aicanvas": {
"command": "npx",
"args": ["-y", "@aicanvas/mcp"],
"env": { "AICANVAS_TOKEN": "your-token" }
}
}
}Add the server to claude_desktop_config.json, then restart Claude Desktop.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"aicanvas": {
"command": "npx",
"args": ["-y", "@aicanvas/mcp"],
"env": { "AICANVAS_TOKEN": "your-token" }
}
}
}Any tool that runs MCP servers over stdio can start it with npx -y @aicanvas/mcp. Most take the same JSON shape:
{
"mcpServers": {
"aicanvas": {
"command": "npx",
"args": ["-y", "@aicanvas/mcp"],
"env": { "AICANVAS_TOKEN": "your-token" }
}
}
}Try it
Start every prompt with “use the aicanvas MCP”. Agents often skip MCP tools and search the web unless you name them.
Use the aicanvas MCP to list the component categories.It should list the categories with their counts. Then try:
- "Use the aicanvas MCP to find a navbar and install it."
- "Use the aicanvas MCP to plan a settings page from Andromeda Pro, then build it."
- "Use the aicanvas MCP to check the components in this file against their props."
Tools
Find
| Tool | What it does |
|---|---|
list_categories | Every category with its component count. |
list_components | Browse standalone components, optionally by category. |
search_components | Search standalone and design-system components by keyword. |
list_systems | The design systems, with component and template counts. |
list_templates | The ready-made screens, optionally by system. |
Read
| Tool | What it does |
|---|---|
get_component | Details and the full source of one component. |
get_component_props | The documented props of one component. No account needed. |
get_system | Every file of a design system, its tokens and its install commands. |
get_template | Every file of one template, with what it depends on. |
Plan and check
| Tool | What it does |
|---|---|
compose_page | Turns a one-line brief into a build plan: template, components, install order. Writes no code. |
validate_usage | Checks a file against the props of the components it uses, with line numbers. |
get_audit_checklist | The checklist to run on a finished page: install, props, both themes, small screens, keyboard. |
Install
| Tool | What it does |
|---|---|
get_install_command | The shadcn command for one standalone or design-system component. Whole systems and templates list theirs in get_system and get_template. |
Icons
| Tool | What it does |
|---|---|
search_icons | Finds icons by name, tag or category, best match first. |
get_icon_install | The shadcn command, import line and JSX for one icon in one style. |
Account (sign-in only)
| Tool | What it does |
|---|---|
whoami | The connected AI Canvas account, its plan and what that plan can install. |
disconnect | Ends this agent's connection when you ask it to sign out. |
The best order for a new page: compose_page to plan, get_component_props before writing each component, validate_usage on the finished file, get_audit_checklist before calling it done.
Accounts and Premium
- Browsing, search, props and install commands need no account.
- Reading source needs a free account: set
AICANVAS_TOKEN. - Premium components, Andromeda Pro, its templates and the AI Brain need an account with Premium.
- Icons in the Line style install with a free account. Duotone, Solid and Solid duotone need Premium.
- With sign-in, your plan comes along: Premium items show as locked with an upgrade link, and upgrading unlocks them on the same connection. There is no daily request limit.
Without a token, a source request returns a short note asking for a free account instead of the code.
Configuration
| Variable | Default | What it does |
|---|---|---|
AICANVAS_TOKEN | none | Your account token. Unlocks source, and Premium when your account has it. |
AICANVAS_REGISTRY_BASE | https://aicanvas.me/r | The registry root. Change it only to test against your own mirror. |
npx can reuse a copy it cached earlier. To always start the newest version, use @aicanvas/mcp@latest in the command. The package is on npm.
Troubleshooting
The tools do not show up
Restart your tool after adding the server; most read their MCP list only at start. Check that Node.js is installed and that npx runs in a terminal.
"Failed to spawn process" or a network error
npx could not fetch the package. Check your connection or proxy, then restart the tool.
Source comes back as a sign-up note
The token is missing or wrong. Copy it again from Account settings and update the AICANVAS_TOKEN value in your config.
Test the server on its own
This opens a browser window where you can call each tool by hand:
npx -y @modelcontextprotocol/inspector npx -y @aicanvas/mcp