Abyssale

Abyssale — Browse, generate and import Abyssale designs — banners, video, PDF — from your AI client.

Documentation

Abyssale's MCP server lets an AI assistant act on your Abyssale workspace directly from a conversation: browse your designs and projects, look up fonts and credits, generate banners, videos and PDFs, and import new designs from JSON, without you writing any code against the REST API yourself. It speaks the standard MCP protocol.

Claude Code CLI, Claude.ai, ChatGPT/Codex, and Cursor, for now

Claude Code CLI, Claude.ai, ChatGPT/Codex, and Cursor are registered clients today. Other MCP clients (Claude Desktop, and so on) aren't registered yet — this page will list each one's setup as it's added.

Connect

PropertyDetail
Endpointhttps://mcp.abyssale.com/mcp
TransportStreamable HTTP
MethodPOST only
SessionsNone — stateless, so nothing to reconnect or expire
AuthOAuth (Auth0) — see Authentication

Point an MCP client at the endpoint above — but every client still needs its own registered client id to complete the OAuth login, and Abyssale registers each client separately before it can connect.

Claude Code CLI

claude mcp add --transport http --client-id tpc_iJ7LWqVdzR7c7jf21gMqDQ --callback-port 3418 \
  -s user abyssale_prod https://mcp.abyssale.com/mcp

--client-id and --callback-port are required

Both flags are required for Claude Code CLI, exactly as shown — the OAuth login fails without them. The client id above (tpc_iJ7LWqVdzR7c7jf21gMqDQ) is registered specifically for Claude Code CLI and won't work for another client.

Claude.ai

  1. In Claude.ai, go to SettingsConnectorsAdd custom connector.
  2. Set Name to Abyssale and Remote MCP server URL to https://mcp.abyssale.com/mcp, then click Continue.

Add custom connector with the Abyssale name and MCP server URL filled in

  1. Under OAuth client, select Use your own OAuth client and enter tpc_j2jnfXMh54sdoP7qu4ziEJ as the client ID — leave the secret blank.

The OAuth client step with "Use your own OAuth client" selected and the client ID filled in

  1. Click Add, then complete the login and consent step that follows.

Uploading local files when creating a design

import_design_from_json 's local-file upload path needs Claude.ai's sandbox to reach Abyssale's upload bucket. A Claude.ai workspace admin has to add it to the domain allowlist first:

  1. Go to claude.ai/admin-settings/capabilities.
  2. Under Domain allowlistAdditional allowed domains, add https://production-templates-imports.s3.eu-west-1.amazonaws.com and click Add.

Claude.ai's domain allowlist with the Abyssale upload bucket added

Skip this if you always supply an already-hosted URL or inline base64 image data instead — only the bare-filename upload path needs it.

This client id is specific to Claude.ai

The id above (tpc_j2jnfXMh54sdoP7qu4ziEJ) is registered specifically for Claude.ai and won't work for Claude Code CLI, which uses its own id (see above).

ChatGPT/Codex

  1. In ChatGPT, go to SettingsSecurity and login and turn on Developer mode.

Security and login settings with Developer mode toggled on

  1. Go to SettingsPlugins (or chatgpt.com/plugins) and click + in the top right.

Plugins page with the add-plugin button in the top right

  1. Fill in the New Plugin form: set Name to Abyssale, and under Connection set Server URL to https://mcp.abyssale.com/mcp. Set Authentication to OAuth, then open Advanced OAuth settings and, under Client registration, set Registration method to User-Defined OAuth Client and enter tpc_apBFqj5apvraYP3gX4spTq as the OAuth client id — leave the secret blank and Token endpoint auth method set to none. Check I understand and want to continue.

New Plugin form with the Abyssale name, server URL, and OAuth client settings filled in

  1. Click Create, then complete the login and consent step that follows.

One setup, two apps

Connectors added on the ChatGPT website are shared with the Codex app — no separate setup needed there.

This client id is specific to ChatGPT/Codex

The id above (tpc_apBFqj5apvraYP3gX4spTq) is registered specifically for ChatGPT/Codex and won't work for Claude Code CLI or Claude.ai, which use their own ids (see above).

Cursor

  1. In Cursor, go to SettingsMCPs, then click New MCP Server. This opens ~/.cursor/mcp.json in the editor.
  2. Add an abyssale entry with the endpoint and the client id below, then save the file.
{
  "mcpServers": {
    "abyssale": {
      "url": "https://mcp.abyssale.com/mcp",
      "auth": {
        "CLIENT_ID": "tpc_rusyFsfRzoeCprRzoumUwS"
      }
    }
  }
}
  1. Complete the login and consent step that opens in your browser. Back in SettingsMCPs, abyssale shows as Connected once it's done.

Cursor's MCPs settings showing abyssale connected, next to the mcp.json file with the url and CLIENT_ID filled in

This client id is specific to Cursor

The id above (tpc_rusyFsfRzoeCprRzoumUwS) is registered specifically for Cursor and won't work for Claude Code CLI, Claude.ai, or ChatGPT/Codex, which use their own ids (see above).

Cursor's OAuth callback port isn't configurable

Cursor's desktop app always redirects to http://localhost:8787/callback — there's no mcp.json setting to change that port, unlike Claude Code CLI's --callback-port flag.

The first tool call — or, for clients that support it, the connection itself — triggers a login and consent step in your browser. See Authentication for what that requires and what it grants.

Where to go next

  • Authentication — how you sign in, and what each permission scope unlocks.
  • Tools reference — every tool, its parameters, and an example call.
  • Permissions — what each tool can actually do, and what to check before you authorize it.

Support

Something not working, or a question the docs don't answer? Reach the Abyssale team through the help center.