Xodia is a remote MCP server. Any MCP client connects over Streamable HTTP, signs in with OAuth and gets 26 tools and 9 prompts for working on websites in Xodia. This page lists every one, how sign-in works and what a failed call returns.
Start freshPick a starter: a framework with Tailwind, ready to edit visually.
Import from GitHubOpen a site you already have. Saves go back to your repository and your host deploys them.
Connect your AI to build with itHideSkip
Connect your AI
Pick how you want to work, then follow the steps. Each command has a Copy button.
MacWindows
From XodiaClaude CodeClaude appOther
Cursor, Codex, VS Code and any other app that speaks MCP.
1
Add a remote MCP server
Type Streamable HTTP, sign-in with OAuth, and this URL:
https://app.xodia.ai/mcpCopy
2
Sign in and ask
Sign in to Xodia when the app asks, then ask it to work on your Xodia requests.
Xodia's New project dialog on its first step, with Connect your AI opened under Start fresh and Import from GitHub and the Other tab open: add a remote MCP server with Streamable HTTP, OAuth sign-in and the Xodia MCP URL, then sign in and ask.
Point your client at one address. It finds the sign-in from the server's metadata, registers itself and asks you to approve access in the browser.
Endpoint
https://app.xodia.ai/mcp
Transport
Streamable HTTP. No local process to install or run.
Sign-in
OAuth 2.1 with the authorization code flow and PKCE (S256). Clients register themselves with dynamic client registration, so there is no client ID or key to copy.
Registration
/oauth/register
Authorization
/oauth/authorize
Token
/oauth/token
Discovery
/.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server
Scopes
xodia and offline_access. The second lets your client stay signed in without asking again.
Tokens
Access tokens last 1 hour; refresh tokens 60 days.
Plans
Every plan, the free one too.
Every path is on https://app.xodia.ai. Disconnect a client at any time under Settings, AI agent, Connected apps, and its access ends.
26 tools in 11 groups, with their names as your client lists them. Read only tools change nothing; for the ones marked destructive, clients that follow MCP's hints ask you first.
Requests sent from Xodia's ask box arrive through get_next_request with a kind. Each kind names the skills to follow; your client loads them with get_skill. Stack pack skills for the site's framework, styling, CMS and host load the same way; CMS and host packs come with Starter, Pro and Agency.
Design system, Colour and themes, Extract design tokens, Accessibility, Interactions, Navigation, Fonts, favicon and 404, Image optimiser, Polish, Safe edits, Verify, Design critique, Site memory (AGENTS.md)
Page (page)
New or restructured pages
Plan and confirm, Design direction, New page, New section, Components, Navigation, Forms, Languages and regions, Fonts, favicon and 404, Draft pages, Page settings, Redirects and retired pages, Design system, Colour and themes, UI states, Image optimiser, SEO basics, Safe edits, Verify, Design critique, Site memory (AGENTS.md)
Fix (fix)
Something is broken
Visual fixer, Environment and hosts, Analytics and scripts, Image optimiser, Safe edits, Verify, Site memory (AGENTS.md)
A failed call doesn't break the session. It returns a normal tool result marked as an error, with a JSON error object your AI can read and act on.
Field
What it holds
code
A short machine name for what went wrong, such as a plan limit or a file that isn't there.
message
What went wrong, in plain words.
hintoptional
What to do next, written for your AI: retry, pick another project, ask you to upgrade or publish first.
actionoptional
What you can do about it in Xodia, such as upgrading or signing in again.
detailsoptional
Extra facts about the failure, such as the limit that was reached.
retryableoptional
Present and true when the same call may work if tried again.
For example, what reply_to_request returns when another app has already taken the request:
Tool result
{
"error": {
"code": "request_claimed",
"message": "Another agent has taken over this request.",
"hint": "Stop working on it and call get_next_request."
}
}
A client that makes more calls than Xodia allows in a minute gets the error rate_limited with the action retry, and its details say how many seconds to wait. While Xodia is being updated, calls answer maintenance; try again after the time it gives.
Note:
Tools edit files as unsaved changes and save restore points only when asked. Saving to the live branch of a site imported from GitHub is refused, and publishing stays a button in Xodia. Setup for each app is in Ways to connect your AI.
May we use Google Analytics to see how people find and use this site? It sets cookies only if you allow it. Cookie policy