MCP access to curated audio news, declassified records, topic feeds, and editorial signals linked to Kalshi contracts.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
This server is confirmed live โ we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Storyflo MCP.
search_articlesSearch Storyflo's article corpus. Returns slug, title, publisher, vertical, snippet, audio_url, and listen_seconds for each match. Use vertical to scope (tech / finance / science / media / sports / culture).
get_articleFetch the full record for an article by slug, including body_text + audio_url.
get_audio_urlResolve the playable audio URL for an article. Returns a stitched-with-ad URL on free tier or the bare audio for plus/pro.
subscribe_topicMint or update the human's personal Storyflo podcast feed. Pass 1โ6 vertical slugs from `tech`, `finance`, `science`, `media`, `sports`, `culture`. The server creates a private RSS feed scoped to those verticals โ or updates the existing feed in place if the listener already has one. Returns the RSS URL the listener can paste into Spotify, Apple Podcasts, Pocket Casts, or any podcast client. Behavior โข Persistent server-side side-effect โ a `ListenerSubscription` row is created or updated. The returned RSS URL stays stable across calls for the same listener (the listener doesn't need to re-paste it). โข Idempotent on identical input โ calling twice with the same verticals leaves state unchanged. โข REPLACES on different input โ calling with a different verticals set OVERWRITES the previous selection rather than adding to it. Use this to switch a listener's feed; do NOT call to add verticals incrementally (read the current set via `list_subscriptions` first and pass the union if you want additive behavior). โข Single feed per listener โ call `list_subscriptions` first to avoid clobbering an existing feed the listener explicitly chose. When to use Use after the agent has been asked to set up audio news for the human across a defined set of topics. Do NOT use to FETCH articles or audio โ that's `search_articles` + `get_audio_url`.
list_subscriptionsReturn the listener feed(s) this agent has minted on the human's behalf.
get_vertical_briefingFetch a stitched audio briefing of the top-25 trending articles in a single vertical from the last 24h. Premium โ settles in USDC on Base via x402. Vertical must be one of the canonical 7 buckets: tech, finance, news, science, health, young_moms, yoga. First call without an X-Payment header returns the x402 challenge; sign + retry.
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.
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.
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:
tech, finance, science, media, sports, culture, + more), fetch full articles, and resolve playable audiodigest) or a stitched single-vertical audio briefing (get_vertical_briefing, premium)| 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 |
Settings โ Connectors โ Add custom connector โ URL:
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 |
subscribe_topic | mint/update a personal podcast RSS feed scoped to verticals |
subscribe_declassified_topic | resolve a Declassified podcast-feed URL (read-only) |
list_subscriptions | list feeds this agent has minted for the human |
register_embedder | returns a partner onboarding URL (no email/row created) |
get_embedder_manifest | the embedder integration manifest |
get_embedder_network_manifest | the embedder network manifest |
quote_partnership | explore partnership tiers, creative formats + payout rails |
Note:
subscribe_topic,subscribe_declassified_topic, andlist_subscriptionsare listed as public for discovery; calls that mint/list a listener's feed resolve identity via OAuth bearer when present.
Premium (x402 over USDC on Base mainnet) โ get_vertical_briefing: a stitched audio briefing of the top-25 trending articles in a vertical from the last 24h.
The live tool manifest (with full JSON Schema for every parameter) is at
/v1/agents/openai-tools.json โ the source of truth Glama, OpenAI, and Anthropic introspect.
The Declassified library is Storyflo's narrated archive of publicly-released government documents from FBI, CIA, NSA, NASA, DOJ, AARO, war.gov, and other agencies. Every case has a narrated audio version, a transcript excerpt, and a source-document link. The 4 tools below traverse the same archive that backs the /declassified FE shelf and the public Declassified RSS feed.
search_declassified ยท publicSubstring search across case title + synopsis. Returns {slug, title, dek, episode_date, duration_sec, agency, category, era, audio_url} per match.
Parameters: query (string, required), limit (int, 1-50, default 10).
get_declassified_case ยท publicFull case record by slug. Returns {slug, title, dek, summary, transcript_excerpt, episode_date, duration_sec, agency, category, era, cover_url, audio_url, source_doc_url, related_cases:[{slug, title}]}.
Parameters: slug (string, required).
digest_declassified ยท publicMost-recently-published cases over a rolling window. Returns the same card shape as search_declassified.
Parameters: window (today | week (default) | month), limit (int, 1-50, default 10).
subscribe_declassified_topic ยท publicResolves a podcast-feed URL the user can paste into Apple Podcasts, Overcast, Pocket Casts, or Spotify to receive every new Declassified case automatically. Returns {topic, rss_feed_url, archive_url, episodes_url, matched_so_far, note}. Read-only by design: no DB row is written, no email is stored, the RSS feed IS the subscription.
Parameters: topic (string, required), email (string, optional โ informational only, never stored).
search_articles ยท freeSearch Storyflo's curated article corpus by query and/or vertical. Use this when the agent needs to find articles matching a topic before deciding which one to read or play.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/alisammour-storyflo-mcp)<a href="https://allmcps.com/mcp/alisammour-storyflo-mcp"><img src="https://allmcps.com/api/badge/alisammour-storyflo-mcp?style=directory" alt="Storyflo MCP on AllMCPs" /></a>