Meltbox Docs Quickstart API Open app →

Reference

Connect an MCP-native agent

Attach a Meltbox workspace to any MCP-native agent. Claude and ChatGPT connect with just the URL. OAuth handles the rest, and in ChatGPT your briefs render as interactive cards. Header-capable clients (Cursor, VS Code, Windsurf, Cline, Claude Code) attach with the same URL and a scoped bearer token. Either way the workspace shows up as a set of tools that push briefs, read the reply, discover integrations, and broker secrets through the proxy.

MCP or the invite? Reach for MCP when your runtime can't run a shell bootstrap or prefers native tools. If your agent has a shell, the curl / mb invite flow works just as well and adds the CLI. Both attach the same workspace, and both mint the same kind of scoped, revocable token.

The endpoint

One URL is the whole server. It speaks JSON-RPC 2.0 over a single POST:

FieldValue
EndpointPOST https://meltbox.ai/mcp
TransportStreamable HTTP: JSON-RPC 2.0, stateless (no SSE stream to hold open).
Protocol2025-06-18. Older revisions 2025-03-26 and 2024-11-05 are accepted.
Other verbsGET /mcp returns 405. There is no stream to subscribe to.

Authentication

Two ways in. Both end as the same kind of scoped, revocable credential on the Access page (API keys):

MethodWhere it fits
OAuth: connect by URLChatGPT and Claude (web, desktop, mobile). Paste https://meltbox.ai/mcp into the connector UI; Meltbox shows a consent page, you pick the workspace, done. The grant can proxy workspace resources but never reveals raw secrets and never administers the workspace.
Bearer tokenHeader-capable clients (Cursor, VS Code, Windsurf, Cline, Claude Code) and scripts. Send Authorization: Bearer mb_… on every call.

A missing or invalid credential returns 401 with a WWW-Authenticate header pointing at the OAuth discovery metadata (RFC 9728). OAuth-native clients take it from there. Dynamic client registration (RFC 7591), PKCE S256, refresh, and revocation (RFC 7009) are all supported.

Mint a connector token

In the app, open Agents → MCP connector. Name the connection and choose its access (Briefs-only or Full), and Meltbox mints a scoped token and shows a paste-ready config for your client. The connection then appears under Connected agents, where you can revoke it anytime.

Already redeemed a curl invite link? You don't need a second credential. The redeem response includes an mcp block { url, transport, header }. Attach that same token as the header below.

Set up your client

ChatGPT · Claude: connect by URL (OAuth)

  1. ChatGPT: Settings → Apps & connectorsAdvanced settings → enable Developer mode, then create a connector with MCP server URL https://meltbox.ai/mcp and authentication OAuth. Developer mode is only needed until the Meltbox listing lands in the ChatGPT app directory.
  2. Claude (web / desktop / mobile): Settings → ConnectorsAdd custom connector → paste https://meltbox.ai/mcp.

Either way you land on the Meltbox consent page: sign in, pick the workspace, approve. The connection shows up on the Tokens page (via oauth), revocable anytime. In ChatGPT, Meltbox is a full ChatGPT app. Briefs render as interactive cards in the conversation.

Header clients

Clients that let you set a custom Authorization header attach directly with a minted token.

Claude Code (CLI): native header

claude mcp add --transport http meltbox https://meltbox.ai/mcp \
  --header "Authorization: Bearer mb_your_token"

Cursor · Windsurf: native header (e.g. ~/.cursor/mcp.json; VS Code uses a servers key)

{
  "mcpServers": {
    "meltbox": {
      "url": "https://meltbox.ai/mcp",
      "headers": { "Authorization": "Bearer mb_your_token" }
    }
  }
}

Claude Desktop: via mcp-remote (claude_desktop_config.json)

{
  "mcpServers": {
    "meltbox": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://meltbox.ai/mcp", "--header", "Authorization:Bearer mb_your_token"]
    }
  }
}
Claude Desktop connects natively by URL now (OAuth, above). Reach for the mcp-remote bridge only when you want the connection pinned to a specific scoped token instead of your signed-in session. The header value is colon-joined with no space (Authorization:Bearer …). mcp-remote re-emits the proper Authorization: Bearer on the wire.

The tools

Attaching the server exposes nine tools. Call whoami first; the rest are the brief loop, both sides of it, plus resource discovery and the proxy.

ToolWhat it does
whoamiYour token identity, role, granted scopes, and the workspace you're connected to. Call first.
list_resourcesDiscover the workspace's integrations (Stripe, AWS, Google Ads, and more). Secret values are never returned; each has agent_notes to read first, and flags can_proxy.
push_briefSend the operator a brief: a self-contained, clickable HTML page they triage in their inbox. This is how the agent talks to its human; returns {id, url, deeplink}. Each review round gets a new brief; reusing a returned id (to edit in place) is for fixing a brief the operator hasn't reviewed yet.
get_briefRead one brief plus its events and the operator's latest selections.
list_briefsList briefs in the inbox or archive.
poll_brief_eventsThe reply loop: fetch new events (selections, notes, status) since a cursor. Call repeatedly to watch for the operator's response.
respond_to_briefThe operator side of the loop: record a selection (field + value), leave a note, archive or restore. The ChatGPT brief card's buttons call this; a conversational decision ("go with B") lands the same way.
request_scopeAsk the workspace admin for proxy or reveal access to a resource you're not scoped for. Emails a one-click approve / reject.
proxyCall an integration through Meltbox. The secret stays server-side and never reaches the agent. Requires proxy scope on that resource.

The loop

The core Meltbox loop is the same over MCP as everywhere else. Orient, say hello, then watch for the human's reply:

  1. Orient. Call whoami to confirm which workspace you're connected to, your role, and your scopes.
  2. Say hello. Call push_brief with something substantive (a plan, a set of options, a draft) as a clickable page with a notes box. It lands in the operator's inbox and returns {id, url, deeplink}.
  3. Watch. Call poll_brief_events repeatedly with the cursor it returns, reading the operator's selections and notes as they arrive and acting on them. A status: archived event means they've reviewed it and made their decisions. Act on the feedback and push the next round as a new brief.

To do real work alongside the loop, discover the workspace's integrations with list_resources, ask for access you don't have with request_scope, and make brokered reads with proxy. The secret stays server-side and never reaches you. See Authoring briefs for how to build a good first brief.

The loop whoamipush_briefpoll_brief_events. Lead with real work, make it clickable, always leave room for a note, then read the events and act.

The ChatGPT app

Connected to ChatGPT, Meltbox is more than a toolbox. It's an app. Ask "what's in my Meltbox inbox?" and the triage list renders in the conversation. Open a brief and you see the actual page your agent authored: its choice buttons record real selections, the note box feeds the agent, archive closes the round. The same loop you'd run in the Meltbox app, without leaving the chat.

  • Operator side: list_briefsget_briefrespond_to_brief, by clicking the card or just saying the decision.
  • Agent side. ChatGPT can also produce work: push_brief delivers to your inbox and shows a preview card of what it sent.
Meltbox is headed for the ChatGPT app directory; until the listing is live, connect via developer mode (above): same server, same OAuth, same cards.

Where to next