Storyflo

io.github.Alisammour由 GitHub 账号 Alisammour 发布v1.2.0更新于 Oct 24, 2026

Curated audio news, daily briefings, the Declassified library + market-linked signals.

已验证Streamable HTTP可网页运行网页搜索与抓取金融媒体与设计

概览

AI 生成的概览

Storyflo 的托管 MCP 服务器,可搜索精选音频新闻、每日简报、解密政府文件档案以及与市场关联的故事信号。

可以做什么
  • 按关键词或垂直领域搜索并阅读带旁白的文章,获取可播放音频地址
  • 汇总跨领域摘要、热门话题、主持人角色以及播客目录
  • 搜索、读取并汇总来自 FBI、CIA、NSA、NASA、DOJ 等机构公开文件的解密案例
  • 为所选领域或解密主题创建或列出个人播客 RSS 订阅源
  • 返回与 Kalshi 事件合约匹配的故事,以及 Kraken 加密货币外链
  • 注册为嵌入方、读取合作方清单并查询合作档位报价
适用场景
适合让助手基于精选音频内容回答新闻与简报类问题、推荐播客或个人订阅源,或调取带旁白的政府文件案例。也适用于需要编辑性故事与市场关联信号,或了解合作接入信息的智能体。
运行要求
需要远程 streamable-HTTP 端点,无需本地运行时;另提供可选的 npm stdio 桥接包。多数工具可匿名使用;听众与文章类工具使用 OAuth 2.1 动态客户端注册。可选桥接读取 STORYFLO_MCP_URL 与 STORYFLO_TOKEN。高级简报工具通过 Base 上的 USDC x402 付费。
安装前请注意
高级垂直简报按次以 Base 主网 USDC 收费,智能体可能产生实际支出。订阅主题会在服务器端写入持久记录,并以新选择覆盖原有领域而非追加。订阅源地址中包含听众令牌。市场关联故事仅为编辑性外链,不构成投资建议。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Storyflo,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Alisammour%2Fstoryflo-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "storyflo": {
      "type": "http",
      "url": "https://api.storyflo.com/mcp/v1"
    }
  }
}

README

Storyflo MCP Server

[storyflo-mcp MCP server] [storyflo-mcp MCP server score] [smithery badge]

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

[Add to Cursor] [Install in VS Code] [Install in VS Code Insiders]

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

bash
npx storyflo-mcp            # or: node src/index.js

Or via Docker:

bash
docker build -t storyflo-mcp .docker run -i --rm storyflo-mcp

Environment variables:

VariableDefaultPurpose
STORYFLO_MCP_URLhttps://api.storyflo.com/mcp/v1Upstream 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:

json
{  "mcpServers": {    "storyflo": {      "command": "npx",      "args": ["-y", "storyflo-mcp"],      "env": { "STORYFLO_TOKEN": "<optional bearer>" }    }  }}

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

SurfaceURL
MCP transporthttps://api.storyflo.com/mcp/v1
Discovery manifesthttps://api.storyflo.com/.well-known/mcp.json
OAuth (RFC 8414)https://api.storyflo.com/.well-known/oauth-authorization-server
OpenAI tool spechttps://api.storyflo.com/v1/agents/openai-tools.json
API docshttps://www.storyflo.com/developers

One-click install

Cursor

cursor://anysphere.cursor-deeplink/mcp/install?name=storyflo&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkuc3RvcnlmbG8uY29tL21jcC92MSJ9

Add Storyflo to Cursor

Claude Desktop / claude.ai

Settings → Connectors → Add custom connector → URL:

https://api.storyflo.com/mcp/v1

Any MCP-compatible client (Continue, Cline, Zed, Windsurf, ChatGPT Custom Connectors)

json
{  "mcpServers": {    "storyflo": {      "url": "https://api.storyflo.com/mcp/v1",      "transport": "streamable-http"    }  }}

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:

toolwhat it does
search_articlessearch the curated article corpus by query/vertical
get_articlefetch the full record + body text + audio URL by slug
get_audio_urlresolve the playable audio URL for an article
get_trending_topicswhat's hot on Storyflo right now
get_personasthe host voices (Theo / Mason / Riley / Iris / Brock / Wit)
get_vertical_landscapeone-shot per-vertical context for onboarding a listener
list_podcaststhe full catalog of audio shows (per-host + Declassified)
digesttop-N articles aggregated across verticals for a window
get_market_linked_storiesstories matched to Kalshi event contracts (editorial, not advice)
get_crypto_market_linkKraken affiliate markets link-out for crypto-relevant stories
search_declassifiedsubstring search across the Declassified case archive
get_declassified_casefull Declassified case record by slug
digest_declassifiedmost-recently-published Declassified cases over a window
subscribe_topicmint/update a personal podcast RSS feed scoped to verticals
subscribe_declassified_topicresolve a Declassified podcast-feed URL (read-only)
list_subscriptionslist feeds this agent has minted for the human
register_embedderreturns a partner onboarding URL (no email/row created)
get_embedder_manifestthe embedder integration manifest
get_embedder_network_manifestthe embedder network manifest
quote_partnershipexplore partnership tiers, creative formats + payout rails

Note: subscribe_topic, subscribe_declassified_topic, and list_subscriptions are 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.

Declassified library · public · no auth (NEW, 2026-06-20)

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 · public

Substring 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 · public

Full 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 · public

Most-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 · public

Resolves 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 · free

Search 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.

Parameters

nametyperequireddescription
querystringnoFull-text query against title + body + summary. Omit to browse a vertical without a keyword filter.
verticalenumnoOne of: tech, finance, science, media, sports, culture. Narrows results to a single vertical.
limitintnoMax results (default 10, capped 25).

Returns — array of { slug, title, publisher, vertical, snippet, audio_url, listen_seconds, published_at }.


get_article · free

Fetch the full record for a single article by slug. Use after search_articles when the agent needs the full body text or full audio URL.

Parameters

nametyperequireddescription
slugstringyesArticle slug, as returned by search_articles.

Returns — { slug, title, body_text, audio_url, publisher, vertical, sources[], published_at }.


get_audio_url · free

Resolve the playable audio URL for an article without fetching the body. Use when the agent wants to hand off audio playback to the user. Free tier returns a stitched-with-ad URL; Plus/Pro returns the bare audio.

Parameters

nametyperequireddescription
slugstringyesArticle slug.

Returns — { slug, audio_url, listen_seconds, tier }.


subscribe_topic · free

Mint or update the human's personal Storyflo podcast feed. Pass 1–6 vertical slugs and 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 (no re-pasting needed).
  • 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. For additive behavior, read the current set via list_subscriptions first and pass the union.
  • Single feed per listener — call list_subscriptions first to avoid clobbering an existing feed the listener explicitly chose.

Use when 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.

Parameters

nametyperequireddescription
verticalsarray<enum>yes1–6 unique slugs from tech, finance, science, media, sports, culture. Replaces (does not append to) the listener's current selection.

Returns — { feed_url, verticals, listener_token }.


list_subscriptions · free

Return the listener feeds this agent has minted on the human's behalf. Use before subscribe_topic to avoid creating duplicate feeds.

Parameters — none.

Returns — array of { feed_url, verticals, created_at }.


get_vertical_briefing · paid (x402)

Fetch a stitched audio briefing of the top-25 trending articles in a single vertical from the last 24h. Use when the agent wants a "today's headlines for X" experience for the user. Read-only — no listener state mutated.

Parameters

nametyperequireddescription
verticalenumyesOne of tech, finance, science, media, sports, culture, news.

Returns — { vertical, audio_url, item_count, listen_seconds, articles[] }.

Cost — single x402 charge; covers the full stitched briefing audio.


digest · free (heaviest)

Aggregate the top-N articles across one or more verticals for a window (24h / 7d / 30d). The heaviest action — counts most against per-agent rate limit. Use for "read me today's tech + finance news" prompts where the agent wants a curated cross-vertical roll-up rather than a single vertical's briefing.

Parameters

nametyperequireddescription
verticalsarrayno1–6 verticals. Defaults to all 6 if omitted.
windowenumno24h (default), 7d, or 30d.
limitintnoMax articles per vertical (default 5, capped 25).

Returns — { window, verticals, items: [{ slug, title, vertical, audio_url, snippet }] }.


get_market_linked_stories · free

Storyflo stories that match an actively traded event contract on Kalshi — a CFTC-regulated designated contract market. Each item carries qualitative signal tags plus a link-out to Kalshi's own page where the live market data lives.

This is an editorial sourcing surface, not market-data redistribution. Storyflo never returns raw prices, market-implied probabilities, volumes, or open interest in this payload. The agent or user follows the linkout to see live numbers on Kalshi.

Use when the agent needs to know which Storyflo stories are about news themes that have an actively traded event contract — e.g. World Cup matches, political mention contracts, corporate events. Same shape as a newsroom citing CME futures: market activity informs which stories are worth surfacing.

Parameters

nametyperequireddescription
verticalstringnoFilter by story vertical (e.g. news, finance, tech, crypto).
categorystringnoFilter by Kalshi event category (e.g. Politics, Economics, Companies, Science and Technology, Sports).
signalenumnoOne of active, high_velocity, genuine_uncertainty. 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.
limitintnoMax items (default 10, capped 50).

Returns — array of:

json
{  "story": { "slug", "title", "vertical", "published_at" },  "matched_market": { "title", "category", "url" },  "signal_tags": ["active", "high_velocity"?, "genuine_uncertainty"?],  "match": { "score", "shared_terms" }}

plus top-level attribution and disclaimer strings on every payload.

The matched_market.url links to Kalshi's own events page so the user / agent sees live market data on the source. Storyflo does not redistribute that data.

Compliance posture (counsel-reviewed; regression-tested in CI):

  • Vocabulary locked: never bets, odds, picks, or wagers — anywhere on the surface
  • Attribution on every payload: "Market data: Kalshi, a CFTC-regulated designated contract market"
  • Disclaimer on every payload: market-implied probabilities are exchange prices, not Storyflo forecasts and not investment advice; story-to-market links indicate topical correlation, not causation; informational use only
  • Liquidity floor (vol24h ≥ 100 OR OI ≥ 1000) excludes thin markets that could be manipulated into the feed
  • Near-resolved markets (implied probability outside 3–97%) excluded — keeps forward-looking signal only
  • Input-not-output frame: raw prices, probabilities, volumes, and open interest are computed internally for ranking but never exposed in the public payload. The linkout is the user's path to live data on Kalshi's own surface.

Authentication

OAuth 2.1 + PKCE. Public clients (Claude/ChatGPT/Cursor's MCP connectors) auto-register via Dynamic Client Registration (RFC 7591) at /oauth/register. No manual API key needed.

x402 micropayments

The premium tool (get_vertical_briefing) is metered via x402 over USDC on Base mainnet. Agents pay per call, no upfront contract. All 20 other tools require no payment — the Declassified, discovery, and partner tools need no auth at all, and the listener/article tools require only OAuth.

70/20/10 revenue split: 70% to the publisher, 20% to the recommending agent, 10% to Storyflo. On-chain and deterministic.

SDK

Native client libraries for TypeScript and Python:

bash
npm install storyflo-sdk      # https://www.npmjs.com/package/storyflo-sdkpip install storyflo          # https://pypi.org/project/storyflo/

Install via Smithery

npx -y @smithery/cli install storyflo

Logo

The Storyflo brand mark for client UIs: https://www.storyflo.com/icon-512.png

Related MCP servers

If you ship an agent that uses storyflo, you might also want the following — same x402-over-Base monetization rail, similar agent-facing posture, or natural complements in the news / finance / audio category space.

Same payment rail (x402 over USDC on Base)

  • forgemeshlabs/coinopai-mcp — paid crypto intelligence (trade decisions, audit against real prices, signal history) over USDC micropayments on Base.
  • 8randonpickart5/alderpost-mcp — eight bundled intelligence endpoints (security, company, threat, compliance, sales, sports, property, health) via x402 on Base.

Financial / market-data sourcing

  • Yahoo Finance MCP server — real-time equity quotes for agents that need security-level data alongside storyflo's market-aware news signal.

News + article sourcing

Multimedia / audio adjacencies

Meta-MCP / aggregators

If you maintain an MCP server that pairs naturally with storyflo and isn't listed, please open a PR or comment on an issue. We curate this list quarterly.

Support

  • Developer questions: [email protected]
  • Bug reports: open an issue on this repo
  • Discord: TBD

License

MIT for this repository's content (README + manifest references). The Storyflo platform itself is proprietary; agent integration through the public API is the supported integration surface.

来源:README.md,提交 cff8dbb

工具

37

search_articles

Search Storyflo articles

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).

输入参数limitqueryvertical

get_article

Get article

Fetch the full record for an article by slug, including body_text + audio_url.

输入参数slug必填

get_audio_url

Get audio URL

Resolve the playable audio URL for an article. Returns a stitched-with-ad URL on free tier or the bare audio for plus/pro.

输入参数slug必填

subscribe_topic

Subscribe to topic feed

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. 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`.

输入参数verticals必填

list_subscriptions

List active subscriptions

Return the listener feed(s) this agent has minted on the human's behalf.

无需输入参数。

get_vertical_briefing

Get per-vertical premium briefing

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.

输入参数vertical必填

get_market_linked_stories

Get stories with active matched event-contract markets

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 interest in this payload. Use this when the agent needs to know which Storyflo stories are about news themes that have an actively traded event contract — e.g. World Cup matches, political mention contracts, corporate events. Filter by story vertical, Kalshi category (Politics, Economics, Companies, Science and Technology, Sports), or by signal tag.

输入参数limitsignalcategoryvertical

digest

Build a daily digest

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.

输入参数limitwindowverticals

publisher_connect_folder

Connect a recordings folder

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.

输入参数token必填foldertenant_slug必填

publisher_folder_status

Connected folder status

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.

输入参数token必填tenant_slug必填

publisher_upload_audio

Upload source audio

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 mutates nothing.

输入参数token必填tenant_slug必填content_typeepisode_slug

publisher_attach_audio

Attach uploaded audio to an episode

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.

输入参数key必填token必填tenant_slug必填episode_slug必填

fm_book_status

My desk book

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.

输入参数tenant_slug必填access_token必填

fm_open_position

Open a position

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.

输入参数leantagsevent必填categoryrationalestory_urlvenue_urlstory_titletenant_slug必填access_token必填aqua_position_ref

fm_reposition

Reposition a call

Update your view on an open call as the signal evolves. Same qualitative rule as opening one.

输入参数leanrationaletenant_slug必填access_token必填position_key必填aqua_position_ref

fm_close_position

Close a position

Close a call when the divergence resolves or goes stale. The position stays on the book as closed rather than being deleted.

输入参数notetenant_slug必填access_token必填position_key必填

publisher_status

My storyflo status

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.

输入参数token必填tenant_slug必填

publisher_episodes

My episodes

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?'.

输入参数limittoken必填statustenant_slug必填

publisher_stats

My listening stats

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.

输入参数daystoken必填tenant_slug必填

search_unified

Unified search (news + declassified + signals)

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. Results are ranked WITHIN each corpus and never blended, so a large corpus cannot drown a small one. `profile=desk` leads with signals (news/declassified as supporting evidence); `profile=publisher` leads with news and declassified carrying attribution for citation. Signals are qualitative only — no raw market odds, not investment advice.

输入参数limitquery必填corporaprofilevertical

search_declassified

Search Declassified library

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 to a player. Public — no auth required.

输入参数limitquery必填

get_declassified_case

Get Declassified case

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.

输入参数slug必填

digest_declassified

Recent Declassified cases

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.

输入参数limitwindow

subscribe_declassified_topic

Subscribe to Declassified topic

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.

输入参数emailtopic必填

get_personas

Get host persona catalog

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.

无需输入参数。

get_vertical_landscape

Get one-shot vertical landscape

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` + `search_articles` + `get_premium_briefing` round trip. Public — no auth required.

输入参数vertical必填

list_podcasts

List all Storyflo podcast shows

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 every audio show an agent can offer its user without re-deriving the catalog from /v1/podcasts/* URL patterns. Public — no auth required.

无需输入参数。

get_my_private_feed

Get my private podcast feed URL

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 a show by URL". Pass the listener's existing listener_token (from the storyflo /listen page) as identity; the private feed token is minted on first call and stable thereafter. Keep the URL private — anyone with it can subscribe. Public — the listener_token arg is the credential, no OAuth required.

输入参数listener_token必填

get_divergence_index

Get the Storyflo Market-vs-Media Divergence Index

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 item carries Storyflo's divergence value, Storyflo's news-narrative probability, a qualitative market descriptor, the matched story links, and a link-out to the market venue. This is ORIGINAL ANALYSIS computed by Storyflo, not market-data redistribution: it never returns raw external market odds. Cite as 'per Storyflo's Divergence Index'. Filter by source (kalshi|polymarket). Public — no auth required. Not investment advice.

输入参数limitsource

register_embedder

Get embedder onboarding URL

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 speculatively without triggering inbox-bound email to the human. Public — no auth required.

输入参数name必填email必填vertical

get_embedder_manifest

Get per-embedder agent manifest

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.

输入参数slug必填

get_embedder_network_manifest

Get platform-wide embedder network manifest

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.

无需输入参数。

quote_partnership

Quote a partnership tier

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.

输入参数vertical必填monthly_impressions必填

stream_briefing_render_events

Stream briefing render events (SSE)

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 / audio rendered). Frame shape: {event_type, seq, slug, vertical, persona_slug, audio_url, published_at, metadata}. The endpoint replays the last ~1000 events on connect; a heartbeat is emitted every 30s. Public-anon read.

输入参数verticalevent_type

get_mcp_usage_self

Get my MCP tool usage (last 30 days)

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 side effects.

无需输入参数。

版本历史

1
  1. v1.2.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分