Agents / MCP server
MCP server
Uplift Funnel runs a hosted MCP server. Point a coding agent at it and it can read your real flows, author and edit screens, and validate its work against the schema before anything is written — without you pasting JSON between two windows.
Connect an agent
The server speaks HTTP MCP at https://api.upliftfunnel.com/mcp. There is nothing to install and no npm package to keep up to date: the tool definitions, the JSON Schemas and the authoring guide live on the server and reach your agent as the body of an authenticated response.
Add the server
Run this once, in any MCP-capable agent:
Terminal claude mcp add --transport http uplift https://api.upliftfunnel.com/mcpNote what is not in that command: a key. Nothing secret is written to your shell history or to a config file on disk.
Get a pairing code
In the dashboard, open your app and go to Integrate → Connect an agent, then press Get a code. The code is valid for ten minutes and grants access to that one app.
Call connect
Tell your agent to connect with the code — it calls the
connecttool for you. The dashboard flips to connected as soon as the exchange lands, and the six tools appear. You can end the session from the same page at any time.
Clients that read a JSON config rather than a CLI take the same URL:
{
"mcpServers": {
"uplift": {
"url": "https://api.upliftfunnel.com/mcp"
}
}
}What the agent gets
- list_flows
- Every flow in the app. The place to start.
- get_flow
- A flow's outline — titles, node types, variables, transitions. Roughly a tenth the size of the full document, so a whole funnel fits in context.
- get_screen
- One screen's tree, plus the ids, variables and theme tokens needed to edit it correctly.
- edit_screen
- Validate, render, and — unless
dry_runis set — write one screen to the draft. Returns a PNG of the screen it validated, so the agent can look at its own work instead of guessing from JSON. - create_flow
- Create a new flow from a full document.
- check_flow
- Whole-flow check: reachability, dataflow, dead ends, and the App Store paywall policy that gates deploying.
Three resources come with it — funnel://guide/authoring, funnel://schema/node and funnel://schema/flow — so an agent writing a screen from scratch reads the house rules and the schema rather than inferring them from examples.
What a session looks like
> outline the onboarding flow
list_flows → 3 flows
get_flow("onboarding") → 11 screens, 4 variables, 2 branches
> rewrite the paywall headline to lead with the annual saving, show me
get_screen("paywall")
edit_screen(..., dry_run: true) → 0 errors + a PNG of the screen
edit_screen(...) → written to the draftErrors come back as one diagnostic with a JSON pointer, a fix hint and a citation into the authoring guide — not twenty-seven schema violations for a single misspelled screen id.
If the agent edits a flow you deployed meanwhile
The tools report which base they read — draft or published — and the published version number with it. An agent that started from a draft you have since deployed over is told to rebase rather than allowed to write onto a base that no longer exists. See Versions & caching for how drafts and deploys relate.
Limits
- Agent calls are rate-limited per user, and share one budget across the MCP endpoint and the agent API behind it.
- A pairing grants access to one app. Pair again for a second app.
- Sessions can be ended from Integrate → Connect an agent at any time; the agent is told the session ended rather than failing silently.