Which account pays: fal's Active MCP account vs a Sume key
fal's MCP sends credits to the Active MCP account you choose. On Sume the API key or OAuth session selects the workspace, and no tool takes a workspace id.

fal's MCP page has an "Active MCP account" setting that decides where credits go. Sume works the other way round: the API key, or the OAuth session, selects the workspace, and the docs say tools must not accept a workspace id from the user. So with fal you switch the active account; with Sume you change which credential the client holds.
Side by side
| Item | fal MCP | Sume hosted MCP |
|---|---|---|
| Endpoint | Relay at https://mcp.fal.ai/mcp-relay | https://mcp.sume.com/mcp |
| Auth | OAuth | OAuth (mcp:read default, mcp:write toggle) or API key |
| What picks the paying account | "Active MCP account" | The key or the session's workspace |
| Tool arguments | Not covered here | No workspace id accepted from the user |
What this means in practice
With a fal-style active-account switch, an agent can spend from whichever account was left active. Sume closes that door by construction: a tool call cannot name a different workspace, so the spend lands where the credential points. The paid tools also need idempotency_key, and spend is gated by wallet and admission, with optional max_spend_usd and dry_run.
For an agent that works for several clients, run one MCP server entry per workspace, each with its own credential and a name that shows the client. Do not share one key across clients.
Checks before an agent spends
- Call
account_meto confirm the workspace account context, andmcp_healthfor the auth source. - Keep OAuth at
mcp:readfor exploration. Grantmcp:writeonly on the entry that is meant to spend. - Log request ids and job ids, never keys or signed URLs. The Sume docs list those as unsafe to log.
- On a
402 insufficient_credits, the balance of that workspace is the cause, not another account.
Scenario: an agency with three clients
An agency runs three client workspaces. With an account switch, the risk is a stale selection: the agent renders client B's clip while client A's account is active. With Sume you would hold three credentials, one per workspace, and register them as three named entries. A call through the entry named for client B can only bill client B.
Add two guard rails. Pass a max_spend_usd on each paid call from your prompts or wrappers, and run account_me at the start of each session so the agent states which workspace it is in before it generates anything.
Sources
Related posts
More in Integrations
- Ghost audio card with a Sume track: mp3, wav or ogg from desktop
Ghost's audio card takes .mp3, .wav and .ogg uploaded from the desktop editor, up to 1 GB by plan. Download the Sume artifact, then upload the file.
- GITHUB_STEP_SUMMARY for Sume jobs: an audit table in the run page
Write the Sume job id, status and artifact URL to GITHUB_STEP_SUMMARY: 1 MiB per step, 20 step summaries shown per job. Public URLs only, no prompts or keys.
- workflow_dispatch music brief: 25 inputs, 65,535 chars vs Sume's 5,000
GitHub dispatch takes 25 inputs and 65,535 characters; Sume's music prompt stops at 5,000 and rejects duration. Guard the length, then call the router.
- Google Sheets =IMAGE() with a Sume URL: PNG, JPEG, never SVG
=IMAGE needs a URL with a protocol and rejects SVG and drive.google.com links. Put a Sume data[0].url from a png or jpeg request in a cell and pick a mode.
Written by Sume