Pocket Casts MCP Server
Provides tools to browse Pocket Casts subscriptions, read episode details, and retrieve transcripts, with automatic transcription via AssemblyAI when no native transcript exists.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pocket Casts MCP Serverget transcript for the latest episode of my favorite podcast"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pocket Casts MCP Server
An MCP server that connects AI assistants to your Pocket Casts account. Browse your subscriptions, read episode details, and retrieve transcripts — with automatic transcription via AssemblyAI when no native transcript exists.
Built with Bun and FastMCP. Deployable to Railway or any Docker host.
Multi-user. Each person connects their own Pocket Casts account through a one-time enrollment, gets a private access token, and only ever sees their own podcasts. No shared account, and the server never stores anyone's password.
Tools
Tool | Description |
| List all subscribed podcasts (includes folder UUIDs) |
| Get recent episodes from your subscriptions |
| Get details about a specific episode by UUID |
| Get an episode's transcript (falls back to AssemblyAI if none exists) |
| Check transcript availability across all podcasts or a specific folder |
| Show which Pocket Casts account the access token is connected to |
| Delete your stored credentials and revoke your access token |
Related MCP server: Your Spotify MCP Server
How auth works
A user opens the server root in a browser and submits their own Pocket Casts email + password (one time).
The server logs in to Pocket Casts to verify the credentials, then stores only the resulting session tokens — encrypted at rest with AES-256-GCM — keyed to a freshly minted bearer token.
The password is discarded immediately and never stored. The bearer token is shown to the user once.
The user puts that bearer token in their MCP client. Every request is routed to that user's own Pocket Casts session; tokens auto-refresh and are re-encrypted in place.
Bearer tokens are stored only as SHA-256 hashes, so a database leak yields no usable credentials without the ENCRYPTION_KEY.
Enrolling
Web form (recommended): open the server's root URL (e.g. https://your-app.railway.app/), enter your Pocket Casts login, and copy the access token it returns.
Terminal: with the server running,
ENROLL_URL=https://your-app.railway.app bun run loginDelete your credentials: either run the delete-my-account tool from your assistant, or:
curl -X DELETE https://your-app.railway.app/creds -H "Authorization: Bearer <your-token>"Connecting an MCP client
Point your MCP client at:
https://your-app.railway.app/mcpAuthenticate with either:
Authorization: Bearer <your-token>header, or?api_key=<your-token>query parameter
Local development
Prerequisites
Bun v1.3+
A Postgres database (
DATABASE_URL)A Pocket Casts account (Plus required for API access)
Run
Create a .env file:
DATABASE_URL=postgres://user:pass@localhost:5432/pocketcasts
ENCRYPTION_KEY=<output of: openssl rand -base64 32>
ASSEMBLYAI_API_KEY=your-assemblyai-key # optional, enables transcription fallbackThen:
bun install
bun run start # serves enrollment form + MCP endpoint on PORT (default 3001)
bun run login # enroll yourself from the terminalDeploy to Railway
Add the Postgres plugin to your project — it injects
DATABASE_URLautomatically.Set the environment variables below.
The included
Dockerfileis Railway-ready (bun run index.ts).
Variable | Required | Description |
| Yes | Postgres connection string (provided by the Railway Postgres plugin) |
| Yes | 32 random bytes, base64 ( |
| No | Enables transcription for episodes without native transcripts |
| No | Public port; Railway sets this automatically |
| No | Loopback port FastMCP binds to behind the public proxy (default 3101) |
How transcripts work
Checks for Pocket Casts-generated transcripts first
Falls back to RSS-sourced transcripts if available
If neither exists and
ASSEMBLYAI_API_KEYis set, submits the audio URL directly to AssemblyAI for transcription (no file download required)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alansmodic/pocketcasts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server