cubbyapps.com/connect · install
Add Cubby to Claude.
One URL, pasted once. After that, your chat has a dev server: it can plan an app, scaffold it, deploy it, and hand you the live address — without leaving the conversation. Works anywhere Claude supports custom connectors. In Claude chat, the URL is the whole install, with or without a directory listing. The steps below are per client: Claude chat, then Claude Code.
§01 claude chat
Three steps. The third is signing in.
On claude.ai and in the Claude desktop app, Cubby is a custom connector.
Open connector settings.
In Claude (web or desktop): Customize → Connectors → Add custom connector. On a Team or Enterprise plan, an Owner adds Cubby once for the organization under Organization settings → Connectors → Add → Custom, and each person then presses Connect on it in Customize → Connectors. On mobile, connectors added on the web follow you.
Paste the URL.
This one, exactly. That's Cubby's MCP connector — remember the rule: anything on cubbyapps.com is us. If Claude asks how it should identify itself, choose Register automatically; Cubby doesn't support Claude's published identity. There's no client ID or secret to enter.
Sign in & consent.
Claude sends you through Cubby's sign-in. The consent screen names three things: you, the client asking, and the workspace being granted. Tokens are scoped to that one workspace and revocable any time.
on claude.ai, Cubby is also a plugin: the same connector, bundled with the
build-on-cubby skill, which tells Claude how to build on Cubby. Open
Customize → Plugins → Add → Add marketplace and paste
https://github.com/cubby-pro/cubby-plugin (the address box is easy to
miss). Install Cubby and connect it, then start a new chat: a chat that is already
open won't load a newly added plugin.
a step stalled? troubleshooting is at the bottom of this page, and a person answers matty@cubbyapps.com.
§02 claude code
Claude Code: install the plugin, then sign in.
In Claude Code, Cubby is a plugin. It bundles the MCP server the connector above uses with the build-on-cubby skill, which tells Claude how to build on Cubby.
Install the plugin.
In a terminal, run these two commands. The first adds Cubby's plugin marketplace from GitHub, and the second installs the plugin from it. Claude Code and claude.ai each install the plugin on their own.
Load it & sign in.
In Claude Code, run /reload-plugins. The plugin loads into the session you
have open, with no restart. Then run /mcp, pick
plugin:cubby:cubby and choose Authenticate. Cubby opens in your
browser: sign in, pick the workspace Claude should work in, and press Approve.
Check it worked.
Ask Claude to run Cubby's whoami tool. It answers with your account, the
workspace and its plan. Every Cubby tool acts in that workspace.
if Claude tells you to exit and restart Claude Code after the install, run
/reload-plugins instead. It loads the plugin the same way and keeps this
conversation.
§03 first run
Your first prompt.
Paste this into the chat and change the nouns. The AI does the writing; Cubby does the making-it-real.
Using Cubby, build a PTO tracker for my team. People sign in, request days off, and see a shared team calendar. Managers approve or decline requests. Plan it, scaffold it, deploy it, and give me the live URL. Then share it with my workspace.
what comes back: a plan, then a real deploy — real auth, its own Postgres, live at
something--xxxxx.cubby.pro. if it needs one of your systems, cubby sends a
setup link instead of asking for secrets in chat.
that rule is load-bearing.
§04 elsewhere
On ChatGPT.
Developer mode, same URL.
ChatGPT speaks MCP in developer mode: Settings → Apps & Connectors → Advanced → Developer mode, then create a connector with the same URL. Same tools, same rules, same setup-link discipline for secrets. A first-class ChatGPT listing is on the roadmap; developer mode is the same one-URL path.
§05 troubleshooting
When something sticks.
The usual snags, what each one means, and the fix.
signing in
The link says “Link expired.”
A sign-in link works once and expires 10 minutes after it's sent, so an old or already-used link lands there. Ask for a new one and open the newest email; if you asked several times in a row, wait a few minutes first. Or skip email: Continue with Google works for Gmail and Google Workspace addresses.
“Sign-in didn't complete.”
Open the link in the same browser you asked for it from. A link used somewhere else, like a phone's mail app or another browser, signs in that browser instead, and the dashboard stops at “Sign-in didn't complete” rather than finish a sign-in that browser never started. Press Start again in the browser you're in: it's signed in to Cubby now, so there's no second email.
The human check won't pass.
Before it emails a link, the sign-in page at mcp.cubbyapps.com runs
Cloudflare Turnstile, a check that you're a person. If it says
the check didn't pass, reload the page and try once more; a check can expire while
the page sits open. If it says the request carried no human-check token, the check
never ran, usually because something in your browser, like a content blocker, is
stopping challenges.cloudflare.com. Allow it on mcp.cubbyapps.com and
reload. Continue with Google doesn't use this check.
“Today's new sign-ups are taken.”
We let a set number of new people in each day, so a full day says so and tomorrow works. An account that already exists is never turned away by it.
connecting
Claude says “Couldn't reach the MCP server.”
Claude couldn't complete the connection. Check the URL first: it's
https://mcp.cubbyapps.com/mcp, or your workspace's own
https://mcp.cubbyapps.com/w/<id>/mcp as the dashboard shows it;
either way https, ending in /mcp. If it's wrong, edit the connector's URL
in Customize → Connectors (on a Team or Enterprise plan, the Owner edits it under
Organization settings → Connectors) and press Connect again; if you
already signed in, you stay signed in.
If the dialog asked how Claude should identify itself, it needs Register automatically: Claude registers with Cubby through Dynamic Client Registration, and Cubby turns away a client that hasn't registered, Claude's published identity included. If you chose Use Claude's published identity, Claude can't change that choice on an existing connector: remove Cubby under Customize → Connectors (on a Team or Enterprise plan, the Owner removes it under Organization settings → Connectors) and add it again, choosing Register automatically.
Cubby shows Connect or Reconnect.
On a Team or Enterprise plan, Connect is expected the first time: an Owner added Cubby for the organization, and each person connects their own Cubby account. After that, it means Claude's sign-in to Cubby has ended: you chose Sign out everywhere in the dashboard, you left or were removed from the workspace, or the connector sat 30 days unused. Press it and sign in again; the consent screen names the workspace you're granting.
More than one workspace, or an app's own tools.
One Cubby connector works on one workspace: the consent screen asks which, or names
it when you added a workspace's own address. To use a second workspace from the same
Claude, add it as a separate connector with the address on that workspace's dashboard
card, https://mcp.cubbyapps.com/w/<id>/mcp. Claude won't add the
same address twice. An app you built can be a connector too, at the app's own address
followed by /mcp, for the tools that app offers.
limits
Claude reports a plan limit or a rate limit.
A plan limit, such as apps in a workspace, connections on an app or the size of an app's database, says which limit it hit and how to get past it, usually a plan change at app.cubbyapps.com/billing. A rate limit is a pace limit on one tool, per person: the refusal says when it resets, and waiting is the whole fix.
If a payment fails, new deploys pause until the card is updated on that same billing page, and your live apps keep serving.
builds
A deploy failed.
deploy_app queues a build and answers right away;
list_apps shows how it lands, and the live URL. A build that fails
shows up there as “latest deployment: failed” followed by the builder's reason.
Ask Claude to list the app, fix what the reason names, and deploy again; a failed
redeploy leaves the previous version serving. Anything deploy_app
can catch before building comes back at once, with what to change.
access
Taking access away.
A connection to one of your systems (a database, an API token):
ask Claude to run remove_connection. It shows what it would delete
and waits for you to confirm, then destroys the vaulted credential at once; the
app loses access right away, or on its next deploy at the latest.
Claude's access to Cubby: in Claude, open Customize → Connectors, choose Cubby and Disconnect. To end every Cubby sign-in you hold at once, on every browser and device and in Claude everywhere, use Sign out everywhere in the dashboard's account menu.
support
Still stuck?
Email matty@cubbyapps.com; a person reads it. Say what you asked Claude, what came back, and roughly when. Never send a sign-in link or a secret: we never need either. Security problems go to security@cubbyapps.com, under the disclosure policy.