MCP

Setup

Connect Claude, ChatGPT, Cursor, VS Code or any MCP client to RiffAds.

Read as Markdown

Add one URL to your AI client, then sign in in a browser. There is no API key.

The workspace needs a paid plan or an active trial. API keys are only for the REST API and the CLI.

Add the server

Web or desktop. This link opens the "add connector" dialog with RiffAds already filled in:

By hand: Settings, Connectors, Add custom connector, paste the server URL, save.

Use the URL exactly

Paste the server URL exactly as shown at the top: no path and no trailing slash. A wrong URL means no sign-in window.

Sign in

  1. The first time your client connects, it opens a browser on app.riffads.com.
  2. Sign in with Google, or with email and password.
  3. Approve. With one workspace, the connection uses it from now on.

If a RiffAds consent screen appears, pick the workspace there, then Generate and spend credits or Read only.

Pick a workspace

Your accountWhat happens
One workspaceThe connection uses it from the first call. Nothing to do
Several workspaces, and no consent screenEvery ask is refused until you pick one. The refusal (connection_not_configured) links to the page below
No workspace yetEvery ask is refused (no_workspace). Finish setting up a workspace in the app, then reconnect

To pick one, open your connections page and switch to the workspace you want. Then press Use (workspace name) or Read only next to the waiting agent.

Read or spend

ModeToolsWhat the agent can do
Spend (spend)23Everything, plus the two prompts
Read only (read)17Browse, price and read. No jobs, no uploads
  • New connections can spend. Change the mode on the connections page, then refresh the tool list in your client.
  • Anyone can set their own connection to read only. Only owners and admins can switch a connection to spend.
  • Spending is still capped: Spend limits.

Check it

Ask your agent:

Try asking

What are you connected to?

It calls riffads_ping, which spends nothing.

riffads_ping result
{
  "user_id": "...",
  "organization_id": "...",
  "workspace": "Acme",
  "plan": "growth",
  "mode": "spend",
  "can_spend_credits": true,
  "server_time": "2026-09-28T10:28:41.002Z",
  "ok": true
}

workspace is where credits come from. can_spend_credits: false means read only.

First video

Try asking

Make a 5 second vertical video of a matte black water bottle on a gym bench, morning light, with sound. Use Kling 3 Pro.

The agent prices it for free, asks for your yes, then submits, waits and hands you the link: The flow.

More ideas: Prompting guide. Every tool: Tools.

Custom clients

Only for a client you build yourself. Other clients do this for you.

  1. Call the server with no token. It answers 401 with a WWW-Authenticate header that names resource_metadata.

  2. GET the protected resource document below. Use its authorization_servers[0] (today https://app.riffads.com), never a hardcoded host.

  3. GET that server's /.well-known/oauth-authorization-server for the authorize, token and registration endpoints.

  4. Register once (dynamic registration works), authorize in a browser, and exchange the code. Scopes: openid profile email offline_access.

  5. Send Authorization: Bearer <access token> on every call. An expired token answers 401: refresh, or authorize again.

Troubleshooting

What you seeWhat to do
No sign-in window opensCheck the server URL: no path, no trailing slash. The client must speak streamable HTTP
The agent says it does not know which workspace to spend from (connection_not_configured)You have several workspaces and none is picked. Pick a workspace, then ask again. Asking before you pick changes nothing
The agent can browse and price but not make anything, or sees only 17 tools (read_only_connection)The connection is read only. An owner or admin switches it to spend on the connections page. Then refresh the tool list
A job is refused over a spending limit (spend_limit_exceeded)A workspace limit stopped it, and the refusal names which one: Spend limits
Not enough credits (insufficient_credits)Top up on the billing page
The agent says it is not signed in, or the workspace is gone (not_authorized, workspace_unavailable)Reconnect, sign in and pick a workspace again
Your plan does not include agents (required_plan)The message names a plan that does
Tools are missing, or "too many requests" (429) during setupWait a moment, refresh the tool list, or add the server again

Disconnecting deletes the tokens, but running work still finishes. Every refusal code: Errors.

On this page