Stand up your own SPINE — an MCP gateway with apps, auth and a dashboard —
in your own Cloudflare account, in about five minutes.
The tokens you paste are never written to storage. They pass through one
request's memory and are dropped — the provisioning code has nowhere to put them and no column
for them. They never leave your browser except to this service, which you can inspect: the
whole flow below is plain JSON.
What we do record: that an instance was commissioned — its id, version, URL,
and the Cloudflare account and Supabase project it went into — so we can tell you what changed
when you ask for updates. Never any token, key, password or your data.
1What are you calling it?
One answer names everything else. Every default below is derived from it, and
every one of them stays editable.
Worker & URL
spine.<you>.workers.dev
Supabase project
spine
GitHub repository
spine
2Credentials
Two tokens, used once each, never saved.
Bring your own accounts — the only mode available today. You supply two
tokens, everything is provisioned into your accounts, and you own all of it.
Coming, and deliberately shown rather than hidden:
Connect through FluxPrompt — link Cloudflare and Supabase to FluxPrompt once; it vends
short-lived scoped credentials and you never paste a token.
Hosted by us — supply nothing; we run it and bill it through FluxPrompt.
Neither is built. GET /v1/modes is the machine-readable
version of this list, and it says available:false for both rather than omitting them.
Needs two permissions on the account: Workers Scripts:Edit and
Account Settings:Edit.
Opens Cloudflare’s own token form with both permissions already selected. Confirm the account under Account Resources, then Continue to summary → Create Token → copy it here. Cloudflare shows it once.
At the top, under Custom token, click Get started. Not the template list underneath.Edit Cloudflare Workers is the closest one and it is still missing the permission that registers a first workers.dev subdomain — fine if this account has deployed a Worker before, a dead end if it has not.
Name it spine.
Under Permissions, add two rows — the three dropdowns are group · resource · level:
Account · Workers Scripts · Edit
Account · Account Settings · Edit
Under Account Resources, choose the account you want SPINE to live in.
Only if you plan to host a React or Vue frontend here: add a third row, Account · Workers Builds Configuration · Edit. Cloudflare has no documented way to pre-select this one, which is why the button above fills in two permissions and not three. Skip it if you are not sure — a token without it provisions a SPINE perfectly, and adding it later is editing the token, not remaking it.
Leave Client IP Filtering and TTL alone → Continue to summary → Create Token.
Copy the token and paste it above.
What it is used for: uploading your Worker, setting its secrets, and turning on its workers.dev URL. Three calls, once. Your running SPINE never uses this token — it is safe to revoke the moment the wizard finishes.
Creates your database project and applies the schema.
Name it spine. There are no permissions to choose — a Supabase PAT carries your whole account, which is exactly why this one is used once and never stored. Revoke it when the wizard finishes.
Copy the sbp_… value — shown once — and paste it above.
What it is used for: creating your database project (or reading the one you pick), fetching its URL and service key, and applying SPINE’s schema.
If you are on the free plan you may have two active projects. At the limit, either pause one in Supabase or choose Use an existing one in step 2 — the schema is additive and skips anything already present.
3Your instance
A Worker named for you, a database in your Supabase, everything verified before handover.
SPINE's LLM tools — drafting app manifests, explaining capability gaps, the dashboard chat —
need a model to call. One FluxPrompt key reaches every model FluxPrompt carries, so it
is the one to give if you have it. Either can be added later at Settings.
Checked against FluxPrompt's live catalogue before anything is provisioned.
Click Show, copy the key, and paste it above. We check it against FluxPrompt’s live model catalogue immediately and tell you how many models it reaches.
Why one key is better than an Anthropic key: FluxPrompt routes to every model it carries, so a single key covers Claude, GPT, Gemini and the rest, and swapping models later is a setting rather than a new credential.
Fully optional. Every other part of SPINE — the gateway, apps, auth, the dashboard — works with no model at all. Only the LLM-backed tools (drafting app manifests, explaining capability gaps, the dashboard chat) need one, and they will tell you so rather than failing quietly.
We copy your SPINE into a repository in your account — a copy, not a fork,
with no link back to ours. From then on the code is yours. Your instance keeps the update channel, so
spine.check_for_updates still tells you what changed upstream.
Opens a classic token form, named for this project with repo already checked. Set an expiry — 7 days is plenty, it is used once — then Generate token and copy the ghp_… value here.
Resource owner: your own account. Repository access: All repositories (the repo does not exist yet, so it cannot be selected).
Permissions → Contents: Read and write and Administration: Read and write — Administration is what creates the repo.
What it is used for: creating one repository and pushing one commit. This field is optional — skip it and your SPINE still deploys; the source can be copied to GitHub at any time later.
One confirmation on GitHub creates a small app on your account — that is what
lets you (and your operators) sign in to the instance with GitHub instead of the admin token.
Nothing is created until you confirm it on GitHub.
So GitHub sign-in lets you in on day one. Add more later at /admin/operators.
The swatch mirrors what the instance will actually use. Leave the field blank
to keep the theme's own accent; pick a colour and it overrides — buttons, links and focus rings
follow it, and SPINE derives its own readable text colour on top. Applied at activation, so the
instance comes up already wearing it, and changeable anytime at Settings → Appearance.
4Provisioning
Verified at every step — a step is done when the system answers, not when the request returns.
Save these now — they are shown once.
Nothing here is recoverable from us: the factory keeps no tokens, and the admin token exists
only as a secret inside your own Worker.
One default to know about: this instance sends a copy of any builder-filed friction
report (spine.report_problem) upstream to Enhanced AI, so the framework learns
what building on it costs. No credentials, arguments, or user data are ever included, and
you can turn it off by removing the SPINE_REPORT_UPSTREAM variable on your Worker.
Instance
Dashboard
Admin token
MCP token
DB password
The DB password is only needed for direct psql access —
SPINE itself never uses it. Open the dashboard once with the admin link; it sets a cookie.
Connect any MCP client to <instance>/mcp with the MCP token.