PO

Podbean MCP Server for Podcast Episodes and Analytics

Manage podcasts, episodes, and analytics with a Podbean MCP server - update, add, delete shows, fetch descriptions, notes, and detailed analytics.

Quick Install
npx -y @amurshak/podbeanMCP

Overview

This Podbean MCP (Model Context Protocol) server provides a developer-facing API for managing Podbean podcast shows, episodes, and analytics. It exposes endpoints to list, create, update, and delete shows and episodes, and to retrieve episode descriptions, timestamps/notes, and detailed listening analytics. The server is intended to act as a thin, structured layer that makes Podbean pod and analytics data easy to fetch and consume programmatically.

The server is useful when you need to integrate podcast content into tools such as episode search, ML-based summarization, content recommendation systems, or analytics dashboards. It standardizes common operations (CRUD for shows and episodes, analytics queries) and can be run locally, in containers, or as a backend service for integrations and agents that query podcast context.

Features

  • Manage Podbean shows (create, update, delete, list)
  • CRUD operations for episodes (add, update, delete, fetch)
  • Fetch episode descriptions, show notes, and segment timestamps
  • Retrieve analytics: plays, listeners, geographic and device breakdowns, time-series metrics
  • Simple HTTP API suitable for automation, integrations, and ML contexts
  • Configurable via environment variables and compatible with container deployment
  • Support for exporting data to external dashboards or model context pipelines

Installation / Configuration

Basic steps to get the server running locally. Adjust for your environment and secrets management.

Clone the repository:

git clone https://github.com/amurshak/podbeanMCP.git
cd podbeanMCP

Install (Node.js/npm example — adapt if project uses a different runtime):

npm install

Create a .env file with required configuration. Common variables:

# Server
MCP_PORT=8080

# Podbean API credentials (or other upstream auth)
PODBEAN_CLIENT_ID=your_client_id
PODBEAN_CLIENT_SECRET=your_client_secret
PODBEAN_ACCESS_TOKEN=your_access_token

# Database (optional)
DATABASE_URL=postgres://user:pass@host:5432/dbname

Start the server:

npm start
# or, for development:
npm run dev

Run with Docker (example):

docker build -t podbean-mcp .
docker run -p 8080:8080 --env-file .env podbean-mcp

Available Resources

The server exposes a REST-style API. Below is a concise overview of common endpoints. Check the repository for the exact URL structure and any authentication headers required.

ResourceMethodDescription
/showsGETList all managed shows
/showsPOSTCreate a new show entry
/shows/:idGETGet show details
/shows/:idPUTUpdate show metadata
/shows/:idDELETERemove a show
/shows/:id/episodesGETList episodes for a show
/episodesPOSTCreate an episode
/episodes/:idGETFetch episode details (description, notes)
/episodes/:idPUTUpdate episode metadata
/episodes/:idDELETEDelete an episode
/analyticsGETTop-level analytics (date ranges, filters)
/analytics/episodes/:idGETEpisode-level analytics and time-series

Authentication

  • The MCP server typically requires upstream Podbean credentials (API key/secret) and may accept bearer tokens for protected endpoints. Use environment variables or a secrets manager to inject those values.

Example: fetch shows

curl -H "Authorization: Bearer $MCP_TOKEN" \
  http://localhost:8080/shows

Example: create episode

curl -X POST http://localhost:8080/episodes \
  -H "Authorization: Bearer $MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "showId": "abc123",
    "title": "Episode 42",
    "description": "Episode summary and show notes",
    "publishedAt": "2026-04-01T12:00:00Z"
  }'

Use Cases

  • Podcast CMS integrations: Automate episode creation and metadata updates from a content management system or publishing pipeline.
  • Episode summarization: Pull full episode descriptions and timestamps to provide context to an NLP model for automated summarization or topic extraction.
  • Analytics dashboards: Query aggregated and episode-level metrics to feed a time-series dashboard (plays per day, listener retention curves, top geographies/devices).
  • Migration and backups: Export shows and episodes in structured JSON to migrate content between providers or to create offline backups.
  • Personalized recommendations: Combine episode metadata and listening analytics to build recommendation models or to power “because you listened” features in apps.

Example scenario — generate summary snippets for an ML model:

  1. Fetch recent episode descriptions and timestamps:
    • GET /episodes?showId=abc123&limit=10
  2. Send concatenated descriptions/timestamps to a summarization model, storing short summaries back in an episode metadata field using PUT /episodes/:id.

Notes and Next Steps

  • Review the repository README for exact environment keys, authentication flows, and any setup for database migrations or external storage.
  • Secure production deployments by using a secrets manager for API credentials, restricting network access, and enabling HTTPS.
  • Extend or adapt the API as needed for additional Podbean endpoints, custom analytics, or model-specific context enrichment.