Podcast Commerce Mcp

io.github.teamsincetodayPublished by GitHub account teamsincetodayv0.1.3Updated Oct 24, 2026

Extract product mentions from podcast transcripts with affiliate signals. Free tier 200/day.

Overview

AI-generated overview

Extracts product and sponsor mentions from podcast transcripts, with confidence scores, recommendation strength and affiliate signals.

What you can do
  • Extract products and brands from a transcript, with speaker, context, confidence and recommendation strength
  • Identify sponsor segments and estimate read-through rates
  • Compare product mentions across episodes to see rising or falling trends
  • Rank products across multiple shows with entity resolution and consensus
  • Format extracted products into a shoppable show notes section
When to use it
Useful for podcast producers, affiliate marketers or analysts who want an assistant to mine episode transcripts for product placements, sponsor reads and cross-show brand trends, and to draft shoppable show notes.
Requirements
Runs locally over stdio via the npm package podcast-commerce-mcp (Node.js with npx). Requires an OpenAI API key in OPENAI_API_KEY for product extraction. Optional MCP_API_KEYS for paid unlimited calls, plus optional AGENT_ID, CACHE_DIR and PAYMENT_ENABLED settings. A hosted endpoint is also mentioned in the README.
Before you install
OPENAI_API_KEY is required and transcript text is sent to OpenAI for extraction, so avoid confidential or unreleased content. Paid usage is billed per call and needs MCP_API_KEYS; the free tier is capped at 200 calls per day. Trend and show-notes tools only work on episodes already extracted and cached locally.

Installation

In SourceWeft

  1. Open Podcast Commerce Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Podcast Commerce Intelligence MCP

[npm] [License: MIT] [Stars]

Turn podcast transcripts into affiliate revenue. Give any episode transcript to an AI agent — get back every product mentioned, who said it, how strongly they recommended it, and which affiliate network carries it. F1=100% on eval suite. Free tier: 200 calls/day.

⭐ If this saves you time, please star the repo — it helps other developers find it.

Live endpoint: https://podcast-commerce-mcp.sincetoday.workers.dev/mcp · See examples

Extract product mentions, sponsor segments, and product trends from podcast transcripts. Built on x402, the open payment standard backed by Shopify, Google, Microsoft, Visa, and the Linux Foundation.

Tools

ToolDescription
extract_podcast_productsExtract products/brands from a transcript with confidence scores
analyze_episode_sponsorsIdentify sponsor segments and estimate read-through rates
track_product_trendsCompare product mentions across multiple episodes
compare_products_across_showsCross-show product ranking with entity resolution across multiple shows
generate_show_notes_sectionFormat extracted products as a shoppable show notes section

Quick Start

bash
# Installnpm install podcast-commerce-mcp
# Configurecp .env.example .env# Edit .env: set OPENAI_API_KEY
# Run (stdio MCP server)npx podcast-commerce-mcp

Connect in Claude Code — No Install Required

Add to your claude_desktop_config.json or use /add-mcp in Claude Code. Free tier: 200 calls/day, no API key needed:

json
{  "mcpServers": {    "podcast-commerce": {      "url": "https://podcast-commerce-mcp.sincetoday.workers.dev/mcp"    }  }}

MCP Client Config (local/stdio)

json
{  "mcpServers": {    "podcast-commerce": {      "command": "npx",      "args": ["podcast-commerce-mcp"],      "env": {        "OPENAI_API_KEY": "sk-..."      }    }  }}

Tool Reference

extract_podcast_products

json
{  "transcript": "Raw text or URL to a .txt file",  "episode_id": "optional-cache-key",  "category_filter": ["saas", "physical_goods"],  "api_key": "optional-paid-key"}

Returns:

json
{  "episode_id": "...",  "products": [    {      "name": "Notion",      "category": "saas",      "mention_context": "I use Notion every day...",      "speaker": "Host",      "confidence": 0.9,      "recommendation_strength": "strong",      "affiliate_link": null,      "mention_count": 2    }  ],  "sponsor_segments": [...],  "_meta": { "processing_time_ms": 1200, "ai_cost_usd": 0.001, "cache_hit": false }}

analyze_episode_sponsors

json
{  "transcript": "...",  "episode_id": "optional",  "api_key": "optional"}

track_product_trends

json
{  "episode_ids": ["ep1", "ep2", "ep3"],  "category_filter": ["saas"]}

Requires episodes to be previously extracted and cached. Returns trends[] with brand, trend (rising/stable/falling), avg_recommendation_strength, and top_category.

compare_products_across_shows

json
{  "show_ids": ["show-a", "show-b"],  "min_show_count": 2,  "min_confidence": 0.85}

Ranks products by how many shows mention them. Returns products[] with brand, show_count, avg_confidence, recommendation_consensus (unanimous/majority/mixed/rare).

generate_show_notes_section

json
{  "episode_id": "previously-extracted-id",  "format": "markdown",  "style": "full"}

Formats cached product data as a shoppable show notes block. Returns a formatted string ready to paste into episode notes.

Example Output

Real extraction from a Huberman Lab episode transcript (live eval: F1=89%, 96/100 score, $0.00046/call, 8100ms):

json
{  "episode_id": "huberman-ep-312",  "products": [    {      "name": "AG1 (Athletic Greens)",      "brand": "AG1",      "category": "supplement",      "mention_context": "today's episode is brought to you by AG1. I've been taking it every morning for six months",      "confidence": 0.97,      "recommendation_strength": "strong"    },    {      "name": "Oura Ring",      "category": "physical_goods",      "mention_context": "I've been wearing it for sleep tracking for two years. They're not a sponsor, just a genuine rec",      "confidence": 0.95,      "recommendation_strength": "strong"    }  ],  "sponsor_segments": [    {      "sponsor_name": "AG1",      "read_type": "host_read",      "estimated_read_through": 0.72,      "call_to_action": "code HUBERMAN for a free year's supply of Vitamin D"    }  ]}

See /examples endpoint for full output with value narrative: https://podcast-commerce-mcp.sincetoday.workers.dev/examples

Pricing

  • Free tier: 200 calls/day per agent (no API key required)
  • Paid: $0.01/call — set MCP_API_KEYS with valid keys

Environment Variables

VariableRequiredDefaultDescription
OPENAI_API_KEYYes—OpenAI API key
AGENT_IDNoanonymousAgent identifier for rate limiting
MCP_API_KEYSNo—Comma-separated paid API keys
CACHE_DIRNo./data/cache.dbSQLite cache path
PAYMENT_ENABLEDNofalseSet true to enforce limits

Development

bash
npm installnpm run typecheck   # Zero type errorsnpm test            # All tests passnpm run build       # Compile to dist/

License

MIT — Since Today Studio

Source: README.md at commit d74d42a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.