io.github.teamsincetoday/podcast-commerce-mcp

Registre officiel Médias et design

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package podcast-commerce-mcp
Claude Code
claude mcp add podcast-commerce-mcp -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'MCP_API_KEYS=<your mcp_api_keys>' -- npx -y podcast-commerce-mcp@0.1.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "podcast-commerce-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "podcast-commerce-mcp@0.1.1"
            ],
            "env": {
                "OPENAI_API_KEY": "<your openai_api_key>",
                "MCP_API_KEYS": "<your mcp_api_keys>"
            }
        }
    }
}

Variables d'environnement

  • OPENAI_API_KEY obligatoire secret OpenAI API key for GPT-4o-mini product extraction (required)
  • MCP_API_KEYS secret Comma-separated paid API keys for unlimited calls (optional — omit for free tier: 200 calls/day)
NPM package podcast-commerce-mcp
Claude Code
claude mcp add podcast-commerce-mcp -- npx -y podcast-commerce-mcp@0.1.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "podcast-commerce-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "podcast-commerce-mcp@0.1.1"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Podcast Commerce Intelligence MCP
  2. Tools
  3. Quick Start
  4. Connect in Claude Code — No Install Required
  5. MCP Client Config (local/stdio)
  6. Tool Reference
  7. Example Output
  8. Pricing
  9. Environment Variables
  10. Development
  11. License

Podcast Commerce Intelligence MCP

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

# Install
npm install podcast-commerce-mcp

# Configure
cp .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:

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

MCP Client Config (local/stdio)

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

Tool Reference

extract_podcast_products
{
  "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:

{
  "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
{
  "transcript": "...",
  "episode_id": "optional",
  "api_key": "optional"
}
{
  "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
{
  "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
{
  "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):

{
  "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

npm install
npm run typecheck   # Zero type errors
npm test            # All tests pass
npm run build       # Compile to dist/

License

MIT — Since Today Studio

Questions fréquentes

Qu'est-ce que io.github.teamsincetoday/podcast-commerce-mcp ?

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

Comment installer io.github.teamsincetoday/podcast-commerce-mcp ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add podcast-commerce-mcp -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'MCP_API_KEYS=<your mcp_api_keys>' -- npx -y podcast-commerce-mcp@0.1.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.teamsincetoday/podcast-commerce-mcp ?

Oui. Il attend OPENAI_API_KEY, MCP_API_KEYS, à renseigner dans sa configuration.

io.github.teamsincetoday/podcast-commerce-mcp est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient io.github.teamsincetoday/podcast-commerce-mcp ?

Il est publié par teamsincetoday. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.