Skip to main content
Developers

Build on Storyflo.

Storyflo speaks every major agent protocol on day one — MCP for Claude, OpenAI Apps SDK for ChatGPT, AgentKit + x402 for Coinbase agents, and a plain REST + OAuth 2.1 surface for everyone else. Six tools, one consent flow, deterministic billing per call.

Manifests

Every protocol's discovery file lives at a stable URL. Point your agent runtime at one of these and you're done.

MCP manifest
Open →
https://api.storyflo.com/.well-known/mcp.json

Anthropic Model Context Protocol manifest. Drop into Claude.ai → Settings → Connectors. OAuth 2.1 + PKCE.

OpenAPI spec
Open →
https://api.storyflo.com/.well-known/openai-app.yaml

OpenAI Apps SDK spec. Add as a Custom Action inside any GPT; works with the GPT Store submission flow.

AgentKit / x402 manifest
Open →
https://api.storyflo.com/.well-known/agentkit-tools.json

Coinbase AgentKit tool registration. Pay-per-call USDC on Base; no OAuth — the wallet signs each request.

Public OpenAPI (full surface)
Open →
https://api.storyflo.com/openapi.json

Complete FastAPI-generated OpenAPI for Storyflo's inference router. Generates client SDKs in any language.

Tools exposed

Same six actions across every protocol — agents and integrations see the same surface regardless of how they connect.

search_articles
(query: string, vertical?: string, limit?: int) → Article[]

Full-text + vertical search across the trending feed. Returns articles ready for narration.

get_article
(slug: string) → Article

Hydrate a single article — title, body_text, summary, audio_url when ready.

get_audio_url
(slug: string, voice?: string) → AudioRef

Return the cached audio URL for an article + voice combo. Renders on-demand if not yet cached.

subscribe_topic
(verticals: string[]) → SubscriptionRef

Bind verticals to the agent's listener_token; subsequent digests filter to these.

list_subscriptions
() → SubscriptionRef[]

Read-back of every vertical the listener is currently subscribed to.

digest
(window: '24h'|'7d'|'30d', limit: int) → Digest

One-shot aggregation: top-N articles in the requested verticals over the window. The heaviest action — metered first by the rate limiter.

Quickstart examples

Copy-paste-able install paths for the four supported runtimes plus a direct-REST fallback.

Install in Claude (one URL)
1. claude.ai → Settings → Connectors → Add custom connector
2. URL: https://api.storyflo.com/mcp/v1
3. Authorize via the consent page that opens. Done.

(Tip: paste the MCP server URL above — NOT
/.well-known/mcp.json, which is the discovery
manifest Claude reads to learn about the server.)
Install in ChatGPT (one URL)
1. ChatGPT → Apps menu → Add custom app
2. OpenAPI URL: https://api.storyflo.com/.well-known/openai-app.yaml
3. Authorize via the consent page. Six tools appear in the tool drawer.
Coinbase AgentKit (TypeScript)
import { AgentKit } from "@coinbase/agentkit";

const agent = await AgentKit.fromTools({
  toolsManifest: "https://api.storyflo.com/.well-known/agentkit-tools.json",
  // wallet auto-signs each pay-per-call USDC payment
});

const digest = await agent.invoke("digest", {
  window: "24h",
  limit: 5,
});
Direct REST (no agent framework)
# Search trending tech articles
curl -s "https://api.storyflo.com/v1/agent/articles?q=ai&vertical=tech&limit=5" \
  -H "Authorization: Bearer $STORYFLO_OAUTH_TOKEN" | jq

# Render audio for one article
curl -s "https://api.storyflo.com/v1/agent/articles/<slug>/audio?voice=atlas" \
  -H "Authorization: Bearer $STORYFLO_OAUTH_TOKEN" | jq
Embed a Storyflo player on any site
<!-- Drop into any page; iframe is allowed cross-origin -->
<iframe
  src="https://storyflo.com/embed/article/<slug>"
  width="100%"
  height="220"
  frameborder="0"
  allow="autoplay"
  style="border:1px solid rgba(0,0,0,0.08); border-radius:12px;"
></iframe>
Subscribe to a private feed (RSS)
Apple Podcasts:
  Library → Add a Show by URL → paste:
  https://api.storyflo.com/v1/podcasts/<your-listener-token>.xml

Spotify (public branded show):
  https://api.storyflo.com/v1/podcasts/storyflo.xml

Auth + rate limits

  • OAuth 2.1 + PKCE for any human-context agent (Claude, ChatGPT). Tokens carry scopes: articles:read, subscriptions:write, digest:run.
  • x402 micropayments for the Coinbase AgentKit path. No OAuth — the wallet signs each call; pay $0.001-$0.30 per action depending on weight.
  • Bearer API key for server-to-server publisher integrations. Email story@storyflo.com with your use case.
  • Rate limits: 60 req/min per IP on read endpoints, lower on the digest action. 429 with Retry-After on overflow.

Open source

Storyflo's MCP server, OpenAPI surface, and reference Coinbase AgentKit harness are heading to a public repo soon. We want the vibe-coding community building on this without asking permission.
Watching for the announcement? Drop your email — we'll ping you when the repo flips public, with the same install URLs above + a starter template repo.

Submit your agent

Built something on Storyflo? We'll list it in the partner gallery on /connect. Send a short description + the install URL to story@storyflo.com.

Storyflo's own submission packet

We publish our complete OpenAI / Anthropic / Coinbase submission collateral so partners can use the same shape for their own listings. Every word, URL, and asset in one place → /developers/submit-packet.