{
  "markdown": "# Podcast Commerce Intelligence MCP\n\n[![npm](https://img.shields.io/npm/v/podcast-commerce-mcp)](https://www.npmjs.com/package/podcast-commerce-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Stars](https://img.shields.io/github/stars/teamsincetoday/podcast-commerce-mcp?style=social)](https://github.com/teamsincetoday/podcast-commerce-mcp)\n\n**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.\n\n⭐ **If this saves you time, please star the repo** — it helps other developers find it.\n\n> **Live endpoint**: `https://podcast-commerce-mcp.sincetoday.workers.dev/mcp` · [See examples](https://podcast-commerce-mcp.sincetoday.workers.dev/examples)\n\nExtract 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.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `extract_podcast_products` | Extract products/brands from a transcript with confidence scores |\n| `analyze_episode_sponsors` | Identify sponsor segments and estimate read-through rates |\n| `track_product_trends` | Compare product mentions across multiple episodes |\n| `compare_products_across_shows` | Cross-show product ranking with entity resolution across multiple shows |\n| `generate_show_notes_section` | Format extracted products as a shoppable show notes section |\n\n## Quick Start\n\n```bash\n# Install\nnpm install podcast-commerce-mcp\n\n# Configure\ncp .env.example .env\n# Edit .env: set OPENAI_API_KEY\n\n# Run (stdio MCP server)\nnpx podcast-commerce-mcp\n```\n\n## Connect in Claude Code — No Install Required\n\nAdd to your `claude_desktop_config.json` or use `/add-mcp` in Claude Code. Free tier: 200 calls/day, no API key needed:\n\n```json\n{\n  \"mcpServers\": {\n    \"podcast-commerce\": {\n      \"url\": \"https://podcast-commerce-mcp.sincetoday.workers.dev/mcp\"\n    }\n  }\n}\n```\n\n## MCP Client Config (local/stdio)\n\n```json\n{\n  \"mcpServers\": {\n    \"podcast-commerce\": {\n      \"command\": \"npx\",\n      \"args\": [\"podcast-commerce-mcp\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"sk-...\"\n      }\n    }\n  }\n}\n```\n\n## Tool Reference\n\n### `extract_podcast_products`\n\n```json\n{\n  \"transcript\": \"Raw text or URL to a .txt file\",\n  \"episode_id\": \"optional-cache-key\",\n  \"category_filter\": [\"saas\", \"physical_goods\"],\n  \"api_key\": \"optional-paid-key\"\n}\n```\n\nReturns:\n```json\n{\n  \"episode_id\": \"...\",\n  \"products\": [\n    {\n      \"name\": \"Notion\",\n      \"category\": \"saas\",\n      \"mention_context\": \"I use Notion every day...\",\n      \"speaker\": \"Host\",\n      \"confidence\": 0.9,\n      \"recommendation_strength\": \"strong\",\n      \"affiliate_link\": null,\n      \"mention_count\": 2\n    }\n  ],\n  \"sponsor_segments\": [...],\n  \"_meta\": { \"processing_time_ms\": 1200, \"ai_cost_usd\": 0.001, \"cache_hit\": false }\n}\n```\n\n### `analyze_episode_sponsors`\n\n```json\n{\n  \"transcript\": \"...\",\n  \"episode_id\": \"optional\",\n  \"api_key\": \"optional\"\n}\n```\n\n### `track_product_trends`\n\n```json\n{\n  \"episode_ids\": [\"ep1\", \"ep2\", \"ep3\"],\n  \"category_filter\": [\"saas\"]\n}\n```\n\nRequires episodes to be previously extracted and cached. Returns `trends[]` with `brand`, `trend` (rising/stable/falling), `avg_recommendation_strength`, and `top_category`.\n\n### `compare_products_across_shows`\n\n```json\n{\n  \"show_ids\": [\"show-a\", \"show-b\"],\n  \"min_show_count\": 2,\n  \"min_confidence\": 0.85\n}\n```\n\nRanks products by how many shows mention them. Returns `products[]` with `brand`, `show_count`, `avg_confidence`, `recommendation_consensus` (unanimous/majority/mixed/rare).\n\n### `generate_show_notes_section`\n\n```json\n{\n  \"episode_id\": \"previously-extracted-id\",\n  \"format\": \"markdown\",\n  \"style\": \"full\"\n}\n```\n\nFormats cached product data as a shoppable show notes block. Returns a formatted string ready to paste into episode notes.\n\n## Example Output\n\nReal extraction from a Huberman Lab episode transcript (live eval: **F1=89%**, 96/100 score, $0.00046/call, 8100ms):\n\n```json\n{\n  \"episode_id\": \"huberman-ep-312\",\n  \"products\": [\n    {\n      \"name\": \"AG1 (Athletic Greens)\",\n      \"brand\": \"AG1\",\n      \"category\": \"supplement\",\n      \"mention_context\": \"today's episode is brought to you by AG1. I've been taking it every morning for six months\",\n      \"confidence\": 0.97,\n      \"recommendation_strength\": \"strong\"\n    },\n    {\n      \"name\": \"Oura Ring\",\n      \"category\": \"physical_goods\",\n      \"mention_context\": \"I've been wearing it for sleep tracking for two years. They're not a sponsor, just a genuine rec\",\n      \"confidence\": 0.95,\n      \"recommendation_strength\": \"strong\"\n    }\n  ],\n  \"sponsor_segments\": [\n    {\n      \"sponsor_name\": \"AG1\",\n      \"read_type\": \"host_read\",\n      \"estimated_read_through\": 0.72,\n      \"call_to_action\": \"code HUBERMAN for a free year's supply of Vitamin D\"\n    }\n  ]\n}\n```\n\nSee `/examples` endpoint for full output with value narrative: `https://podcast-commerce-mcp.sincetoday.workers.dev/examples`\n\n## Pricing\n\n- Free tier: 200 calls/day per agent (no API key required)\n- Paid: $0.01/call — set `MCP_API_KEYS` with valid keys\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `OPENAI_API_KEY` | Yes | — | OpenAI API key |\n| `AGENT_ID` | No | `anonymous` | Agent identifier for rate limiting |\n| `MCP_API_KEYS` | No | — | Comma-separated paid API keys |\n| `CACHE_DIR` | No | `./data/cache.db` | SQLite cache path |\n| `PAYMENT_ENABLED` | No | `false` | Set `true` to enforce limits |\n\n## Development\n\n```bash\nnpm install\nnpm run typecheck   # Zero type errors\nnpm test            # All tests pass\nnpm run build       # Compile to dist/\n```\n\n## License\n\nMIT — Since Today Studio\n",
  "bytes": 5900,
  "sha": "6dde5dc97e2af95c67a8ee67fff06eb0a93ff57a5fbac3677a04aa68775dda9e",
  "repo_slug": "teamsincetoday/podcast-commerce-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_teamsincetoday_podcast_commerc_421141ac/readme"
}