Skip to content
Docs
Start free

MCP server reference

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.

On this page

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.

Endpoint and sign-inLink to this section

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
TransportStreamable HTTP. No local process to install or run.
Sign-inOAuth 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
Scopesxodia and offline_access. The second lets your client stay signed in without asking again.
TokensAccess tokens last 1 hour; refresh tokens 60 days.
PlansEvery 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.

ToolsLink to this section

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.

ProjectsLink to this section

ToolWhat it does
list_projectsRead onlyLists your workspace's website projects and when each was last opened.
create_projectStarts a new website from one of five starters: the Xodia template, Next.js, Astro, a React Router app or HTML on Vite, all on Tailwind v4.

Workspace and previewLink to this section

ToolWhat it does
open_workspaceStarts the project's live preview and shares its Xodia link.
get_projectRead onlyReads the site's framework, styling, CMS, host, editing tier, branch and unsaved changes.

FilesLink to this section

ToolWhat it does
list_filesRead onlyLists the project's files with their sizes.
read_fileRead onlyReads a file, with line numbers.
write_fileCreates or replaces a file.
edit_fileChanges part of a file by exact replacement, so edits stay small and safe.
search_filesRead onlySearches the code for text or a pattern.
delete_fileDestructiveDeletes a file or folder.
move_fileMoves or renames a file or folder.

Checks and logsLink to this section

ToolWhat it does
run_checkRead onlyRuns a typecheck, a production build or a design check (design tells, low contrast, over-long lines) and reports every finding.
get_logsRead onlyReads the dev server log: compile errors, warnings and reloads.

SelectionLink to this section

ToolWhat it does
get_selectionRead onlyGets the element you selected in Xodia, with its place in the source.

CheckpointsLink to this section

ToolWhat it does
save_checkpointSaves the unsaved changes as a restore point, when you ask it to.
list_checkpointsRead onlyLists restore points, newest first.
restore_checkpointDestructiveTakes the site back to an earlier restore point without losing current work.

Requests from XodiaLink to this section

ToolWhat it does
get_next_requestWaits for the next change you ask for in Xodia and picks it up.
reply_to_requestPosts progress and the result back to you in Xodia.
get_requestRead onlyChecks a request's status, so cancelled work is dropped.

SkillsLink to this section

ToolWhat it does
get_skillRead onlyLoads one of Xodia's skills for the work at hand.

DeploysLink to this section

ToolWhat it does
deploy_statusRead onlyShows the latest deploy on your host: state, address and log link.
deploy_logsRead onlyReads a failed build's log so your AI can fix it.

SEO and speedLink to this section

ToolWhat it does
run_seo_testTests a live page with Google PageSpeed Insights: scores, Core Web Vitals and failed checks.
get_seo_reportRead onlyReads the latest PageSpeed result without using a test.

ScreenshotsLink to this section

ToolWhat it does
take_screenshotRead onlyCaptures the live preview in a real browser, at desktop or phone size, with console errors.

PromptsLink to this section

Clients that support MCP prompts list these, each with an argument for what you want. In Claude Code, Xodia's plugin turns them into /xodia commands.

PromptWhat it does
build <what to build>Build or redesign a Xodia website from a description
work [project name]Listen for change requests from Xodia and work through them
animate <what should move, and when>Add interactions and animation to a Xodia site: hover, reveals, scroll effects, page transitions
content <what to add or change>Add or change CMS content and collections on a Xodia site: posts, projects, team, drafts
polish [page, section or component]Give a Xodia page or component a finishing pass on the small design details
fix [what looks wrong]Find and fix what's broken in a Xodia preview
review [project name]Review a Xodia project's unsaved changes before saving
seo [page or goal]Check and improve a Xodia site's SEO and AI search readiness
speed [page]Make a Xodia site load faster

Request kindsLink to this section

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.

KindForSkills
Auto (auto)Let the agent decideRequest router, Guardrails
Content (content)Wording, images, linksContent changes, CMS content, Page settings, Image optimiser, Safe edits, Verify, Site memory (AGENTS.md)
Design (design)Look and layoutDesign 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 pagesPlan 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 brokenVisual fixer, Environment and hosts, Analytics and scripts, Image optimiser, Safe edits, Verify, Site memory (AGENTS.md)
Ask (question)A question, no changesRequest router

ErrorsLink to this section

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.

FieldWhat it holds
codeA short machine name for what went wrong, such as a plan limit or a file that isn't there.
messageWhat went wrong, in plain words.
hintoptionalWhat to do next, written for your AI: retry, pick another project, ask you to upgrade or publish first.
actionoptionalWhat you can do about it in Xodia, such as upgrading or signing in again.
detailsoptionalExtra facts about the failure, such as the limit that was reached.
retryableoptionalPresent 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."
  }
}

ActionsLink to this section

When an error carries an action, it names what can fix it:

ActionWhat to do
retryTry the same call again, after Retry-After seconds when the response gives them.
sign_inThe session or token ended: sign in to Xodia again.
open_previewOpen the project's workspace first (open_workspace) so its preview runs.
restart_previewRestart the preview, then try again.
connect_cloudflareThe workspace's own Cloudflare account needs connecting in Previews.
reconnect_cloudflareCloudflare stopped accepting Xodia's access: connect it again.
upgrade_workers_paidThe Cloudflare account needs the Workers Paid plan for previews.
install_runtimeInstall Xodia's runtime on the workspace's own Cloudflare.
update_runtimeUpdate Xodia's runtime on the workspace's own Cloudflare.
connect_agentConnect an AI app to the workspace.
upgrade_planA plan limit was reached: ask the user to upgrade in Billing & usage.
start_helperThe Xodia helper isn't running: start it with the command from Xodia.
add_cardThe workspace needs a verified card first.
verify_emailThe owner's email address isn't verified yet.
reconnect_insightsAn analytics source's access was rejected: connect it again in Insights.
enable_analyticsAnalytics are off at the provider: turn them on there.
ask_agentXodia can't make this change visually: send it to the user's AI.
reconnect_cmsThe CMS no longer accepts the saved token: paste a new one in the Content tab.
top_upBuilt-in AI tokens are used up: a top-up pack in Billing & usage gets past the limit.
waitNothing to buy or change: try again at details.resetsAt.
contact_ownerThe caller can't fix it: ask a workspace owner.

Rate limits and maintenanceLink to this section

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.