MCP Server

AudioAlpha

io.audioalpha.www/mcp

What this MCP does

Analyzes financial podcast transcripts and episodes for market sentiment, asset mentions, narratives, quotes, and trading signals.

get_episode_details
Get metadata for a specific episode including title, publish date, duration, α-sentiment score (crypto) (0-10 scale), traditional markets sentiment (0-10), and podcast info.
Input schema
{'type': 'object', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode ID'}}}
get_episode_full
Get full episode data in one call — details, summary, quotes and asset mentions.
Input schema
{'type': 'object', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode ID'}}}
get_episode_quotes
Get all quotes extracted from a specific episode, with speaker, α-sentiment score (0-10 scale) and associated ticker.
Input schema
{'type': 'object', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode ID'}}}
get_episode_summary
Get the transcript summary for a specific episode, including assets mentioned and their α-sentiment (0-10 scale).
Input schema
{'type': 'object', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode ID'}}}
get_episode_transcript
Get the full transcript for a specific episode including speaker diarization and speaker name mapping. Pro and Enterprise plans only.
Input schema
{'type': 'object', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode ID'}}}
get_market_episodes
Get all crypto podcast episodes published on a given date, including podcast name, α-sentiment score (0-10 scale), and transcript summary.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}}}
get_market_featured_quotes
Get the top featured quotes from crypto podcasts for a given date, ranked by relevance score.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_market_history
Fetch a historical time series of daily market-level snapshots (overall market sentiment, not a single ticker). Call this when the user asks how the overall market mood/regime has trended over time, wants to chart market α-sentiment / z-score over a window, or needs a range of daily market snapshots to compute averages or momentum. Optional: `days` (1-1000, default 30; tier may cap lower). For a single ticker's history use get_ticker_history instead. Tier caps on `days`: free=7, alpha=365, pro=730, enterprise=1000. The `date` parameter (end-date anchor) is only honored for enterprise tier — for all other tiers it is silently ignored and the window always ends at the most recent available snapshot. Returns: array of daily market snapshots (oldest first), each with snapshot_date plus all standard MarketSnapshot fields. Response also reports tier_cap, effective_days, start_date, end_date and date_param_honored.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'days': {'type': 'integer', 'default': 30, 'maximum': 1000, 'description': 'Number of historical days to return, counting back from the anchor date. Tier-capped: free=7, alpha=365, pro=730, enterprise=1000. Requests above the cap are silently capped.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}}}
get_market_signals
Get scenario strategic signals across all assets for a given date. Each signal includes signal type, horizon, scenario description, trigger conditions, confidence score and invalidating conditions. (Not financial advice.)
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_market_snapshot
Get the overall crypto market daily snapshot (daily narrative insight report) for a given date. Returns daily headline, delta narrative, regime + justification, α-sentiment OHLC scores (0-10 scale), α-sentiment z-scores (-3 to +3), narrative summary, narrative intesity score, market psychology, consensus score, key tensions, surprise mentions (ticker + why + impact score), episode volume score, and wordcloud.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_market_themes
Get narrative themes dominating the crypto podcast space on a given date. Each theme includes title, summary, podcast coverage count, fragility score, novelty score and counterfactual narrative.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_my_favorite_assets
Get the list of crypto assets the authenticated user has favorited on AudioAlpha. Always returns the latest authoritative snapshot (is_latest) per asset.
Input schema
{'type': 'object', 'required': [], 'properties': {'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}}}
get_my_favorite_podcasts
Get the list of podcasts the authenticated user follows on AudioAlpha.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_my_feed
Get a personalized feed based on the user's favorite assets and followed podcasts. Always uses the latest authoritative snapshot (is_latest). Returns snapshot_date and an array of assets, each containing: ticker, daily snapshot (sentiment, attention, consensus, momentum, summary), trading signals (with horizon, scenario, trigger, confidence, invalidating condition), and curated quotes (ranked with selection reason).
Input schema
{'type': 'object', 'required': [], 'properties': {'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'episodes_lookback': {'type': 'integer', 'default': 3, 'maximum': 10, 'description': 'Number of recent episodes per followed podcast (max 10, default 3)'}}}
get_podcast_episodes
Get recent episodes for a specific podcast by podcast ID.
Input schema
{'type': 'object', 'required': ['podcast_id'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 20, 'description': 'Number of episodes to return (max 20, default 5)'}, 'podcast_id': {'type': 'string', 'description': 'Podcast ID from search_podcasts'}}}
get_podcast_latest
Get the latest episode for a specific podcast, including title, episode_id, transcript summary, episode artwork, α-sentiment (crypto markets), and traditional markets sentiment.
Input schema
{'type': 'object', 'required': ['podcast_id'], 'properties': {'podcast_id': {'type': 'string', 'description': 'Podcast ID from search_podcasts'}}}
get_podcast_latest_full
Get the latest episode for a podcast with full details including quotes and asset mentions.
Input schema
{'type': 'object', 'required': ['podcast_id'], 'properties': {'podcast_id': {'type': 'string', 'description': 'Podcast ID from search_podcasts'}}}
get_ticker_featured_quotes
Get featured podcast quotes for a specific crypto asset on a given date, with α-sentiment scores (0-10 scale), ranked by selection score.
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'ticker': {'type': 'string', 'description': 'Asset ticker symbol. IMPORTANT: all crypto tickers MUST be suffixed with "-USD" — e.g. BTC-USD, ETH-USD, SOL-USD. Bare symbols like "BTC" will not match and will return an empty / 404 response.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_ticker_history
Fetch a historical time series of daily snapshots for one crypto ticker. Call this when the user asks about a ticker's recent trend, wants to chart or plot α-sentiment / α-index / α-pulse over time, asks "how has X changed over the last N days", or needs a window of data to compute averages, momentum, or volatility. Required: `ticker` — MUST be suffixed with "-USD" (e.g. "BTC-USD", "ETH-USD", "SOL-USD"). Bare symbols like "BTC" will not match. Optional: `days` (1-1000, default 30; tier may cap lower). Tier caps on `days`: free=7, alpha=365, pro=730, enterprise=1000. The `date` parameter (end-date anchor) is only honored for enterprise tier — for all other tiers it is silently ignored and the window always ends at the most recent available snapshot. This is by design to prevent back-testing on arbitrary historical periods on lower tiers. Returns: array of daily snapshots (oldest first), each with snapshot_date plus all standard AssetSnapshot fields. Response also reports tier_cap, effective_days, start_date, end_date and date_param_honored.
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'days': {'type': 'integer', 'default': 30, 'maximum': 1000, 'description': 'Number of historical days to return, counting back from the anchor date. Tier-capped: free=7, alpha=365, pro=730, enterprise=1000. Requests above the cap are silently capped.'}, 'ticker': {'type': 'string', 'description': 'Asset ticker symbol. IMPORTANT: all crypto tickers MUST be suffixed with "-USD" — e.g. BTC-USD, ETH-USD, SOL-USD. Bare symbols like "BTC" will not match and will return an empty / 404 response.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}}}
get_ticker_leaderboard
Get ticker leaderboard for a given date. Without category param, returns highlights object that includes assetSnapshot of top_alpha_index, top_alpha_pulse, top_riser, top_dropper, most_mentioned, most_surprising. With category param (alpha_index/alpha_pulse/risers/droppers/mentioned/surprising), returns array of LeaderboardEntry.
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 20, 'description': 'Number of episodes to return (max 20, default 5)'}, 'category': {'type': 'string', 'description': 'Leaderboard category: alpha_index, alpha_pulse, risers, droppers, mentioned, or surprising. Omit for highlights (top 1 from each).'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}}}
get_ticker_signals
Get scenario signals for a specific crypto asset. Returns signal type, time horizon, scenario description, trigger conditions, confidence score and invalidating conditions. (Not financial advice.)
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'ticker': {'type': 'string', 'description': 'Asset ticker symbol. IMPORTANT: all crypto tickers MUST be suffixed with "-USD" — e.g. BTC-USD, ETH-USD, SOL-USD. Bare symbols like "BTC" will not match and will return an empty / 404 response.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
get_ticker_snapshot
Get detailed daily insights snapshot for a specific crypto asset. Returns daily asset summary, α-index (0-1), α-pulse (0-1), episode count, attention share (0-1), α-sentiment OHLC and 1-7 day delta (0-10 scale), bull/bear/neutral ratios (0-1), consensus score (0-1), novelty score (0-1), momentum, narrative intensity, narrative summary.
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format. Omit for latest.'}, 'ticker': {'type': 'string', 'description': 'Asset ticker symbol. IMPORTANT: all crypto tickers MUST be suffixed with "-USD" — e.g. BTC-USD, ETH-USD, SOL-USD. Bare symbols like "BTC" will not match and will return an empty / 404 response.'}, 'version_info': {'type': 'boolean', 'default': False, 'description': 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'}, 'snapshot_type': {'enum': ['crypto', 'tradfi'], 'type': 'string', 'default': 'crypto', 'description': 'Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".'}, 'version_number': {'type': 'integer', 'default': -1, 'minimum': -1, 'description': 'Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.'}}}
search_podcasts
Search for crypto podcasts by name. Returns podcast ID, name, artist, language, x-handle, and artwork.
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Podcast name search query e.g. unchained, bankless, chopping block'}}}
Added
get_my_feed
Sept. 17, 2026, 12:39 p.m.
Added
get_my_favorite_podcasts
Sept. 17, 2026, 12:39 p.m.
Added
get_my_favorite_assets
Sept. 17, 2026, 12:39 p.m.
Added
get_episode_full
Sept. 17, 2026, 12:39 p.m.
Added
get_episode_transcript
Sept. 17, 2026, 12:39 p.m.
Added
get_episode_quotes
Sept. 17, 2026, 12:39 p.m.
Added
get_episode_summary
Sept. 17, 2026, 12:39 p.m.
Added
get_episode_details
Sept. 17, 2026, 12:39 p.m.
Added
get_podcast_latest_full
Sept. 17, 2026, 12:39 p.m.
Added
get_podcast_latest
Sept. 17, 2026, 12:39 p.m.
Added
get_podcast_episodes
Sept. 17, 2026, 12:39 p.m.
Added
search_podcasts
Sept. 17, 2026, 12:39 p.m.
Added
get_ticker_leaderboard
Sept. 17, 2026, 12:39 p.m.
Added
get_ticker_history
Sept. 17, 2026, 12:39 p.m.
Added
get_ticker_featured_quotes
Sept. 17, 2026, 12:39 p.m.
Added
get_ticker_signals
Sept. 17, 2026, 12:39 p.m.
Added
get_ticker_snapshot
Sept. 17, 2026, 12:39 p.m.
Added
get_market_history
Sept. 17, 2026, 12:39 p.m.
Added
get_market_episodes
Sept. 17, 2026, 12:39 p.m.
Added
get_market_featured_quotes
Sept. 17, 2026, 12:39 p.m.
Added
get_market_signals
Sept. 17, 2026, 12:39 p.m.
Added
get_market_themes
Sept. 17, 2026, 12:39 p.m.
Added
get_market_snapshot
Sept. 17, 2026, 12:39 p.m.