Skip to main content
Glama

Captivate MCP

An MCP server for Captivate.fm podcast hosting. It lets Claude (or any MCP client) read your shows, episodes and listening analytics, so you can ask things like:

  • "How did last week's episode do in its first 7 days compared to the previous three?"

  • "Which countries and apps do my listeners use this quarter?"

  • "Show me monthly downloads for the past year."

The server is read-only: it never creates, edits or publishes anything in your Captivate account.

Unofficial project, not affiliated with Captivate. Built on the public Captivate API.

Tools

Tool

What it returns

list_shows

All podcasts you have access to

get_show

Show details and RSS feed URL

list_episodes

Episodes of a show (optionally scheduled only, filtered by title)

get_episode

Full episode details: show notes, media, transcript fields

get_overview_analytics

Downloads and unique listeners for a show or episode in a date range

get_total_downloads

All-time downloads for a show or episode

get_monthly_downloads

Downloads per month, past 12 months

get_average_downloads

Average downloads per interval (default 28 days)

get_range_analytics

Time series plus breakdowns by country, app, OS, device, episode

compare_episodes

Side-by-side performance of two or more episodes

get_web_player_analytics

Listening behaviour and drop-off in Captivate's web player

Related MCP server: h1-mcp

Get your API credentials

In Captivate, open My Account → API and generate an API token. You need two values:

  • CAPTIVATE_USER_ID – your user ID shown on that page

  • CAPTIVATE_API_TOKEN – the API token

Install

Requires Node.js 18 or newer.

Claude Code

claude mcp add captivate \
  -e CAPTIVATE_USER_ID=your-user-id \
  -e CAPTIVATE_API_TOKEN=your-api-token \
  -- npx -y github:DannyOosterveer/captivate-mcp

Claude Desktop

Add this to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "captivate": {
      "command": "npx",
      "args": ["-y", "github:DannyOosterveer/captivate-mcp"],
      "env": {
        "CAPTIVATE_USER_ID": "your-user-id",
        "CAPTIVATE_API_TOKEN": "your-api-token"
      }
    }
  }
}

From source

git clone https://github.com/DannyOosterveer/captivate-mcp.git
cd captivate-mcp
npm install

Then point your MCP client at node /path/to/captivate-mcp/dist/index.js with the two environment variables set.

Notes

  • Dates are ISO 8601 (2026-01-31 or 2026-01-31T00:00:00Z).

  • The API token is exchanged for a session token on first use and refreshed automatically when it expires.

  • CAPTIVATE_API_URL can override the API base URL (default https://api.captivate.fm).

License

MIT

Available Tools

11 tools
compare_episodesCompare episodesA
Read-only

Compare download performance of several episodes of the same show (aligned from each publish date).

Inputs: show_id (required), episode_ids (required).

get_average_downloadsAverage downloadsA
Read-only

Average downloads per interval (e.g. per 28 days) over the life of the show.

Inputs: show_id (required), interval_days.

get_episodeGet episodeB
Read-only

Full details of one episode: show notes, media URL, transcript fields, SEO fields, etc.

Inputs: episode_id (required).

get_monthly_downloadsMonthly downloadsA
Read-only

Downloads per month over the past 12 months for a show, or for a single episode.

Inputs: show_id (required), episode_id.

get_overview_analyticsOverview analyticsB
Read-only

Downloads for a show (with its top episodes in that period) or for a single episode over a date range.

Inputs: end (required), start (required), show_id (required), episode_id, +1 more.

get_range_analyticsAnalytics for a date rangeA
Read-only

Detailed analytics for a show or episode in a date range: downloads over time plus breakdowns by country, listening app/browser, OS, device, episode and private subscriber.

Inputs: end (required), start (required), show_id (required), interval, +5 more.

get_showGet showA
Read-only

Full details of one show, including its RSS feed URL.

Inputs: show_id (required).

get_total_downloadsAll-time downloadsA
Read-only

All-time total downloads for a show, or for a single episode.

Inputs: show_id (required), episode_id.

get_web_player_analyticsWeb player analyticsB
Read-only

Listening behaviour in Captivate's web player for one episode: listeners, seconds listened, average % listened and drop-off per position.

Inputs: end (required), start (required), show_id (required), episode_id (required), +2 more.

list_episodesList episodesA
Read-only

List the episodes of a show (newest first) with id, title, status, publish date and episode/season number. Use get_episode for show notes and transcripts.

Inputs: show_id (required), limit, search, scheduled_only.

list_showsList showsA
Read-only

List all podcasts (shows) the authenticated Captivate user has access to.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 11 tools

    Disambiguation4/5

    Core show and episode tools are clearly distinct, and most analytics tools are separated by metric or granularity. However, get_overview_analytics and get_range_analytics both return date-range download data and could still be confused for general download queries.

    Naming Consistency5/5

    All tool names use snake_case with predictable prefixes: list_, get_, and compare_. Resource names are clear and the pattern is applied consistently across the entire set.

    Tool Count4/5

    Eleven tools is a reasonable size for a read/analytics-focused podcast server. The set is slightly analytics-heavy with six analytics-related tools, but each maps to a distinct metric or reporting mode.

    Completeness4/5

    The surface covers show and episode retrieval plus a broad analytics range including totals, monthly trends, averages, detailed ranges, web-player behaviour, and episode comparisons. Gaps are minor if this is intended as a read-only server: there are no write or lifecycle management operations, and web-player analytics is only exposed at episode level.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables read-only access to Klaviyo marketing data, including campaigns, flows, segments, metrics, reports, and customer profiles, across multiple Klaviyo accounts.
      24
      34 npm
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables read-only access to HackerOne Hacker API data including program policies, structured scopes, scope exclusions, hacktivity/prior art, and your own reports through MCP clients.
      8
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables read-only access to Wise Business API profiles, balances, account statements, and card-spending data through MCP tools.
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables read-only access to Google Analytics 4 properties through MCP tools for listing properties, inspecting metadata, checking metric compatibility, and running core or realtime reports, summaries, traffic-source, page, and event queries.
      18
      MIT