MCP connections
Connect the Claude app, ChatGPT, Claude Code or Codex to every workspace on your account over MCP, what the agent can do once it is in, and what to do when it will not connect.
What an MCP connection is
MCP is the standard way chat apps talk to outside tools. Sundial speaks it at one address, https://www.sundial.md/mcp. Add that address to the Claude app, to ChatGPT, or to a coding agent, sign in once, and the agent can read and edit every workspace you can. It shows up in the presence bar like any other collaborator, and every edit it makes is tracked under its name.
It is a beta. The everyday way to bring an agent in is still the Share window and Open with, which need no setup. Reach for MCP when you want one permanent connection to all of your workspaces from an app you already live in.
Connect the Claude app
- In Sundial, open Settings → Advanced → MCP connections.
- Click Add to Claude.ai. Claude opens its "Add custom connector" window with the name and address filled in.
- Click Add, then Connect, and let Sundial sign you in. You do this once.
A connector you add on claude.ai is also there in the Claude desktop app. Turn it on for a chat from the tools menu, then ask Claude to list your Sundial workspaces.
If you would rather fill the window yourself, the connector name is Sundial and the address is https://www.sundial.md/mcp.
Connect ChatGPT
- In ChatGPT, turn on Developer mode under Settings → Apps → Advanced settings.
- Create an app and paste
https://www.sundial.md/mcpas its address. The Add to ChatGPT button in Sundial's MCP connections copies the address for you. - Sign in when asked.
ChatGPT also gets search and fetch, so you can ask it to find a document across your workspaces and read it in place.
Connect Claude Code or Codex
MCP connections prints the exact command for the workspace you are in. It looks like this:
claude mcp add --transport http sundial "https://www.sundial.md/mcp?workspace=<id>" && claude mcp login sundial
codex mcp add sundial --url "https://www.sundial.md/mcp?workspace=<id>" && codex mcp login sundial
The login step opens your browser once. The ?workspace=<id> part lands the agent in that workspace on its first call. Leave it off to connect at the account level instead.
Run the server on your own computer
The hosted address above is the easy path. If you want a key-based connection to one workspace instead, for example for an agent that runs without a browser, install the server from npm. It signs in with the key a coding agent saved when you let it in from the Share window (New agent…), found at ~/.sundial/agents/<app>.key, for example claude-code.key. Put this in claude_desktop_config.json:
{
"mcpServers": {
"sundial": {
"command": "npx",
"args": ["-y", "sundial-mcp"],
"env": { "SUNDIAL_TOKEN": "sa_...", "SUNDIAL_WORKSPACE_ID": "<workspace id>" }
}
}
}
Claude Code takes the same thing as one command:
claude mcp add sundial -e SUNDIAL_TOKEN=sa_... -e SUNDIAL_WORKSPACE_ID=<id> -- npx -y sundial-mcp
The agent's role on each file is whatever you set for it in the Share window. Remove it there and the next call is refused.
What the agent can do
Once connected, the agent has these tools. Names are what the agent sees.
| Tool | What it does |
|---|---|
sundial_list_workspaces | Finds a workspace by name. The ten most recent come back on the first error, so the agent rarely needs to ask. |
sundial_create_workspace | Makes a new workspace on your account. |
sundial_list_files, sundial_read_file, sundial_grep | Reads the files in a workspace. |
sundial_write_file, sundial_edit_file, sundial_rename_file, sundial_delete_file | Changes files. Every change lands as a suggestion you accept or reject, unless the agent's role on that file is edit and it asked for a direct edit. |
sundial_run_bash | Runs a command in the workspace's own sandbox, not on your computer. |
sundial_list_comments, sundial_comment, sundial_reply_comment, sundial_resolve_comment, sundial_watch_comments | Reads and writes comments, and waits for your review feedback. |
sundial_prepare_local_sync | Only when you ask: prepares a one-time command that attaches a folder on your computer. |
search, fetch | ChatGPT's own search and read tools, across every workspace you can open. |
What the agent may touch
The agent is one of your agents, not you. Each app you sign in with is its own agent: Claude on claude.ai, Claude Code on this laptop, ChatGPT. The first time one opens a workspace, it joins that workspace's list in the Share window as "Claude Code · MCP connector" (or ChatGPT, Codex, Cursor) at suggest: it can read everything you can and propose changes, but nothing lands until you accept it. In the Share window you can change that per workspace, folder or file:
- view: read only.
- suggest: propose changes you review. The default.
- edit: change files directly, when the agent asks for direct edits.
It never gets more than you have. Remove it there, or under Settings → Agents, and its next call is refused. A workspace the agent made for you (sundial_create_workspace) starts at edit, so an import lands as files rather than as a pile of suggestions.
To see what the agent did, open the link it hands you: every file it reads or writes comes back with one that opens that exact file. Sundial renders every edit live, no refresh needed. The rules an outside agent follows are on Start here.
When it will not connect
- The sign-in window never comes, or says the address is wrong. Check it is exactly
https://www.sundial.md/mcp, withwww. The bare domain redirects and drops the sign-in on the way. - "You do not have access to this workspace." The agent can only open what your account can. Open the workspace in Sundial once, or ask its owner to share it with you.
- The agent asks which workspace, every time. Use the
?workspace=<id>address from MCP connections, or tell it the workspace name once per chat. - "Too many tool calls in a short time." One person's agent gets about 300 tool calls every five minutes. A loop that retries the same call hits this; the agent waits a minute and continues.
- A long command or a review wait stops early.
sundial_run_bashhas a five minute limit andsundial_watch_commentswaits about a minute per call. The agent calls again to keep going. - You want to cut the agent off. Remove the connector in the Claude app or ChatGPT. Its past edits stay in history under its name, and you can undo them from there.