BioFlow / MCP

Connect AI agents to BioFlow.

BioFlow ships a remote MCP (Model Context Protocol) server. Any MCP-capable agent — Claude, Claude Code, ChatGPT, Copilot, MCP Inspector, or your own — can read your analytics, edit your bio page drafts, and (with your explicit say-so) publish, all through OAuth you grant and can revoke in one click.

Connect

Two minutes to your first tool call.

Server URL

One remote endpoint, Streamable HTTP, no local install and no API keys to copy around:

https://app.getbioflow.com/api/mcp

Claude Code

Add BioFlow from your terminal, then sign in when prompted:

claude mcp add --transport http bioflow https://app.getbioflow.com/api/mcp

Claude (web & desktop)

  1. Open Settings → Connectors
  2. Choose “Add custom connector”
  3. Paste the server URL above and connect
  4. Approve the scopes on BioFlow's consent screen

Authentication

OAuth 2.1 with PKCE. Clients register themselves via unauthenticated dynamic client registration (RFC 7591), and discovery follows RFC 8414 + RFC 9728:

https://app.getbioflow.com/.well-known/oauth-authorization-server https://app.getbioflow.com/.well-known/oauth-protected-resource

Tokens are scoped to one workspace — an agent only ever sees the workspace you connected it to.

Tools

12 tools, each behind one scope.

BioFlow MCP tools with their descriptions and required OAuth scopes
FeatureWhat it doesRequired scope
page.listList every bio page in the workspace: title, slug, publish status, block count, route, and theme.pages:read
page.getRead one page's draft and published state — block list with ids, theme, route, and the draft updatedAt that write tools require.pages:read
analytics.summaryWorkspace analytics for the last 7/30/90 days: views, clicks, unique visitors, CTR, top links, referrers, and tip revenue.analytics:read
contacts.listList captured contacts and leads (newsletter signups, form submissions, gated downloads), newest first.contacts:read
file.listList uploaded files (name, MIME type, public path) for wiring into image, file, carousel, or product blocks.files:read
page.createCreate a new bio page as an unpublished draft — it never publishes; going live requires the separate page.publish tool.pages:write
page.update_draftEdit the draft's title, description, theme, or existing blocks by id — everything you don't mention is preserved.pages:write
page.add_blockAppend one new block to the draft, preserving every existing block byte-for-byte.pages:write
page.remove_blockDelete specific blocks from the draft by id; refuses to clear the entire page.pages:write
page.reorder_blocksRearrange the draft's blocks without editing their content — every block id listed exactly once.pages:write
page.publishPublish the draft to the live public page. Two-step: the first call returns a preview + confirmToken, the second commits.publish · dangerous — off by default
page.schedule_publishSchedule the page to publish at a future time. Two-step confirm; the commit call must repeat the same startsAt.publish · dangerous — off by default

page.publish and page.schedule_publish are the dangerous set: they change what real visitors see, so they require the publish scope AND a per-workspace “dangerous operations” toggle that ships OFF, and every commit is two-step confirmed (below).

Scopes

You grant exactly what an app asked for.

BioFlow OAuth scopes and what each one grants
FeatureWhat it grants
pages:readSee your bio pages, blocks, and themes
pages:writeCreate and edit drafts of your bio pages
analytics:readSee your page views, clicks, and traffic sources
contacts:readSee your captured contacts and leads
files:readSee your uploaded files and media
publishPublish changes to your live pages

These are the exact descriptions shown on the consent screen. An agent calling a tool outside its granted scopes gets a structured SCOPE_MISSING denial — never silent partial access.

Safety rails

Built so an agent can't surprise you.

Consent & instant revocation

Every connection starts on a consent screen listing each requested scope in plain language. Revoke any app in Settings → Connected AI apps — revocation is instant, and the same screen shows a full audit trail of every tool call the app ever made.

Publishing is off by default

Draft edits never touch your live page. The publish-class tools are disabled per workspace until you flip an explicit settings toggle; until then agents get a DANGEROUS_OPS_DISABLED denial that carries a deep-link to that setting.

Two-step confirm on publish

Calling page.publish or page.schedule_publish without a confirmToken commits nothing — it returns a preview of what would go live plus a confirmToken valid for 10 minutes. Calling again with that token (and, for scheduling, the same startsAt) commits. If the draft changed in between, the commit is refused with STALE_SNAPSHOT; a forged, expired, or rebound token is refused with CONFIRM_TOKEN_INVALID.

Structured, actionable denials

Every refusal is a typed code an agent can act on: SCOPE_MISSING, DANGEROUS_OPS_DISABLED (with the settings deep-link), QUOTA_EXCEEDED when a call would pass your plan limits, STALE_SNAPSHOT, CONFIRM_TOKEN_INVALID. No mystery errors, no silent no-ops.

Draft writes are guarded too: every write tool requires the expectedUpdatedAt read from page.get (optimistic concurrency — a stale draft is refused, never clobbered), and writes accept an optional idempotencyKey so a retried call can't run twice.

FAQ

Agent questions, answered.

Is my data safe when I connect an AI agent?

Yes. Agents connect through OAuth 2.1 — you approve exactly which scopes an app gets on a consent screen, tokens are limited to one workspace, and every tool call is written to an audit trail you can review in Settings → Connected AI apps. You can revoke an app at any time and revocation is instant.

What can an agent do without my approval?

Only what its granted scopes allow — and nothing that touches your live page. Draft edits stay drafts. Publishing and scheduling are off by default per workspace, and even after you enable them, every publish is a two-step flow: the agent gets a preview and a short-lived confirm token first, and nothing commits until a second call with that token.

How do I disconnect an AI app?

Open Settings → Connected AI apps in your BioFlow dashboard and revoke the app. Revocation is instant — its access and refresh tokens stop working immediately.

Does MCP access cost extra?

No. The MCP server is included on every plan, including Free. Tool calls ride your plan's existing limits — an agent can't spend more than your plan allows, and over-limit calls get a structured QUOTA_EXCEEDED response instead of silent failure.

Which AI agents work with BioFlow?

Any MCP client that speaks Streamable HTTP with OAuth: Claude (web and desktop, as a custom connector), Claude Code, ChatGPT, Microsoft Copilot, MCP Inspector, and any agent framework with an MCP client. Registration is dynamic — no pre-shared API keys needed.

More on BioFlow itself: the full FAQ, the integration directory, and pricing.

Give your agent a bio page to run.

Sign up free, connect any MCP client, and let it keep your page fresh. MCP access is included on every plan.

Start free — no cardSee pricing