Skip to main content
Glama

Server Details

Curated audio-news MCP server. Search trending articles, fetch narrated audio, subscribe topic feeds. OAuth 2.1 + RFC 7591 DCR. Free tier; premium briefings via x402 with stablecoin settlement.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 20 of 20 tools scored. Lowest: 3.6/5.

Server CoherenceB
Disambiguation4/5

Most tools target distinct resources (articles, digests, subscriptions, embedders, partners). However, there is potential overlap between 'get_trending_topics' and 'digest', and between 'get_vertical_landscape' and 'get_vertical_briefing'. Descriptions are detailed enough to differentiate.

Naming Consistency3/5

Naming uses a mix of patterns: some are verb_noun (get_article, search_articles), some are noun phrases (digest, digest_declassified), and some use other verbs (quote_partnership, register_embedder). The inconsistency is noticeable but not chaotic.

Tool Count3/5

20 tools is on the high side for a single server, bordering on heavy (16-25 range as per calibration). While each tool serves a distinct purpose, the count could be slightly trimmed, especially for highly specialized tools like 'get_crypto_market_link'.

Completeness3/5

The tool set covers core functionalities (search, retrieve, subscribe, embedder management). However, missing operations like unsubscribe, update subscription, or list all embedders create notable gaps. The CRUD lifecycle for subscriptions is incomplete.

Available Tools

25 tools
digestBuild a daily digest
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
windowNo24h
verticalsNo
digest_declassifiedRecent Declassified cases
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
windowNoweek
get_articleGet article
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
get_audio_urlGet audio URL
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
get_declassified_caseGet Declassified case
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesCase slug as returned by `search_declassified`.
get_divergence_indexGet the Storyflo Market-vs-Media Divergence Index
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax items to return (1-50, default 25).
sourceNoFilter to one market source: kalshi or polymarket.
get_embedder_manifestGet per-embedder agent manifest
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesEmbedder slug (e.g. 'theflatlay', 'highsnobiety').
get_embedder_network_manifestGet platform-wide embedder network manifest
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_market_linked_storiesGet stories with active matched event-contract markets
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
signalNoFilter 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.
categoryNoFilter by Kalshi event category (e.g. Politics, Economics, Companies, Sports)
verticalNoFilter by story vertical (e.g. news, finance, tech, crypto)
get_mcp_usage_selfGet my MCP tool usage (last 30 days)
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_my_private_feedGet my private podcast feed URL
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
listener_tokenYesThe listener's existing storyflo listener_token (identity). Get it from the /listen page or the /v1/listeners surface.
get_personasGet host persona catalog
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_vertical_briefingGet per-vertical premium briefing
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verticalYes
get_vertical_landscapeGet one-shot vertical landscape
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verticalYesVertical slug — tech / finance / news / science / health / young_moms / yoga, or a persona-owned alias (ai, crypto, ml, markets, fintech, economics).
list_podcastsList all Storyflo podcast shows
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_subscriptionsList active subscriptions
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

quote_partnershipQuote a partnership tier
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verticalYesVertical scope the partner plans to cover.
monthly_impressionsYesExpected monthly impressions across the partner's surface.
register_embedderGet embedder onboarding URL
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the embedder (publisher / agent product).
emailYesContact email — must contain '@'. Storyflo emails the magic link here on signup.
verticalNoOptional vertical scope (tech / finance / news / etc.).
search_articlesSearch Storyflo articles
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoSearch query
verticalNo
search_declassifiedSearch Declassified library
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSubstring matched against case title + synopsis.
stream_briefing_render_eventsStream briefing render events (SSE)
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verticalNoOptional vertical filter.
event_typeNoOptional event_type filter.
subscribe_declassified_topicSubscribe to Declassified topic
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoOptional — informational only; no row is written for it.
topicYesTopic the listener wants alerts for (e.g. 'UAP', 'JFK', 'COINTELPRO').
subscribe_topicSubscribe to topic feed
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verticalsYes1–6 vertical slugs the feed should cover. Replaces (not appends) the listener's current selection.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources