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

# Draft and production

> How Metabind separates editable drafts from stable production endpoints

Every Metabind project has two MCP server endpoints: a **draft** that updates instantly as you edit and a **production** endpoint that only changes when you publish. This separation is the same shape web teams use for staging and prod, mapped to MCP.

## The two endpoints

<Frame>
  <img src="https://mintcdn.com/yapstudios/ZJLavl8Q7LnCwqCq/images/diagrams/draft-and-production.svg?fit=max&auto=format&n=ZJLavl8Q7LnCwqCq&q=85&s=b88daad79e9f70a00853e8c07059a573" alt="MCP App Studio edits flow into a draft endpoint that always reflects the latest save; promotion to the production endpoint only happens on publish." noZoom width="960" height="760" data-path="images/diagrams/draft-and-production.svg" />
</Frame>

Both endpoints are project-scoped — connecting requires a project ID and an auth token, and tools are isolated per project.

## When to use draft

* MCP App Studio's test panel runs against draft.
* Live device previews (iOS App Clip, Android Metabind Preview) connect to draft.
* Connecting Claude Desktop or another MCP host to the draft endpoint lets you test the full chain — AI picks the tool, draft runs it, host renders the result — before you publish.

The draft endpoint reflects every save instantly. There is no build step, no staging deploy, no cache invalidation to wait on. Save in MCP App Studio, refresh the host, the change is live.

## When to use production

* Connect end users' Claude Desktop, ChatGPT, or other MCP hosts to your project's production URL.
* Embed your tools in your own iOS or Android app via the Assistant SDK.
* Anything user-facing.

Production only updates when someone with publish permission clicks **Publish** in MCP App Studio. Edits in MCP App Studio do not affect production until that step.

## Connecting to the draft endpoint

The draft endpoint lives at the same host as production, with `/draft` appended to the project path:

```
https://mcp.metabind.ai/<organizationId>/<projectId>/draft
```

For example, in Claude Desktop's MCP server config:

```json theme={null}
{
  "mcpServers": {
    "my-project-draft": {
      "url": "https://mcp.metabind.ai/my-org/my-project/draft",
      "headers": {
        "Authorization": "Bearer <draft-token>"
      }
    }
  }
}
```

A draft token is generated per project and rotates separately from production tokens. Anyone with a draft token can connect a host to your draft — share carefully.

## Connecting to the production endpoint

```
https://mcp.metabind.ai/<organizationId>/<projectId>
```

Same host, no `/draft` suffix. Production tokens are scoped per environment.

See [Connect to Claude Desktop](/guides/connecting-to-mcp-hosts/claude-desktop) for the full host setup.

## Why separate endpoints

The separation answers a problem that isn't obvious until you've shipped tools to real users: a small bad change can break a connected AI experience as fundamentally as a bad deploy breaks a website.

* A renamed property breaks every host that has the old schema cached.
* A new component reference that fails the allowlist returns errors mid-conversation.
* A typo in a Data Tool's `handler` throws on every call.

Draft is where you make those changes without consequence. Production is the audited, versioned snapshot users actually see.

## What lives at each layer

| Surface                            | Reads from                            |
| ---------------------------------- | ------------------------------------- |
| MCP App Studio test panel          | Draft                                 |
| Live device previews               | Draft                                 |
| MCP host pointed at draft URL      | Draft                                 |
| MCP host pointed at production URL | Production (latest published package) |
| Assistant SDK embedded in your app | Production                            |
| End users via any of the above     | Production                            |

## Switching hosts between draft and production

A connected host doesn't auto-switch — it points at whichever URL you configured. Most teams maintain two host configurations (one named `<project>-draft`, one named `<project>-prod`) and switch by selecting the connection.

Some hosts let you list both side by side. In that case, label them clearly so end users don't accidentally hit draft.

## Related

<CardGroup cols={2}>
  <Card title="Publish the MCP server" icon="rocket" href="/guides/publishing/publishing-the-server">
    The promote-to-production flow.
  </Card>

  <Card title="Package versioning" icon="code-branch" href="/guides/publishing/package-versioning">
    How published packages are pinned and rolled forward.
  </Card>

  <Card title="Connect to Claude Desktop" icon="desktop" href="/guides/connecting-to-mcp-hosts/claude-desktop">
    Configure draft and production connections.
  </Card>

  <Card title="Live device previews" icon="mobile" href="/guides/building/live-previews">
    Preview against the draft endpoint on real hardware.
  </Card>
</CardGroup>
