MCP setup

Connect Claude, Codex or another MCP client and let it build canvases for you.

Your client
  1. Copy the aBuck connector URL

    This is the only thing you paste anywhere.

    https://abuck.app/api/mcp
  2. Add it under Customize → Connectors

    In Claude Desktop or on claude.ai, open Customize → Connectors and press the + beside Connectors. Name it aBuck and paste the URL.

  3. Connect, sign in and start

    Approve the access aBuck asks for, then ask Claude to build you a canvas.

Claude reaches your connector from Anthropic's own infrastructure rather than from your machine, so the URL has to be publicly reachable. A local dev server will not connect.

Copy for your agent

Paste this into a freshly connected assistant. It is the set of rules the server actually enforces, so a graph builds first try instead of walking into validation errors.

Show the prompt +
You have access to aBuck, a visual AI workflow builder, over MCP at https://abuck.app/api/mcp.

How to work with it:

- It BUILDS canvases, it cannot RUN them. No tool generates anything. Once you have built a graph, give me the canvas URL and I will open it and press Play.
- Call get_app_info first to learn the node types and connection rules. Then call list_models for each node type you need and use those ids verbatim — never guess a model id.
- Build in one call. build_workflow takes all the nodes and edges together, and it either validates completely or writes nothing.
- An edge with no targetHandle is the prompt edge and it carries text, so every image, video and audio generator needs a text or assistant node wired into its prompt input.
- Set a video node's model before you connect media into it. Its start-frame, end-frame, reference and audio inputs only exist once a model that supports them is selected.
- Keep the graph acyclic, and read the validation errors: they name the allowed values, so a rejected call can be retried with a corrected one.
- To reuse media I already own, call list_assets and pass the id as assetId on an image or video node. Do not ask me for a URL.
- Never ask me to paste an API key or a token. The connection is already authorised.

When I ask for something, describe the graph you intend to build in one sentence, build it, then hand back the URL.

aBuck speaks the Model Context Protocol, so an AI client can work on your canvases directly. Pick your client above, paste one URL, and sign in — there is no key to copy and nothing to keep in a config file.

What a connected client can do

It builds workflows but never runs them. A client can create projects and canvases, add nodes, wire them together, choose models, set settings and read a canvas back. It cannot generate anything: it hands you a canvas URL and you press Play.

That split is deliberate. Generation is orchestrated in your browser from the live graph, and it bills your own provider account, so nothing spends your money without you watching.

A connection acts as you and reaches only your projects, canvases and Stocks library. It also cannot delete a project or a canvas, and it cannot upload media.

How does MCP work?

MCP is a standard way for an AI client to discover and call tools on a server. Once aBuck is connected, your assistant can see the canvas tools alongside whatever else it already has, and it decides when to reach for them.

A request turns into a canvas in five steps:

  1. You ask for something in your client's own chat — no special syntax.
  2. It learns the rules. get_app_info returns the node types, which inputs accept what, and what the server refuses to do.
  3. It picks real models. list_models returns valid ids per node type, along with the settings each one accepts, so nothing is guessed.
  4. It builds the graph in one write. build_workflow takes every node and edge together. Either the whole thing validates or nothing is written, so a half-built canvas is not a state you can end up in.
  5. It hands back a URL. You open the canvas, look at what it wired, and press Play on the node you want.

So a request like this:

Make a new canvas in my Ads project: a prompt for a neon koi in a rainy Tokyo
alley, into a 16:9 image, and use that image as the start frame of a 5-second
video.

comes back as a canvas holding a text node feeding an image generator, that image wired into a video node's start frame, each with a model already chosen — and a link. Nothing has been generated and nothing has been billed yet. That happens when you press Play.

Two rules are worth knowing when you read what your client built:

  • Video inputs depend on the model. A video node only offers a start frame, reference images or a reference video once a model that supports them is selected, so the model has to be set first.
  • A rejected call changes nothing. Errors name the allowed values, so a client can correct itself and retry rather than leaving a mess behind.

What the client sees

ToolWhat it does
get_app_infoLearns the node types, connection rules and limits
list_modelsLists text, image, video and audio models with their settings
list_assetsBrowses your Stocks library by type, tag or search
list_projectsLists your projects, canvases and canvas URLs
create_project / create_canvasMakes a new project or canvas
rename_project / rename_canvasRenames one
get_canvasReads a canvas back: nodes, edges, models, settings
build_workflowCreates nodes and edges in one atomic write
connect_nodesAdds edges between existing nodes
update_nodeChanges one node's model, settings or content
delete_nodesRemoves nodes and their edges

Reads are deliberately frugal. get_canvas reports media as present-or-absent and truncates long text, and no tool ever returns a URL for your media, so a client can understand a canvas without your images passing through it.

Connecting a client without OAuth

Most clients complete the sign-in themselves. For one that cannot, issue a token instead.

Open Settings → MCP, name the client, and choose Create. Copy the token straight away: it is shown once and only a hash of it is kept, so it cannot be shown again. Then send it as a header:

Authorization: Bearer <token>

Give every client its own token so they can be revoked one at a time. Treat a token like a password and keep it out of version control.

Either way the connection appears under Settings → MCP, where you can disconnect it. Disconnecting takes effect immediately — it does not wait for a token to expire.

Editing a canvas you have open

Safe. Leave the tab open while a client builds into it — changes arrive within a few seconds, and a save from a stale tab merges rather than overwrites, so nodes the client created are not wiped out.

One rough edge: deleting a node in the browser at the same instant an external write lands can bring that node back. Nothing is lost, but it may reappear.

Troubleshooting

SymptomWhat to check
401 with a token you believe is rightThe header must be Authorization: Bearer <token>; the connection may also have been revoked
The client never opens a browser loginConfirm it supports remote MCP OAuth
The browser returns with access_deniedThe consent screen was dismissed — approve the requested access
A disconnected client still works for a momentReconnect it; disconnecting drops its consent and refresh tokens
A brand-new model is rejected as invalidThe model catalog is cached for a few minutes
Video settings accepted but flaggedA capability lookup failed; warnings never block a build
© 2026 Accolade Imaging Incorporationabuck.app