Docs

MCP server

Openpane hosts its MCP server with the app. Any client that speaks Streamable HTTP connects with one URL and one header, and gets seven tools.

Connect

URLhttps://openpane.oblaidish.com/api/mcp
TransportStreamable HTTP, stateless: one JSON-RPC message per POST, answered with plain JSON
HeaderAuthorization: Bearer YOUR_API_KEY

The key is a personal API key from the API keys page. Clients that sign in with OAuth, such as the Claude app and ChatGPT, need no key: without one, the endpoint answers 401 with a resource_metadata link that tells them where to sign in, and you allow them on Openpane. Setup guides: Claude Code, Claude app, ChatGPT, Codex, Cursor, VS Code, Devin Desktop, Zed, Antigravity.

Clients that only start local servers

Bridge them with mcp-remote. The space after Bearer lives in the variable, so Windows can't split the argument.

Client configJSON
{
  "mcpServers": {
    "openpane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://openpane.oblaidish.com/api/mcp",
        "--header",
        "Authorization:${OPENPANE_AUTH}"
      ],
      "env": {
        "OPENPANE_AUTH": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Tools

Tools act as the key's owner. Read-only tools are marked as such, and delete_pane as destructive, so clients can ask before running it.

create_pane

Publishes HTML, React or Markdown as a live pane and returns its link. Panes are private unless you set visibility.

ParameterTypeAbout
titlestring, 1 to 200 charactersRequired. A short title.
typehtml, react or markdownRequired. html: a document or fragment. react: JSX defining a component named App. markdown: GitHub-flavored Markdown.
contentstring, up to 1 MBRequired. The full source.
visibilityprivate, unlisted or publicDefaults to private. Set it only when the user asks to share the pane.

Returns id, url, title, type, visibility, version, and for unlisted and public panes an iframe snippet (embed).

update_pane

Revises one of your panes, or one shared with you to edit. Only the fields you pass change, and the link stays the same.

ParameterTypeAbout
idstringRequired. The pane's id.
titlestringA new title.
typehtml, react or markdownA new type.
contentstringNew source. Saves a new version.
visibilityprivate, unlisted or publicWho can open it. Owners only.

Returns id, url, visibility, version and updatedAt.

get_pane

Fetches a pane with its full source: your panes, panes shared with you, and any unlisted or public pane.

ParameterTypeAbout
idstringRequired. The pane's id.

Returns the pane, with its url and embedUrl.

list_panes

Lists your panes, most recently updated first, without their source.

ParameterTypeAbout
limitinteger, 1 to 200How many. Defaults to 50.

Returns id, title, type, visibility, url, version, updatedAt, and sharedWith: how many people and companies each is shared with.

delete_pane

Permanently deletes one of your panes. Its link and embeds stop working.

ParameterTypeAbout
idstringRequired. The pane's id.

Returns a confirmation.

share_pane

Asks to share one of your panes by email. Nothing is shared until you approve it on the pane's Share page.

ParameterTypeAbout
idstringRequired. The pane's id.
emailsarray of stringsRequired. Up to 10 addresses at a time on Free, 50 on Pro. @acme.com means everyone at acme.com (Pro).
roleviewer or editorDefaults to viewer. Editors (Pro) can change the content too.
notifybooleanEmail them the link once you approve. Defaults to true.
expiresAtISO 8601 date and timeWhen their access ends, within a year (Pro). Leave it out for no end.

Returns status (pending) and approvalUrl, where you approve it.

list_shares

Who one of your panes is shared with, people and companies, with their roles, and the shares waiting for your approval.

ParameterTypeAbout
idstringRequired. The pane's id.

Returns shares (email, role, createdAt, expiresAt, and openedAt on Pro) and pending.

Errors

A tool that fails answers with isError and a message such as Openpane API error (404): Pane not found. Private panes you can't open answer 404, as if they didn't exist.

MCP server and tools · Openpane docs