> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moda.app/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Connector

> Add Moda to claude.ai and Claude Desktop as a custom MCP connector — one URL, no install.

The Moda connector is the path for hosts where your agent **cannot run a shell** — claude.ai in the browser, Claude Desktop, and other chat-first surfaces. It is a hosted MCP server: you paste one URL, sign in once, and your assistant can create, read, edit, and export real Moda canvases.

If your agent does have a terminal, use the [CLI](/agents/cli-quickstart) instead. It is cheaper in context, faster, and it can see the files on your machine. The connector exists so nobody is stuck without Moda, not as the recommended default.

<Note>
  The connector and the CLI call the same Moda service, so plan entitlements, credits, brand kits, and canvases are
  identical across both. Nothing is gated on which transport you picked.
</Note>

## Connector URL

```
https://agents.moda.app/mcp
```

## Set it up on claude.ai

<Steps>
  <Step title="Open connector settings" icon="gear">
    Go to [**Customize → Connectors**](https://claude.ai/settings/connectors), click **+**, and choose **Add custom
    connector**.
  </Step>

  <Step title="Add Moda" icon="plus">
    Name it `Moda`, paste the connector URL above, and click **Add**.
  </Step>

  <Step title="Connect and sign in" icon="key">
    Click **Connect**. Moda opens an OAuth sign-in in your browser; approve the scopes. Tokens are held by Claude — the
    model never sees a credential.
  </Step>

  <Step title="Choose a workspace" icon="users">
    If your Moda account belongs to more than one workspace, Moda asks which one this connection should act in. One
    workspace and the step is skipped. Your agent can still act in another of your teams on an individual call; changing
    the *default* means disconnecting and reconnecting.
  </Step>

  <Step title="Turn it on in the chat" icon="toggle-on">
    In a conversation, click **+** at the lower left (or type `/`), hover **Connectors**, and toggle **Moda** on.
  </Step>
</Steps>

The same URL works in **Claude Desktop**: **Customize → + → Add custom connector**.

### Plan and workspace notes

| Plan              | What to expect                                                                                                                                                               |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Free              | Supported — Claude limits Free accounts to one custom connector, so Moda has to be the one.                                                                                  |
| Pro / Max         | Add it yourself with the steps above.                                                                                                                                        |
| Team / Enterprise | Only an **Owner** can add it for the organization (**Organization settings → Connectors**). Each member then connects individually and signs in with their own Moda account. |

Every member holds their own grant, so each one only ever sees the canvases, orgs, and credits their own Moda account
has access to.

## Set it up on ChatGPT

ChatGPT reaches the same connector once its developer switch is on:

<Steps>
  <Step title="Turn on developer mode" icon="flask">
    **Settings → Security and login → Developer mode.** Once per account.
  </Step>

  <Step title="Create the connector" icon="plus">
    Open **ChatGPT Plugins**, click **+**, and create a developer-mode app for a remote MCP server using the connector
    URL above.
  </Step>
</Steps>

Two things to expect there. Write actions ask for confirmation on each call by default — that is ChatGPT's behaviour,
not Moda's, and you can tell it to remember your choice for the conversation. And developer-mode availability differs
by plan, so check OpenAI's own documentation if the switch is missing.

Moda is not published as a ChatGPT deep-research connector — that needs a different `search`/`fetch` tool shape, which
this surface does not expose. Developer mode is the supported route.

## First calls

The connector expects two calls before real work:

1. **`moda_bootstrap`** — the handshake. Returns your identity and teams, plan tier, scopes, entitlements, and the current media model matrix in one payload, so the assistant can skip a pile of lookups. (Brand kits come from `brand_list`.)
2. **`load_skill`** — Moda's full authoring guides, served live by the server. Call it before authoring a format you have not authored yet in this conversation. See [Skills](/agents/skills).

After that it is the normal loop: create or find a canvas, apply markup or an edit batch, screenshot it, repair, export.

## What the connector can and cannot reach

The connector runs in the host's cloud and talks to Moda's servers. **It never touches your machine.**

**It can use:** conversation context, attachments the host passes to tools, URLs you paste, and files already in your Moda workspace.

**It cannot use:** local paths, local folders, repositories on your disk, or writing an export to a folder you choose. No connector tool takes a file path.

Two consequences worth knowing:

* **Content goes inline.** Markup and edit programs are passed as string arguments, not read from a file.
* **Results come back as links.** Every mutation returns the canvas's editor URL, and exports return a download link rather than writing a file. Opening it in the browser is the connector's equivalent of the CLI writing the file next to your source.

If a host cannot pass an attachment's bytes to a tool, the `upload` tool falls back to an in-conversation upload control, and failing that, to uploading the file at [moda.app](https://moda.app) and telling the assistant to look for it.

## The tool surface

The connector exposes one focused profile rather than everything Moda can do — a tool list an assistant can actually hold in its head:

| Family    | Tools                                                                                                                                                                       |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Session   | `moda_bootstrap`, `load_skill`, [`ask_expert`](/agents/ask-expert)                                                                                                          |
| Canvases  | `canvas_list`, `canvas_search`, `canvas_create`, `canvas_read`, `canvas_apply_markup`, `canvas_edit`, `canvas_update`, `canvas_screenshot`, `canvas_share`, `canvas_delete` |
| Brand     | `brand_list`, `brand_show`, `brand_create`                                                                                                                                  |
| Assets    | `upload`, `file_search`, `file_list`, `drive_tree`, `drive_organize`, `drive_delete`, `template_list`                                                                       |
| Media     | `media_generate_image`, `media_generate_video`, `media_upscale`, `media_video_frames`                                                                                       |
| Delivery  | `export`, `site_list`, `site_show`                                                                                                                                          |
| Long jobs | `task_status`, `task_cancel`                                                                                                                                                |

Work that takes a while — a video render, a large export — returns a task handle immediately; the assistant polls
`task_status` rather than blocking the conversation. There is no tool for handing a whole design brief to Moda's own
design agent: on this surface the assistant authors the canvas itself with the tools above.

## Troubleshooting

| Symptom                                            | Fix                                                                                                          |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Tools do not appear in the conversation            | Open the tools menu and enable **Moda**; on Team/Enterprise, confirm an admin approved the connector.        |
| Sign-in loops, or tools return "not authenticated" | Remove the connector and re-add it — the OAuth grant is tied to the connector's URL.                         |
| The assistant sees `start_design_task` and friends | That is the [legacy MCP server](/mcp/overview), not this connector. Re-add the connector with the URL above. |
| A tool reports the canvas is busy                  | Something else is editing that canvas (an agent job, or someone in the editor). Retry — the error says so.   |

Still stuck? [support@moda.app](mailto:support@moda.app).
