What you get
Nothing to install
No package to install and nothing to keep on your
PATH. Add a URL, sign in through your browser, and you’re building.Every client, one server
Claude Code, Claude, Cowork, Claude Desktop, and Codex all connect to the same endpoint and get the same tools.
Same harness, same quality
The connector drives the exact same contract agent, planner, Build Agent, and validators as the web app. Nothing is downgraded.
Your session stays light
Generated files never enter your context. The harness builds server-side and streams back a summary.
Pick your client
Claude Code
One
claude mcp add, then /mcp to sign in.Claude and Cowork
Add it once as a custom connector — it shows up in chat, Cowork, Desktop, and mobile.
Codex
codex mcp add, then codex mcp login.Anything else
Any MCP client that speaks streamable HTTP and OAuth 2.1 can connect to the same URL.
How it fits together
- You describe what you want in your client’s chat.
- The client calls a connector tool —
build,chat,import,publish. - The harness does the work server-side and streams progress back.
- Your client relays the harness’s questions to you and your answers back to it.
Two modes
Most work happens in the first one.Harness mode (default)
Your request goes to the Gainable harness. The planner and Build Agent do the work server-side in one cheap turn — the same path as typing in the web app. Right for almost everything: “add KPIs”, “fix this view”, “change the layout”, “build me a CRM”.
Author mode (opt-in)
Your client writes the app code itself: it reads the build conventions and the files it needs, edits them, runs the same validators the Build Agent uses, and pushes. Only when you explicitly ask — “code it yourself”, “without the harness”.
Signing in
The connector uses OAuth 2.1 with dynamic client registration and PKCE, so every client handles sign-in the same way: it opens your browser, you approve, and the token is stored by the client (in your OS keyring for terminal clients).What you’re granting
Building, changing, publishing and sharing apps comes with every connection. Three groups of tools sit behind their own checkbox on the consent screen, and a connection that doesn’t have one can’t see those tools at all — they’re absent from the list, not refused at call time.
You can review or revoke any connection at any time from Account → Connections, and flip any of the three scopes there without reconnecting — the change takes effect on the connection’s next request.
The people checkbox is only offered to someone who could manage users themselves. Connecting a client can never hand out more access than you already had.
No Gainable account yet? You can create one free during the sign-in step and carry straight on.
Say “Gaia” in your first message
This is the single thing most worth knowing, and the most common reason a connected client does nothing. Connecting the server doesn’t make your assistant use it. “Build me an app to track expenses” is a request it can answer from its own head — and it will, producing something that looks like an answer and never touching Gainable at all. Naming the product is what routes the request.projectId is in the conversation and everything after it is ordinary follow-up:
Not to be confused with your app’s MCP server
Gainable involves two different MCP servers, and they do opposite jobs:
This section is about the first one. The second is what makes an app you build this morning a queryable data source this afternoon.
What the connector can do
Ten tools by default, and up to eighteen depending on which scopes you granted. You never name them — your client picks from what you ask — but this is the shape of it:
See the tool reference for every parameter.
Next steps
Claude Code
Add the connector to your terminal.
Claude and Cowork
Add it to chat, Cowork, and Desktop.
Tool reference
Every tool, action, and parameter.
Recurring data pipelines
Create a dataset once, sync it forever.