Skip to main content
This page is for developers, admins, and anyone building an agent on Continuum. You don’t need any of it to use Continuum from Claude or ChatGPT; Connect your assistant is enough. For the tools themselves, see the tool reference.

Endpoints

The server identifies itself as continuum-mcp.

Transport

Continuum speaks Streamable HTTP.

Sessions

  • The server returns an Mcp-Session-Id on initialize. Send it on every later request.
  • A request without a session ID that isn’t an initialize gets 400.
  • A session with no activity and no open stream for 60 minutes is closed. If a request returns 404 with “Session expired or unknown”, send initialize again.
  • The server’s instructions on initialize include a short guide for the assistant and the starting brand’s published pipelines.
  • The tool list changes with your access, and the server sends notifications/tools/list_changed when it does.

Authentication

Sign-in is OAuth 2.1. There are no API keys. What a token can do comes from the person’s brands and roles, not from OAuth scopes. Each person sees and revokes their connections under Settings → Connections.

Brand scope

Every call works on one brand.
  • A session starts on the brand the person last chose in their assistant, otherwise their active brand in the app, otherwise the first brand they can reach.
  • brands_select switches the brand for the rest of the session. brands_list shows the choices.
  • To act on another brand for one call, set _meta.brand_id. Access is still checked.
  • Every result includes _brandContext, with the brand and a link to its Planner.

Roles

A tool whose reads need a connection, such as Meta, appears only when a brand you can reach has that connection.

Confirmations

Publishing, ad and budget changes, live creative swaps, final Forge renders, and most deletions take two calls:
1

Preview

The first call returns a preview, a confirm_token (tok_…), and its expires_at. Nothing has happened yet. Tools that take a mode input use mode: "preview" for this call.
2

Confirm

After the person says yes, repeat the call with the same arguments and the confirm_token (and mode: "confirm" where the tool takes a mode).
Forge uses its own pair: render_preview or scene_fill returns a confirmationToken, and render_confirm or scene_render redeems it. Forge set_delete is the one deletion with no preview: it deletes immediately, so call it only after an explicit yes. The tool reference lists each tool’s confirmation behavior. Clients that support elicitation may also show a confirmation dialog for ad changes. See You stay in control for the full list of what waits and what happens right away.

Results that ask for something

These come back as normal results, not errors. Each tells the assistant what to do next.

Errors

Errors set isError: true. structuredContent holds { ok: false, code, message, details }.

Limits

Limits protect your budget and your connected accounts. RATE_LIMITED includes retry_after_seconds, and per-tool limits also include tool, budget, and window_seconds.

Jobs

Reports, agent answers, and generations run as jobs and return a job_id.
  • jobs_status takes only job_id and returns pending, running, completed, failed, or cancelled. Leave a few seconds between checks rather than polling in a tight loop. For an agent answer, result.status is completed (it wrote a draft or plan) or needs_followup (text only).
  • Pass _meta.progressToken on the call to receive notifications/progress.
  • Pipeline runs report through pipeline_run_status: queued, running, completed, refused, failed, or indeterminate.

Prompts

Activity log

Every tool call is logged with the tool, action, status (ok, error, denied, or rate_limited), duration, brand, and client. Arguments are stored only as a fingerprint, never in full. Each person sees their own calls under Settings → Activity, filtered by status, client, or tool.

What’s next

Tool reference

Every tool, its inputs, examples, and errors.

Agent brief

How an assistant should use these tools well.