Storyflo MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Official Model Context Protocol server for **Storyflo** — curated audio news + daily briefings + the public Declassified library (FBI/CIA/NSA/NASA/DOJ/AARO releases) + market-linked story signals, all exposed as a callable surface for any LLM agent.
> **Claude Desktop one-click .mcpb:** for a no-config Claude Desktop install, see the companion extension repo **Alisammour/storyflo-mcp-extension**.
This repository contains a zero-dependency **stdio bridge** (src/index.js) that relays MCP JSON-RPC between a local stdio client and the hosted streamable-http endpoint, plus discovery + install references. The Storyflo platform itself is proprietary; agent integration through the public API is the supported surface.
Install — one click
**Claude Code:** claude mcp add --transport http storyflo https://api.storyflo.com/mcp/v1
**Any remote client:** https://api.storyflo.com/mcp/v1 (streamable-http) · **stdio:** npx storyflo-mcp
The best tools are **free + no-auth** — try search_declassified (real FBI/CIA/NSA/NASA cases) in seconds, then earn revenue share by integrating via register_embedder.
Run the stdio bridge
Or via Docker:
Environment variables:
| Variable | Default | Purpose |
|---|---|---|
| STORYFLO_MCP_URL | https://api.storyflo.com/mcp/v1 | Upstream MCP endpoint |
| STORYFLO_TOKEN | _(unset)_ | OAuth bearer for tools/call; discovery (initialize, ping, tools/list, resources/list) works anonymously |
Claude Desktop / any stdio-only MCP client config:
What you can do
- **Audio news** — search Storyflo's curated corpus by vertical (tech, finance, science, media, sports, culture, + more), fetch full articles, and resolve playable audio
- **Daily briefings** — aggregate top-N cross-vertical roll-ups (digest) or a stitched single-vertical audio briefing (get_vertical_briefing, premium)
- **Declassified library** — narrated FBI/CIA/NSA/NASA/DOJ/AARO releases, public + no auth
- **Market-linked signals** — Storyflo stories matched to Kalshi event contracts + a Kraken crypto markets link-out (editorial, not investment advice)
- **Discovery** — trending topics, host personas, per-vertical landscape, full podcast catalog
- **Subscriptions** — mint personal podcast feeds for articles or Declassified, on the listener's behalf
- **Partner integration** — register as an embedder + explore partnership tiers/payout rails for revenue share
Endpoints
| Surface | URL |
|---|---|
| MCP transport | https://api.storyflo.com/mcp/v1 |
| Discovery manifest | https://api.storyflo.com/.well-known/mcp.json |
| OAuth (RFC 8414) | https://api.storyflo.com/.well-known/oauth-authorization-server |
| OpenAI tool spec | https://api.storyflo.com/v1/agents/openai-tools.json |
| API docs | https://www.storyflo.com/developers |
One-click install
Cursor
Add Storyflo to Cursor
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector → URL:
Any MCP-compatible client (Continue, Cline, Zed, Windsurf, ChatGPT Custom Connectors)
Tools
Storyflo exposes **21 tools** (20 free + 1 premium) across three auth tiers:
**Public (no auth, no OAuth flow needed)** — designed so any LLM agent can browse + recommend from a fresh client install without an OAuth handshake:
| tool | what it does |
|---|---|
| search_articles | search the curated article corpus by query/vertical |
| get_article | fetch the full record + body text + audio URL by slug |
| get_audio_url | resolve the playable audio URL for an article |
| get_trending_topics | what's hot on Storyflo right now |
| get_personas | the host voices (Theo / Mason / Riley / Iris / Brock / Wit) |
| get_vertical_landscape | one-shot per-vertical context for onboarding a listener |
| list_podcasts | the full catalog of audio shows (per-host + Declassified) |
| digest | top-N articles aggregated across verticals for a window |
| get_market_linked_stories | stories matched to Kalshi event contracts (editorial, not advice) |
| get_crypto_market_link | Kraken affiliate markets link-out for crypto-relevant stories |
| search_declassified | substring search across the Declassified case archive |
| get_declassified_case | full Declassified case record by slug |
| digest_declassified | most-recently-published Declassified cases over a window |