Manage podcast guest pipeline, outreach drafts, and analytics via 5 MCP tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

4.2 million podcasts. $4B+ creator economy. Zero purpose-built workflow software.
We built the tool that should have existed for the last decade.
Built by Rudrendu Paul & Sourav Nandy Β Β·Β Engineered with Claude Code
Quick Start Β Β·Β The Problem Β Β·Β The Product Β Β·Β AI Layer Β Β·Β Architecture Β Β·Β Tech Stack
The app runs on seed data from first boot; 34 realistic guests across all six pipeline stages. No environment variables required.
[!NOTE] Zero-config only applies to this local dev mode running on seed data. A production deployment needs real Supabase and Anthropic credentials set in the environment: the Zod env schema in
packages/configcrashes the server at boot if a required secret is missing, by design.
Every tool a podcast host reaches for was built for a different job. HubSpot is a sales CRM. PodMatch is a discovery marketplace. Notion is a blank canvas that requires engineering to become anything useful. None of them model the guest lifecycle (the arc from discovery through outreach, scheduling, recording, publishing, and follow-up) as a first-class object.
This tool does. Guest fit scoring, personalized outreach drafting, interview prep, and follow-up sequences run on claude-sonnet-4-6, which is what makes automating those specific steps viable now in a way that wasn't a couple of years ago.
A full-stack AI-native CRM with six pages, eleven features, and zero compromises on craft.
Every guest moves through this lifecycle. Every transition is validated, logged, and acted on. The system knows where every guest is, when they last heard from you, and what needs to happen next. Without you having to remember.
| Feature | What it does |
|---|---|
| Cmd+K Palette | Search any guest by name, company, or topic. Navigate all six pages. Trigger actions. Entirely keyboard-driven. The fastest path to anything in the app. |
| Kanban Pipeline | Six-column drag-and-drop board. Optimistic updates. Lifecycle rules enforced at the service layer. You can't jump from Discover to Published. Confetti fires on every confirmed booking. |
| AI Email Composer | Select a guest, click Generate. Our AI streams a personalized 150β250 word pitch, character by character. Typewriter effect, not a spinner. Confidence score included. |
| Interview Brief | One-click pre-recording brief: bio intro, 5 tailored question types, talking points, closing hook. Copy-ready. |
| Social Posts | LinkedIn post, Twitter/X thread (5 tweets with character counts), Instagram caption. Platform tabs, one-click copy per platform. |
| Notification Center | Persistent bell dropdown. Shows guests without reply in 7+ days and upcoming recordings. Always visible. Always actionable. |
| Today's Focus | Dashboard section that surfaces exactly what needs attention today. No manual triage required. |
| Guest Detail | Animated fit score ring (counts from 0), lifecycle progress timeline, full contact links, AI action sidebar with three generative panels. |
| Analytics | Bar chart by stage, donut by topic, 12-week outreach activity timeline, conversion metrics. Runs without backend dependency. |
| Add Guest Modal | Cmd+N from anywhere. Name, email, title, company, bio, topics, LinkedIn, Twitter, stage, priority. Fit score auto-generated on create. |
| Smart Nudges | Toast appears on dashboard load when guests have been in outreach > 7 days without reply. Proactive, named, not nagging. |
The app is designed for keyboard-first workflows. Power users never touch the mouse for core tasks.
| Shortcut | Action |
|---|---|
βK | Command palette. Search guests, navigate, trigger actions |
βN | Add Guest modal directly |
β β | Navigate palette results |
β΅ | Select |
Esc | Close any modal |
All AI lives in packages/ai. The only place in the codebase that imports @anthropic-ai/sdk. Every feature calls a typed function. It never touches the SDK directly.
Two modes: completeJSON<T>() for structured output with generic type inference, stream() for the real-time typewriter effect. The outreach composer uses both simultaneously. Streaming for the live preview, JSON for the copy-ready result with confidence score.
| Feature | File | Output |
|---|---|---|
| Outreach Email | outreach-email.ts | Subject, 150β250 word body, confidence score (0β100), reasoning |
| Guest Fit Score | guest-research.ts | Score, alignment rationale, red flags, booking difficulty |
| Interview Brief | interview-brief.ts | Bio intro, 5 question types, talking points, closing hook |
| Topic Tagging | topic-tagging.ts | 3β8 tags from bio + LinkedIn, primary category, confidence |
| Follow-Up Sequence | follow-up-sequence.ts | 3-email arc: Day 7 bump, Day 14 follow-up, Day 21 final |
| Social Posts | social-post.ts | LinkedIn post, Twitter thread, Instagram caption. Tone varies by platform |
We're not prompting generically. Here's the actual constraint set from the outreach module. Specificity is the moat:
The fit scoring prompt evaluates guests against the show's actual topic taxonomy. Not generic relevance signals. The interview brief generates question types calibrated to the podcast format (depth, contrarian, forward-looking). This is prompt engineering as product design, not prompt engineering as a party trick.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/podcast-guest-crm)<a href="https://allmcps.com/mcp/podcast-guest-crm"><img src="https://allmcps.com/api/badge/podcast-guest-crm?style=directory" alt="Podcast Guest Crm on AllMCPs" /></a>