Storyflo について
Storyflo MCP Serverは、LLMエージェントをStoryfloの音声ニュース、ブリーフィング、公開Declassifiedアーカイブに接続します。ホスト型エンドポイントで記事や音声の検索、購読、パートナー向けツールを提供し、ローカルクライアント向けにstdioブリッジも備えています。
主な機能
- 01クエリや分野による記事検索
- 02記事本文と再生可能な音声URLの取得
- 03Declassified事例の閲覧と検索
- 04トレンドトピックと日次ダイジェストの取得
- 05ポッドキャストフィードの作成と一覧表示
- 06パートナーおよびエンベッダー情報の確認
活用シーン
- 01指定トピックのニュース検索と閲覧
- 02再生用の記事音声URLの取得
- 03公開政府文書を扱うナレーション事例の検索
- 04トピック別ポッドキャストフィードの設定
MCP 対応
ホスト型エンドポイント`https://api.storyflo.com/mcp/v1`は、streamable HTTPでStoryfloのツールをMCPクライアントに公開します。`npx storyflo-mcp`で起動するstdioブリッジは、MCP JSON-RPCをこのエンドポイントに中継します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.storyflo.com/mcp/v1claude mcp add --transport http storyflo https://api.storyflo.com/mcp/v1{"mcpServers":{"storyflo":{"type":"http","url":"https://api.storyflo.com/mcp/v1"}}}Cursor で開く{"servers":{"storyflo":{"type":"http","url":"https://api.storyflo.com/mcp/v1"}}}VS Code で開く{"mcpServers":{"storyflo":{"type":"http","url":"https://api.storyflo.com/mcp/v1"}}}{"mcpServers":{"storyflo":{"serverUrl":"https://api.storyflo.com/mcp/v1"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
37| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | いいえ | 検索クエリ |
| vertical | enum | いいえ | tech | finance | science | media | sports | culture |
| limit | integer | いいえ |
詳細
Storyflo MCP サーバー
Storyflo の公式 Model Context Protocol サーバーです。厳選された音声ニュース、毎日のブリーフィング、一般公開されている機密解除ライブラリ(FBI/CIA/NSA/NASA/DOJ/AARO の公開資料)、市場に連動したストーリーシグナルを提供し、あらゆる LLM エージェントから呼び出せます。
Claude Desktop のワンクリック
.mcpb: 設定不要で Claude Desktop にインストールするには、関連する拡張機能リポジトリ Alisammour/storyflo-mcp-extension をご覧ください。
このリポジトリには、ローカルの stdio クライアントとホストされた streamable-http エンドポイントの間で MCP JSON-RPC を中継する、依存関係ゼロの stdio ブリッジ(src/index.js)と、検出およびインストールに関する参照情報が含まれています。Storyflo プラットフォーム自体はプロプライエタリです。公開 API を介したエージェント連携が、サポート対象の接続方法です。
インストール — ワンクリック
Claude Code: claude mcp add --transport http storyflo https://api.storyflo.com/mcp/v1
あらゆるリモートクライアント: https://api.storyflo.com/mcp/v1(streamable-http) · stdio: npx storyflo-mcp
最も便利なツールは無料で認証不要です。まず search_declassified を使って、実際の FBI/CIA/NSA/NASA の事例をすぐに検索してみてください。その後、register_embedder で連携すると、収益分配を受けられます。
stdio ブリッジを実行する
npx storyflo-mcp # or: node src/index.js
Docker を使う場合:
docker build -t storyflo-mcp .
docker run -i --rm storyflo-mcp
環境変数:
| 変数 | デフォルト値 | 用途 |
|---|---|---|
STORYFLO_MCP_URL | https://api.storyflo.com/mcp/v1 | 上流の MCP エンドポイント |
STORYFLO_TOKEN | (未設定) | tools/call 用の OAuth ベアラー。検出(initialize、ping、tools/list、resources/list)は匿名で利用できます |
Claude Desktop/stdio 専用の MCP クライアント設定:
{
"mcpServers": {
"storyflo": {
"command": "npx",
"args": ["-y", "storyflo-mcp"],
"env": { "STORYFLO_TOKEN": "<optional bearer>" }
}
}
}
できること
- 音声ニュース — 縦割り分野(
tech、finance、science、media、sports、cultureなど)ごとに Storyflo の厳選コンテンツを検索し、記事全文を取得して、再生可能な音声を解決できます - 毎日のブリーフィング — 分野横断のトップ N 件をまとめたダイジェスト(
digest)、または単一分野の音声ブリーフィングをつなぎ合わせたもの(get_vertical_briefing、プレミアム)を取得できます - 機密解除ライブラリ — FBI/CIA/NSA/NASA/DOJ/AARO の公開資料をナレーション付きで提供します。一般公開されており、認証は不要です
- 市場連動シグナル — Kalshi のイベント契約に紐づけた Storyflo の記事と、Kraken の暗号資産市場へのリンク(編集コンテンツであり、投資助言ではありません)
- 検出 — トレンドトピック、ホストのペルソナ、分野ごとの動向、ポッドキャストの全カタログを確認できます
- サブスクリプション — リスナーに代わって、記事や機密解除コンテンツの個人用ポッドキャストフィードを作成できます
- パートナー連携 — 埋め込みパートナーとして登録し、収益分配のためのパートナーシップ階層や支払い方法を確認できます
エンドポイント
| サーフェス | URL |
|---|---|
| MCP トランスポート | https://api.storyflo.com/mcp/v1 |
| ディスカバリーマニフェスト | https://api.storyflo.com/.well-known/mcp.json |
| OAuth(RFC 8414) | https://api.storyflo.com/.well-known/oauth-authorization-server |
| OpenAI ツール仕様 | https://api.storyflo.com/v1/agents/openai-tools.json |
| API ドキュメント | https://www.storyflo.com/developers |
ワンクリックインストール
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=storyflo&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkuc3RvcnlmbG8uY29tL21jcC92MSJ9
Claude Desktop / claude.ai
設定 → コネクター → カスタムコネクターを追加 → URL:
https://api.storyflo.com/mcp/v1
MCP 対応クライアント(Continue、Cline、Zed、Windsurf、ChatGPT Custom Connectors)
{
"mcpServers": {
"storyflo": {
"url": "https://api.storyflo.com/mcp/v1",
"transport": "streamable-http"
}
}
}
ツール
Storyflo は3つの認証ティアにわたって、21 個のツール(無料 20 個+プレミアム 1 個)を提供します。
パブリック(認証不要、OAuth フローも不要) — 新たにクライアントをインストールした状態から、OAuth ハンドシェイクなしであらゆる LLM エージェントが記事を閲覧し、おすすめできるように設計されています。
| ツール | 機能 |
|---|---|
search_articles | クエリ/分野を指定して、厳選された記事コーパスを検索します |
get_article | スラッグを指定して、記事の全レコード、本文、音声 URL を取得します |
get_audio_url | 記事の再生可能な音声 URL を解決します |
get_trending_topics | 現在 Storyflo で注目されているトピックを取得します |
get_personas | ホストの声(Theo / Mason / Riley / Iris / Brock / Wit)を取得します |
get_vertical_landscape | リスナーへの案内に使える、分野ごとのコンテキストを一括で取得します |
list_podcasts | 音声番組の全カタログ(ホスト別+Declassified)を取得します |
digest | 指定期間の各分野から、上位 N 件の記事を集約します |
get_market_linked_stories | Kalshi のイベント契約にマッチする記事を取得します(編集コンテンツであり、助言ではありません) |
get_crypto_market_link | 暗号資産関連の記事向けに、Kraken のアフィリエイト市場へのリンクを取得します |
search_declassified | Declassified の事例アーカイブを部分一致検索します |
get_declassified_case | スラッグを指定して、Declassified の事例レコード全体を取得します |
digest_declassified | 指定期間に公開された、直近の Declassified 事例を取得します |
subscribe_topic | 分野を指定した個人用ポッドキャスト RSS フィードを作成または更新します |
subscribe_declassified_topic | Declassified ポッドキャストフィードの URL を解決します(読み取り専用) |
list_subscriptions | このエージェントがユーザー向けに作成したフィードを一覧表示します |
register_embedder | パートナー向けオンボーディング URL を返します(メールアドレスやレコードは作成されません) |
get_embedder_manifest | エンベッダー連携マニフェストを取得します |
get_embedder_network_manifest | エンベッダーネットワークマニフェストを取得します |
quote_partnership | パートナーシップのティア、クリエイティブ形式、報酬の支払い方法を確認します |
注:
subscribe_topic、subscribe_declassified_topic、list_subscriptionsはディスカバリー用にパブリックとして掲載されています。リスナーのフィードを作成または一覧表示する呼び出しでは、OAuth ベアラーが存在する場合、それを使ってユーザーの ID を解決します。
プレミアム(Base メインネット上の USDC を使った x402) — get_vertical_briefing:直近 24 時間の分野別トレンド記事上位 25 件をつないだ音声ブリーフィングを取得します。
すべてのパラメーターの完全な JSON Schema を含む、最新のツールマニフェストは
/v1/agents/openai-tools.json にあります。Glama、OpenAI、Anthropic が参照する正規の情報源です。
Declassified ライブラリ · パブリック · 認証不要(新規、2026-06-20)
Declassified ライブラリは、FBI、CIA、NSA、NASA、DOJ、AARO、war.gov などの機関が公開した政府文書を、Storyflo がナレーション付きでアーカイブしたものです。各事例には、ナレーション付き音声版、トランスクリプトの抜粋、原資料へのリンクがあります。以下の 4 つのツールで、/declassified の FE セクションおよびパブリックな Declassified RSS フィードを支える同じアーカイブを閲覧できます。
search_declassified · public
事件のタイトルと概要を対象に部分一致検索します。一致した各項目について {slug, title, dek, episode_date, duration_sec, agency, category, era, audio_url} を返します。
パラメーター:query(string、必須)、limit(int、1~50、デフォルト 10)。
get_declassified_case · public
slug で事件の全レコードを取得します。{slug, title, dek, summary, transcript_excerpt, episode_date, duration_sec, agency, category, era, cover_url, audio_url, source_doc_url, related_cases:[{slug, title}]} を返します。
パラメーター:slug(string、必須)。
digest_declassified · public
直近の期間に公開された事件を取得します。search_declassified と同じカード形式で返します。
パラメーター:window(today | week(デフォルト)| month)、limit(int、1~50、デフォルト 10)。
subscribe_declassified_topic · public
ユーザーが Apple Podcasts、Overcast、Pocket Casts、または Spotify に貼り付けて、新しい Declassified の事件をすべて自動で受け取れるポッドキャストフィードの URL を解決します。{topic, rss_feed_url, archive_url, episodes_url, matched_so_far, note} を返します。設計上、読み取り専用です:DB の行は書き込まれず、メールアドレスも保存されません。RSS フィード自体がサブスクリプションです。
パラメーター:topic(string、必須)、email(string、任意 — 情報提供のみを目的とし、保存されません)。
search_articles · 無料
Storyflo の厳選記事コーパスをクエリやジャンルで検索します。エージェントが記事を読む、または再生するものを決める前に、トピックに一致する記事を見つける必要がある場合に使用します。
パラメーター
| name | type | required | description |
|---|---|---|---|
query | string | no | タイトル、本文、要約を対象とする全文検索クエリです。キーワードで絞り込まずにジャンルを閲覧する場合は省略します。 |
vertical | enum | no | 次のいずれかです:tech、finance、science、media、sports、culture。結果を単一のジャンルに絞り込みます。 |
limit | int | no | 結果の最大数(デフォルト 10、上限 25)。 |
戻り値 — { slug, title, publisher, vertical, snippet, audio_url, listen_seconds, published_at } の配列。
get_article · 無料
slug を指定して、単一記事の全レコードを取得します。エージェントが本文全体または音声 URL 全体を必要とする場合に、search_articles の後で使用します。
パラメーター
| name | type | required | description |
|---|---|---|---|
slug | string | yes | search_articles から返された記事の slug。 |
戻り値 — { slug, title, body_text, audio_url, publisher, vertical, sources[], published_at }。
get_audio_url · 無料
本文を取得せずに、記事の再生可能な音声 URL を解決します。エージェントが音声再生をユーザーに引き継ぐ場合に使用します。無料プランでは広告を挿入した URL を返し、Plus/Pro では音声そのものを返します。
パラメーター
| name | type | required | description |
|---|---|---|---|
slug | string | yes | 記事の slug。 |
戻り値 — { slug, audio_url, listen_seconds, tier }。
subscribe_topic · 無料
人間ユーザーの Storyflo ポッドキャストフィードを作成または更新します。1~6 個のジャンルスラッグを渡すと、サーバーはそれらのジャンルに限定した非公開 RSS フィードを作成します。リスナーがすでにフィードを持っている場合は、既存のフィードをそのまま更新します。Spotify、Apple Podcasts、Pocket Casts、または任意のポッドキャストクライアントに貼り付けられる RSS URL を返します。
動作
- サーバー側に永続的な副作用があります —
ListenerSubscription行が作成または更新されます。同じリスナーに対して呼び出しを繰り返しても、返される RSS URL は変わりません(再度貼り付ける必要はありません)。 - 入力が同一の場合は冪等です — 同じジャンルを指定して 2 回呼び出しても、状態は変わりません。
- 入力が異なる場合は置き換えます — ジャンルのセットが異なる値で呼び出すと、以前の選択内容を追加するのではなく上書きします。リスナーのフィードを切り替えるにはこれを使用してください。ジャンルを段階的に追加する目的では呼び出さないでください。追加する場合は、まず
list_subscriptionsで現在のセットを読み取り、和集合を渡してください。 - リスナーごとにフィードは 1 つです — リスナーが明示的に選んだ既存フィードを上書きしないよう、先に
list_subscriptionsを呼び出してください。
使用する場面 エージェントが、人間ユーザーから指定されたトピックについて音声ニュースを設定するよう依頼された場合に使用します。記事や音声の取得には使用しないでください。それには search_articles + get_audio_url を使用します。
パラメーター
| name | type | required | description |
|---|---|---|---|
verticals | array<enum> | はい | tech、finance、science、media、sports、culture の中から、重複しない 1~6 個のスラッグを指定します。リスナーの現在の選択内容を置き換えます(追加はしません)。 |
戻り値 — { feed_url, verticals, listener_token }。
list_subscriptions · 無料
このエージェントが人間ユーザーに代わって作成したリスナーフィードを返します。フィードの重複作成を避けるため、subscribe_topic の前に使用してください。
パラメーター — なし。
戻り値 — { feed_url, verticals, created_at } の配列。
get_vertical_briefing · 有料(x402)
1 つのジャンルについて、過去 24 時間のトレンド記事上位 25 件をつなぎ合わせた音声ブリーフィングを取得します。ユーザーに「X の今日のヘッドライン」を提供したい場合に使用します。読み取り専用 — リスナーの状態は変更されません。
パラメーター
| name | type | required | description |
|---|---|---|---|
vertical | enum | はい | tech、finance、science、media、sports、culture、news のいずれか。 |
戻り値 — { vertical, audio_url, item_count, listen_seconds, articles[] }。
料金 — x402 による単一の課金で、つなぎ合わせたブリーフィング音声全体が対象です。
digest · 無料(最も負荷が高い)
期間(24 時間/7 日/30 日)を指定して、1 つ以上のジャンルにわたる上位 N 件の記事を集約します。最も負荷の高い操作で、エージェントごとのレート制限に最も大きく影響します。単一ジャンルのブリーフィングではなく、ジャンルをまたいで厳選されたまとめをエージェントが必要とする、「今日のテックと金融のニュースを読んで」といったプロンプトに使用します。
パラメーター
| name | type | required | description |
|---|---|---|---|
verticals | array | いいえ | 1~6 個のジャンル。省略した場合は 6 個すべてが既定値になります。 |
window | enum | いいえ | 24h(既定値)、7d、または 30d。 |
limit | int | いいえ | ジャンルごとの記事の最大数(既定値は 5、上限は 25)。 |
戻り値 — { window, verticals, items: [{ slug, title, vertical, audio_url, snippet }] }。
get_market_linked_stories · 無料
Storyflo のストーリーのうち、活発に取引されているKalshi のイベント契約に一致するものです。Kalshi は CFTC の規制を受ける指定契約市場です。各項目には、定性的なシグナルタグと、ライブ市場データが掲載されているKalshi の公式ページへのリンクが含まれます。
これは編集記事の情報源を探すための機能であり、市場データの再配布ではありません。このペイロードで Storyflo が生の価格、市場が織り込む確率、取引量、未決済建玉を返すことはありません。ライブの数値を確認するには、エージェントまたはユーザーがリンク先を開いて Kalshi を参照します。
次の場合に使用します:エージェントが、活発に取引されているイベント契約があるニューステーマに関する Storyflo のストーリーを把握する必要がある場合。たとえば、ワールドカップの試合、政治家の言及に関する契約、企業イベントなどです。ニュース編集部が CME 先物を引用するのと同じ形式で、市場の動向を参考に、取り上げる価値のあるストーリーを判断できます。
パラメーター
| name | type | required | description |
|---|---|---|---|
vertical | string | no | ストーリーの分野で絞り込みます(例:news、finance、tech、crypto)。 |
category | string | no | Kalshi のイベントカテゴリーで絞り込みます(例:Politics、Economics、Companies、Science and Technology、Sports)。 |
signal | enum | no | active、high_velocity、genuine_uncertainty のいずれかです。high_velocity は、一致した市場で過去 24 時間に大きな価格改定があったことを示します。genuine_uncertainty は、市場自体が不確実な 40~60%の範囲にあることを示します。 |
limit | int | no | 最大項目数です(デフォルトは 10、上限は 50)。 |
返却値 — 次の配列:
{
"story": { "slug", "title", "vertical", "published_at" },
"matched_market": { "title", "category", "url" },
"signal_tags": ["active", "high_velocity"?, "genuine_uncertainty"?],
"match": { "score", "shared_terms" }
}
加えて、すべてのペイロードにトップレベルの attribution 文字列と disclaimer 文字列が含まれます。
matched_market.url は Kalshi の公式イベントページにリンクしており、ユーザー/エージェントは情報源のライブ市場データを確認できます。Storyflo がそのデータを再配布することはありません。
コンプライアンス方針(法務顧問のレビュー済み。CI で回帰テストを実施):
- 使用語彙を厳守:この機能上のどこでも、賭け、オッズ、予想、賭け金に相当する語は使用しません
- すべてのペイロードに出典を表示:「市場データ:CFTC の規制を受ける指定契約市場である Kalshi」
- すべてのペイロードに免責事項を表示:市場が織り込む確率は取引所価格であり、Storyflo の予測でも投資助言でもありません。ストーリーと市場のリンクはトピック上の相関を示すものであり、因果関係を示すものではありません。情報提供のみを目的としています
- 流動性の下限(vol24h ≥ 100 または OI ≥ 1000)を設け、操作されてフィードに載る可能性のある薄商いの市場を除外します
- 決着間近の市場(織り込み確率が 3~97%の範囲外)は除外し、将来を見通すシグナルのみを維持します
- 入力であり出力ではないという方針:ランキングの計算には生の価格、確率、取引量、未決済建玉を内部で使用しますが、公開ペイロードには決して含めません。ライブデータを確認するには、ユーザーがリンク先から Kalshi の公式ページを参照します。
認証
OAuth 2.1 + PKCE。パブリッククライアント(Claude/ChatGPT/Cursor の MCP コネクター)は、/oauth/register で Dynamic Client Registration(RFC 7591)を使用して自動登録されます。手動での API キー設定は不要です。
x402 マイクロペイメント
プレミアムツール(get_vertical_briefing)は、Base mainnet 上の USDC を使った x402 による従量課金です。エージェントは呼び出しごとに支払うため、事前契約は不要です。その他の 20 個のツールはすべて無料です。Declassified、発見、パートナー向けツールは認証も不要で、リスナー/記事ツールに必要なのは OAuth のみです。
収益配分は 70/20/10 です:パブリッシャーに 70%、推薦したエージェントに 20%、Storyflo に 10%。オンチェーンで決定論的に処理されます。
SDK
TypeScript と Python 用のネイティブクライアントライブラリ:
npm install storyflo-sdk # https://www.npmjs.com/package/storyflo-sdk
pip install storyflo # https://pypi.org/project/storyflo/
Smithery 経由でインストール
npx -y @smithery/cli install storyflo
ロゴ
クライアント UI 用の Storyflo ブランドマーク:
https://www.storyflo.com/icon-512.png
関連する MCP サーバー
storyflo を使用するエージェントを提供する場合は、次のツールもご検討ください。同じ x402 over Base の収益化レールを採用するもの、エージェント向けの方針が似ているもの、ニュース/金融/音声のカテゴリー領域で自然な補完となるものがあります。
同じ決済レール(Base上のUSDCによるx402)
- forgemeshlabs/coinopai-mcp — Base上でのUSDCマイクロペイメントによる、有料の暗号資産インテリジェンス(取引判断、実価格に基づく監査、シグナル履歴)。
- 8randonpickart5/alderpost-mcp — Base上のx402を介して、8つのインテリジェンスエンドポイント(セキュリティ、企業、脅威、コンプライアンス、営業、スポーツ、不動産、ヘルスケア)をまとめて提供します。
金融/市場データの取得
- Yahoo Finance MCP server — storyfloの市場動向を踏まえたニュースシグナルと併せて、銘柄レベルのデータを必要とするエージェント向けのリアルタイム株価情報です。
ニュース+記事の取得
- angheljf/nyt — NY Timesの記事検索です。
- AceDataCloud/MCPSerp — Google SERP(ウェブ、画像、ニュース、地図)の検索です。
- andybrandt/mcp-simple-arxiv — arXiv論文の検索と閲覧です。
- Aas-ee/open-webSearch — 無料のマルチエンジンウェブ検索です。
マルチメディア/音声関連
- AceDataCloud/MCPSuno — Suno AIによる音楽生成とボーカル抽出です。
- bogdan01m/zapcap-mcp-server — 動画のキャプションとBロールの生成です。
メタMCP/アグリゲーター
- 1mcp/agent — 複数のMCPサーバーを1つに集約する統合MCPサーバーです。
- tadas-github/a2asearch-mcp — 4,800以上のMCPサーバー、エージェント、CLIツールを検索できます。
storyfloと自然に連携するMCPサーバーを管理していて、ここに掲載されていない場合は、PRを作成するか、イシューにコメントしてください。このリストは四半期ごとに更新しています。
サポート
- 開発者からの質問:[email protected]
- バグ報告:このリポジトリでイシューを作成してください
- Discord:未定
ライセンス
このリポジトリのコンテンツ(README+マニフェストの参照)はMITライセンスです。Storyfloプラットフォーム自体はプロプライエタリです。公開APIを介したエージェント連携が、サポート対象の連携方法です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。