Radial app
MCP
radial mcp serves Radial to any agent that speaks the
Model Context Protocol: Claude Desktop, Cursor, Codex, and Claude
Code outside Radial. The same verbs as the
command line, as tools, plus each site's
context documents as resources. Nothing runs in the cloud: the agent
talks to the app on your Mac.
Connect an app
Each client keeps a small config file. radial mcp --config
prints the entry with the right path for your install; paste it in and
restart the client.
radial mcp --install claude # writes Claude Desktop's claude_desktop_config.json (keeps your other servers)
radial mcp --install cursor # ~/.cursor/mcp.json
radial mcp --install codex # ~/.codex/config.toml
radial mcp --config claude # or just print the entry to paste
The previous file is kept next to it as .bak-radial.
For Claude Code in a terminal: claude mcp add radial -- radial mcp.
Inside Radial's own terminals the agent already has the
radial command and doesn't need MCP.
What the agent can do
| Tool | Does |
|---|---|
list_projects | Open projects with their preview URLs and state, plus what needs a person: sessions waiting on you, open comments, unpublished changes. Recent ones too. |
open_project | Open a project by path, name, owner/repo, or GitHub link, and bring it forward. Clones when needed. |
get_context | Everything Radial knows about a site: rules, .context docs, references, pages, preview URL, open comments. Works with the app closed. |
preview_url | The live preview URL. The one way to get a port right. |
project_status, list_pages, list_comments | Git and preview state, the routes, review comments. |
screenshot | A full-page capture of a route in the running preview; returns the PNG path. |
new_project | Scaffold a site from a starter and open it. |
focus_app, sleep_project, wake_project, close_project | Window and lifecycle. Closing with live agent terminals needs yes. |
reload_preview, restart_dev_server | Reload the live preview (⌘R); restart the dev server cleanly when hot reload is stuck: fresh port, preview repointed, agent sessions untouched. A server started outside Radial is left alone. |
list_tokens, set_token | The site's design tokens (CSS variables from its own stylesheets) with type, modes and uses; set one by rewriting its declaration. Tokens also ride along in get_context. |
list_fields | A page's editable text and image fields as the Content panel lists them, each with an id. The ids pin the tools below to an exact element. |
edit_text, swap_image, set_meta, undo_edit, redo_edit | Change a site deterministically, no agent: rewrite a piece of visible text (by field id, or by its current text pinned by route or file), swap an image, set a head tag; undo the last edit. Ambiguous matches come back as candidates, never a guess. |
add_context_doc, add_reference, remove_reference, add_rule | Give the site context back: a committed .context doc, a reference link, an AGENTS.md rule. Every later session reads them. |
add_comment, resolve_comment | Pin a review comment to a page or element; mark one resolved. |
pull_comments | Pull Vercel Toolbar comments on the project's deployments into its comments (Vercel CLI 59.1 or newer, signed in, folder linked). Radial also pulls on its own while the project is open. |
sync, publish, share | Pull teammates' changes; commit and push to staging, or to production with to and yes (the build gate runs first); start or stop a live share link (Pro). |
list_moments, record_moment, restore_moment | Version history: list, record a restorable snapshot, restore one (needs yes). |
run_agent, send_to_agent | Start a new, visible Claude Code (or Codex, Cursor) session in the project's terminal inside Radial and submit the task; send a follow-up into a running session. The person watches and can take over in the app. |
agent_wait, agent_output, list_agents, kill_agent, keep_agent_awake | Wait for a session's bell (done, or needs you), idle, or exit and read its screen as text; list sessions with their state (working, waiting, idle); end one (needs yes); keep one awake so it is never parked and the Mac stays up while it runs. |
start_home_agent | Show Home and start its agent: the one session that can open any site, read its context, and start sub-agents. |
Resources: every project's AGENTS.md and each file in its
.context folder appear as
radial://project/… resources a client can attach to a
conversation.
Working from your phone
The Claude mobile app can remote-control a Claude Code session. Start
one in Radial's Home terminal and it has the radial
command and every site's context on hand: from your phone you can open
any site, read its context, edit it, or start a visible sub-agent in a
site's own terminal and watch it in the app. Nothing extra to set up.
A session you drive from your phone has to stay running, and Radial
normally parks idle sessions when their project sleeps. Choose
Keep awake from the session's menu in the app, or
call keep_agent_awake, and Radial never parks it and
keeps the Mac from idle-sleeping while it runs. That works for as
many sessions as you like, one per site.
Rules that hold everywhere
- Tools that change something outward-facing or destructive take a
yesargument and refuse without it. - Any agent session Radial starts is your own Claude Code, visible in the app, started because you or your agent asked. Radial never runs hidden agents.
run_agentsubmits the task because the person asked their agent to run it; the app's own buttons still never submit for you. - Names are matched strictly; a close call returns the candidates instead of a guess. Agents do best with paths.