MCP Server for Z.AI - A Model Context Protocol server that provides AI capabilities
Storyflo is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
MCP stdio bridge for Storyflo — curated audio-news: search articles, fetch narrated audio, subscribe topic feeds.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http storyflo-mcp https://api.storyflo.com/mcp/v1
# 2 — ask your agent for something these tools do
# search_articles, get_article, get_audio_url and 34 more
Storyflo costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http storyflo-mcp https://api.storyflo.com/mcp/v1Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
37 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Search 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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Search query |
| vertical | string | no | — |
| limit | integer | no | — |
Fetch the full record for an article by slug, including body_text + audio_url.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | — |
Resolve the playable audio URL for an article. Returns a stitched-with-ad URL on free tier or the bare audio for plus/pro.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | — |
Mint 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. Beha
| Parameter | Type | Required | Notes |
|---|---|---|---|
| verticals | array | yes | 1–6 vertical slugs the feed should cover. Replaces (not appends) the listener's current selection. |
Return the listener feed(s) this agent has minted on the human's behalf.
No parameter schema on file.
Fetch 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| vertical | string | yes | — |
Storyflo stories that match an actively traded event contract on Kalshi (a CFTC-regulated exchange). Each item carries qualitative signal tags (high_velocity, genuine_uncertainty) plus a link-out to Kalshi's own page where the live market data lives. Editorial sourcing surface, not market-data redistribution: Storyflo never returns raw prices, market-implied probabilities, volumes, or open interes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| vertical | string | no | Filter by story vertical (e.g. news, finance, tech, crypto) |
| category | string | no | Filter by Kalshi event category (e.g. Politics, Economics, Companies, Sports) |
| signal | string | no | Filter by qualitative signal tag. high_velocity = the matched market is repricing meaningfully in the last 24h; genuine_uncertainty = the market sits in the 40–60% band where it itself is uncertain. |
| limit | integer | no | — |
Return Storyflo's markets-partner Kraken affiliate URL for a given crypto asset (BTC, ETH, etc). Editorial linkout, not a trading prompt: the URL points at Kraken's public asset page so a listener who wants exposure can reach a regulated venue without leaving the brief context. Markets-as-INPUT posture (counsel-cleared) — Storyflo never quotes prices, never recommends positions, and never frames e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset | string | yes | Primary crypto asset symbol — BTC, ETH, SOL, USDC, etc. Case-insensitive; upper-cased before being embedded in the URL. |
| embedder_slug | string | no | Optional embedder attribution slug. When set, the affiliate URL carries ?ref=<slug>; omit to default to ?ref=storyflo. |
Aggregate the top-N articles across selected verticals for the requested window. Heaviest action — counts more against the per-agent rate limit. Use this for 'read me today's tech news' style prompts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| verticals | array | no | — |
| window | string | no | — |
| limit | integer | no | — |
Connect a Google Drive folder of recordings so storyflo can match them to episodes automatically — the alternative to uploading a back catalogue file by file. Call with NO folder argument first to get the setup instructions, including the address to share the folder with. Then call again with folder=<the Drive URL>. Recording the connection moves no audio; the scan happens afterwards.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token. |
| folder | string | no | Google Drive folder URL or id. Omit to get setup instructions. |
What the connected folder has produced: files seen, files matched and attached, and — most usefully — the files storyflo could read but would NOT auto-attach because the filename did not clearly identify an episode. Those are listed with the reason so they can be renamed and picked up on the next scan.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token. |
Get a one-time upload URL for an episode's source audio — your own recording (StreamYard, Riverside, Zoom, a local file). Use this when an episode shows as 'awaiting': storyflo knows it exists but has no audio for it. Returns a presigned PUT URL plus a ready-to-paste curl command. Nothing changes in storyflo until you upload and then call publisher_attach_audio — this tool alone moves no bytes and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token. |
| episode_slug | string | no | Episode this audio is for. |
| content_type | string | no | Audio MIME type, e.g. audio/mpeg for mp3. |
Confirm a finished upload and mark that episode live. Verifies the file really landed in storage before changing anything, then points the episode at it so it appears in your RSS feed on the next build. Attaches ONE upload to ONE episode you own.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token. |
| key | string | yes | The key returned by publisher_upload_audio. |
| episode_slug | string | yes | Episode to attach it to. |
A signalflo fund manager's own book: which calls are open, how many have closed, and the deep links to the desk and dashboard. Use this first when a manager asks what is on their book right now.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your desk slug on storyflo. |
| access_token | string | yes | Your access token — the same one your storyflo dashboard uses. |
Record a new call on your book: the event, which way you lean, and why. Idempotent — opening a call you already hold repositions it instead of creating a duplicate, so an agent may safely re-run its loop. Lean and rationale must be QUALITATIVE: a percentage, odds or implied probability is refused, because a number attached to a market view reads as investment advice.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | — |
| access_token | string | yes | — |
| event | string | yes | What the call is about. |
| aqua_position_ref | string | no | Optional. The 1inch Aqua position this call is about — an https 1inch/Aqua URL or a position id (0x… or digits). Pair with the 1inch Aqua MCP: open the position there (you sign), then record the call |
| lean | string | no | Which way you lean, in words. No numbers. |
| rationale | string | no | Why, in words. No odds or percentages. |
| category | string | no | — |
| story_title | string | no | — |
| story_url | string | no | — |
| venue_url | string | no | — |
| tags | array | no | — |
Update your view on an open call as the signal evolves. Same qualitative rule as opening one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | — |
| access_token | string | yes | — |
| position_key | string | yes | From fm_book_status or fm_open_position. |
| lean | string | no | — |
| rationale | string | no | — |
| aqua_position_ref | string | no | Optional. The 1inch Aqua position this call is about — an https 1inch/Aqua URL or a position id (0x… or digits). Pair with the 1inch Aqua MCP: open the position there (you sign), then record the call |
Close a call when the divergence resolves or goes stale. The position stays on the book as closed rather than being deleted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | — |
| access_token | string | yes | — |
| position_key | string | yes | — |
| note | string | no | Optional closing note, in words. |
Where a publisher stands right now: their RSS feed URL (the one to submit to Apple Podcasts and Spotify), how many episodes storyflo holds, how many already have finished audio, and how many are still awaiting source audio. Use this for 'what is my feed URL', 'is anything stuck', or as the first call when a publisher asks how things are going.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token — the same one the dashboard uses. Rotatable at POST /v1/publisher/{slug}/access-token/rotate. |
List a publisher's episodes newest-first with their real state: 'live' (has finished audio and appears in the RSS feed) or 'awaiting' (storyflo knows the episode exists but has no finished audio yet). Filter with status=live or status=awaiting to answer 'what is still pending?'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token — the same one the dashboard uses. Rotatable at POST /v1/publisher/{slug}/access-token/rotate. |
| status | string | no | — |
| limit | integer | no | — |
Plays over a window (default 30 days, max 365) plus the episodes driving them. Answers 'how did last month go' and 'which episode is working'. Zero plays on a new feed is normal — directories take days to index a fresh RSS URL.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tenant_slug | string | yes | Your publisher slug on storyflo. |
| token | string | yes | Your publisher access token — the same one the dashboard uses. Rotatable at POST /v1/publisher/{slug}/access-token/rotate. |
| days | integer | no | — |
Search ALL of Storyflo in one call and get results back as separate per-corpus buckets: news (the narrated article archive), declassified (government-document cases), and signals (Atlas's book of positions off the Divergence Index). Use this when you do not already know which corpus holds the answer, or when a topic spans several — e.g. a macro question with both coverage and a live position
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | What to search for, across every corpus. |
| corpora | string | no | Comma-separated subset: news, declassified, signals. Omit for all three. |
| profile | string | no | Ranking emphasis. Same buckets either way; only order and enrichment differ. |
| vertical | string | no | — |
| limit | integer | no | Max results PER CORPUS. |
Search Storyflo's Declassified archive — narrated cases drawn from FBI, CIA, NSA, NASA, DOJ, AARO, war.gov and other publicly-released government documents. Substring match across case title + synopsis. Use when the agent needs to find a Declassified case matching a topic (e.g. 'UAP', 'JFK', 'COINTELPRO', 'Roswell') before fetching the full case via get_declassified_case or handing the audio_url
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Substring matched against case title + synopsis. |
| limit | integer | no | — |
Fetch the full record for a Declassified case by slug. Returns title, summary, transcript_excerpt, episode_date, duration_sec, agency, audio_url, source_doc_url, and up to 5 related cases. Use after search_declassified when the agent needs the full case body to summarize, narrate, or hand off audio playback. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Case slug as returned by search_declassified. |
Return the most-recently-published Declassified cases over a rolling window. Use for 'what's new in Declassified this week' style prompts. window=today (~24h) | week (default) | month. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| window | string | no | — |
| limit | integer | no | — |
Resolve a podcast-feed URL the user can paste into Apple Podcasts, Overcast, Pocket Casts, or Spotify to receive every new Declassified case automatically. Also returns a JSON episodes_url the agent can poll, plus a matched_so_far count of cases that already mention the topic. Read-only — does NOT store the user's email or any PII; the RSS feed is the subscription. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| topic | string | yes | Topic the listener wants alerts for (e.g. 'UAP', 'JFK', 'COINTELPRO'). |
| string | no | Optional — informational only; no row is written for it. |
Return storyflo's current cross-vertical trending snapshot: top stories ranked by recency + velocity, active publishers in the last 24h, the featured daily-brief compilation, and per-vertical hot lists. Use when the agent needs to surface 'what's hot on storyflo right now' to its human, or to decide which vertical landscape to dig into next. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| window | string | no | Advisory window — today's snapshot covers the rolling 24h; week + month are reflected back for future expansion. |
Return the storyflo 6-host persona catalog (Theo, Mason, Jessica, etc.) — each entry includes slug, name, voice_id, owned verticals, tone archetype, sign-off line, and the listener-facing URLs for sample audio + RSS. Use this to pick a voice for the agent's use case before rendering audio or briefing the user on which host covers which vertical. Public — no auth required.
No parameter schema on file.
Return everything an agent needs to onboard a listener for a single vertical in one tool call: top stories, the named host persona (with sample-audio URL and tone), the premium-briefing URL the agent can deep-link (x402-gated), and the public RSS feed the listener can paste into any podcast player. Use after the agent has decided which vertical to set up — saves a follow-up get_personas + `searc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| vertical | string | yes | Vertical slug — tech / finance / news / science / health / young_moms / yoga, or a persona-owned alias (ai, crypto, ml, markets, fintech, economics). |
Return the public catalog of Storyflo podcast shows — the Declassified archive plus 6 daily-brief shows hosted by Theo (tech), Mason (markets), Jessica (news), Chloe (health), Brock (sports), and Wit (comedy). Each entry includes the show title, host name, vertical, RSS feed URL (paste into Apple Podcasts / Spotify / Overcast), and a deep-link to the storyflo.com listen surface. Use to surface eve
No parameter schema on file.
Return the caller's PRIVATE per-user podcast feed URL — a personalized daily brief (the stories from the topics the listener follows) delivered to whatever podcast app they already use (Apple Podcasts, Overcast, Pocket Casts, Snipd). This is the Substack/Patreon private-feed model: the token lives in the URL path (unguessable, fetchable over HTTPS) — paste the returned feed_url into the app's "Add
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listener_token | string | yes | The listener's existing storyflo listener_token (identity). Get it from the /listen page or the /v1/listeners surface. |
The Storyflo Divergence Index — Storyflo's own computed metric for where prediction markets disagree with the press. For each event Storyflo holds both a liquid prediction-market contract and a set of narrated news stories, it computes the gap between the market-implied probability and the probability the NEWS NARRATIVE implies for the same event, then ranks events by the absolute divergence. Each
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Max items to return (1-50, default 25). |
| source | string | no | Filter to one market source: kalshi or polymarket. |
Resolve the storyflo embedder onboarding URL prefilled with the partner's name + email + optional vertical. Returns the URL the human must visit to complete signup (storyflo emails a magic link to verify ownership; the embedder slug + ref_token are minted on verification). DOES NOT create a DB row + DOES NOT send email — the MCP tool is a discovery + handoff surface so an agent can call it specula
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Display name for the embedder (publisher / agent product). |
| string | yes | Contact email — must contain '@'. Storyflo emails the magic link here on signup. | |
| vertical | string | no | Optional vertical scope (tech / finance / news / etc.). |
Wrap the public `/embed/<slug>/manifest.json — an agent-discoverable JSON bundle of creative formats, voice options, payout config, and beacon URLs for a registered embedder. Use after register_embedder` or when an agent is reading another partner's manifest to plan an ad buy. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Embedder slug (e.g. 'theflatlay', 'highsnobiety'). |
Wrap the public `/embed/network-manifest.json` — the platform-level DSP/SSP onboarding bundle: supported creative formats, payout rails, attribution URLs, integration patterns. Use when an agent is evaluating whether to wire storyflo into its surface, or when a DSP partner needs the canonical integration shape. Public — no auth required.
No parameter schema on file.
Return the indicative partnership tier (starter / growth / scale / enterprise) + monthly fee + storyflo revenue-share bps for a partner integrating storyflo into their agent product. Pure pricing-matrix lookup; no contract is created. The agent should hand the returned contact_url to the human to open a formal partnership thread. Public — no auth required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| vertical | string | yes | Vertical scope the partner plans to cover. |
| monthly_impressions | integer | yes | Expected monthly impressions across the partner's surface. |
Subscribe to real-time briefing-render events. Returns the SSE endpoint URL with the chosen filters as query params — the agent's MCP client should open it with EventSource (browser), httpx.stream / aiohttp (Python), or curl -N (CLI). Event types: briefing.rendered (daily-brief lands), declassified.published (new Declassified episode), persona_briefing.rendered (persona brief synthesised /
| Parameter | Type | Required | Notes |
|---|---|---|---|
| vertical | string | no | Optional vertical filter. |
| event_type | string | no | Optional event_type filter. |
Return the caller's own trailing 30-day MCP tool-usage summary: total calls, success rate, p50 latency, and per-tool call/error counts. Identity is resolved from the OAuth bearer token on this request — anonymous callers receive a zeroed shape. Use this to self-budget against rate limits, audit which tools your agent actually uses, or decide whether a paid tier is worth the spend. Read-only, no si
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Storyflo or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
The scanner has read version 1.1.0 of this listing, but not the release on the shelf, so neither a grade nor a report is shown for it here. Nothing on this tab is ever borrowed from another release or another listing.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.2.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Storyflo can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.