pocketcasts-mcp
Provides tools to search, browse, and manage your Pocket Casts podcast library, including searching podcasts, retrieving episodes, managing playback status, and more.
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., "@pocketcasts-mcpsearch for a podcast about science"
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 (Model Context Protocol) server that connects to the Pocket Casts podcast app, allowing AI assistants to search, browse, and manage your podcast library.
Note: This uses the unofficial Pocket Casts API. There is no official public API — this server relies on reverse-engineered endpoints used by community projects.
Prerequisites
Node.js 18+
A Pocket Casts account (email & password)
Related MCP server: Pocket Casts MCP Server
Installation
Remote (npx — no clone required)
Run the server directly without installing anything locally:
npx pocketcasts-mcpClaude Desktop
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pocketcasts": {
"command": "npx",
"args": ["-y", "pocketcasts-mcp"],
"env": {
"POCKETCASTS_EMAIL": "your@email.com",
"POCKETCASTS_PASSWORD": "your-password"
}
}
}
}Claude Code
claude mcp add pocketcasts \
-e POCKETCASTS_EMAIL=your@email.com \
-e POCKETCASTS_PASSWORD=your-password \
-s user \
-- npx -y pocketcasts-mcpThe -s user flag makes the server available across all your projects. Omit it to scope to the current project only.
Global install (alternative)
Install once, then reference the command directly:
npm install -g pocketcasts-mcpThen use pocketcasts-mcp as the command instead of npx -y pocketcasts-mcp in the configs above.
Local (from source)
Clone and build the server yourself:
git clone https://github.com/essoen/PocketCasts-mcp.git
cd PocketCasts-mcp
npm install
npm run buildClaude Desktop
{
"mcpServers": {
"pocketcasts": {
"command": "node",
"args": ["/absolute/path/to/PocketCasts-mcp/dist/index.js"],
"env": {
"POCKETCASTS_EMAIL": "your@email.com",
"POCKETCASTS_PASSWORD": "your-password"
}
}
}
}Claude Code
claude mcp add pocketcasts \
-e POCKETCASTS_EMAIL=your@email.com \
-e POCKETCASTS_PASSWORD=your-password \
-s user \
-- node /absolute/path/to/PocketCasts-mcp/dist/index.jsCursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json in your project:
{
"mcpServers": {
"pocketcasts": {
"command": "node",
"args": ["/absolute/path/to/PocketCasts-mcp/dist/index.js"],
"env": {
"POCKETCASTS_EMAIL": "your@email.com",
"POCKETCASTS_PASSWORD": "your-password"
}
}
}
}Or with npx (no local clone needed):
{
"mcpServers": {
"pocketcasts": {
"command": "npx",
"args": ["-y", "pocketcasts-mcp"],
"env": {
"POCKETCASTS_EMAIL": "your@email.com",
"POCKETCASTS_PASSWORD": "your-password"
}
}
}
}Configuration
The server requires two environment variables:
Variable | Description |
| Your Pocket Casts account email |
| Your Pocket Casts account password |
These can be set via:
The
envblock in your MCP client config (recommended)Your shell profile (
~/.bashrc,~/.zshrc, etc.)A
.envfile in your project (if your MCP client supports it)
Security: Never commit files containing your credentials to version control. If using a
.envfile, ensure it is listed in.gitignore. Avoid storing passwords in config files that may be synced or backed up to cloud services.
Available Tools
Discovery
Tool | Description |
| Search for podcasts by keyword or title |
| Get top-ranked podcasts |
| Get currently trending podcasts |
| Get featured podcasts |
Library
Tool | Description |
| List all subscribed podcasts |
Episodes
Tool | Description |
| List episodes for a podcast (sorted newest or oldest) |
| Get show notes for an episode |
| Get new episodes from subscriptions |
| Get partially-listened episodes |
| Get starred/favorited episodes |
| Get listening history (most recent 100) |
Playback Management
Tool | Description |
| Mark episode as unplayed, in_progress, or completed |
| Set playback resume position (in seconds) |
| Star or unstar an episode |
Development
git clone https://github.com/essoen/PocketCasts-mcp.git
cd PocketCasts-mcp
npm install
npm run build
npm startAPI Reference
This server uses the unofficial Pocket Casts API at api.pocketcasts.com. Endpoints were reverse-engineered by the community. See furgoose/Pocket-Casts for the original documentation.
License
MIT
Available Tools
14 toolsget_episode_notesB
Get show notes for an episode
| Name | Required | Description | Default |
|---|---|---|---|
| podcast_uuid | Yes | Podcast UUID | |
| episode_uuid | Yes | Episode UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. Only says 'Get show notes' – no mention of whether it's read-only, auth requirements, return format, or if notes can be empty. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Front-loaded with action and resource. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with 2 required params, no output schema. Description is bare bones – doesn't explain what 'show notes' are, format, or error conditions. Adequate but not complete for all contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with type and format for both params, but description adds no additional meaning beyond schema. Baseline 3 per rules for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Get) and resource (show notes for an episode). Could better distinguish from sibling 'get_podcast_episodes' which might also return notes, but still clear overall.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings like 'get_podcast_episodes' or when not to use it. The sibling list is provided but no explicit usage directions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_featuredC
Get featured podcasts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description is minimal. It does not disclose how 'featured' is determined, whether authentication is needed, or any side effects. The agent lacks behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (2 words), but overly so. It lacks any structure, though it is not verbose. A single sentence would be more informative without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return value format. The agent cannot infer what data is returned (e.g., podcast IDs, full objects). For a simple retrieval tool, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for 'limit' and 'offset'. The tool description adds no extra parameter context, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and description are specific: 'Get featured podcasts'. It clearly indicates retrieving a curated list, which is distinct from siblings like 'get_trending' or 'get_top_charts', though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Siblings include other list-retrieval tools, but no context is given for when 'featured' is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyC
Get listening history
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether this is a read-only operation, authentication requirements, rate limits, or that results are paginated despite the schema indicating pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, which is appropriate for a simple tool. However, the extreme brevity sacrifices useful context, so it is not a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 optional params, no output schema), the description is insufficient. It does not clarify whose history is returned, time range, or whether filtered by user. The schema provides param details, but overall context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both parameters (limit and offset), including defaults and constraints. The description adds no additional meaning beyond what the schema already provides, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns listening history, distinguishing it from sibling tools like get_episode_notes or get_featured. However, it lacks specificity about scope (e.g., current user or all users).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, there is no mention of how it differs from other get_* tools or when to prefer pagination parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_in_progressB
Get episodes that are partially listened to
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states the basic action without disclosing any behavioral traits such as read-only nature, data source, ordering, or rate limits. For a simple read tool, it lacks necessary detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that conveys the purpose without any superfluous words. It is appropriately sized for a straightforward tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, no output schema), the description is adequate but leaves gaps: no indication of return format, ordering, or whether it filters by user library. The lack of output schema increases the need for description completeness, which is only partially met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both limit and offset described. The description adds no additional parameter meaning beyond what is already in the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'episodes that are partially listened to', distinguishing it from sibling tools like get_history or get_starred. The purpose is immediately understood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or filters. It merely states the function without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_new_releasesC
Get new episodes from subscribed podcasts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'get new episodes'. It does not disclose whether results are limited to unplayed, how newness is determined, or any side effects like marking as read. This is insufficient for safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler. However, it could be slightly expanded to add context without losing conciseness, such as explaining what 'new' means.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of many sibling tools for episode retrieval and no output schema, the description is too minimal. It lacks details on pagination behavior, what constitutes a new release, and how it differs from similar tools, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents limit and offset. The description adds no extra meaning beyond what is in the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets new episodes from subscribed podcasts, which is specific and actionable. However, it does not distinguish from related siblings like get_podcast_episodes or get_featured, missing a chance to clarify uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_trending or get_history. The description implies a use case but offers no explicit direction or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_podcast_episodesB
List episodes for a specific podcast
| Name | Required | Description | Default |
|---|---|---|---|
| podcast_uuid | Yes | Podcast UUID | |
| sort | No | Sort order: 'newest' (default) or 'oldest' | |
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'List episodes' without disclosing behavioral traits such as read-only nature, pagination behavior, or error responses. The schema hints at pagination, but the description adds no value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with no wasted words. However, it could be restructured to also include key details like the required parameter or pagination hint without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with full parameter coverage, the description is adequate but not complete. It lacks mention of return type, default sorting, or pagination behavior. With no output schema, return value description would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds minimal meaning beyond schema; it only confirms that podcast_uuid identifies the podcast. No enrichment for sort, limit, or offset parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List episodes for a specific podcast' with a specific verb and resource. It distinguishes from sibling tools like get_episode_notes which targets a single episode, and others that operate on different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention context, prerequisites, or exclusions. For example, there is no advice that for episode notes, get_episode_notes should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_starredC
Get starred/favorited episodes
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like read-only nature, rate limits, or pagination behavior beyond what the input schema already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without wasted words, efficiently conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal; it does not explain what the tool returns or how it differs from similar 'get_' tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the description adds no extra meaning; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'starred/favorited episodes', distinguishing it from sibling tools like get_featured or get_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_featured or get_trending; lacks context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscriptionsA
List all podcasts the user is subscribed to
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It implies a read-only operation but does not disclose potential rate limits, authentication needs, or whether it returns private vs public podcasts. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with the core purpose. Efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with 2 pagination parameters and no output schema, the description is minimally viable. It covers what the tool does but lacks context on what constitutes a subscription or edge cases (e.g., empty list).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameters have clear descriptions. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'podcasts the user is subscribed to'. It distinguishes from sibling tools like search_podcasts, get_featured, etc., which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or scenarios where other tools would be more appropriate. Given many sibling tools, explicit guidelines are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_chartsC
Get top-ranked podcasts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits but only says 'top-ranked', omitting how rankings are determined, whether results are personalized, or any pagination details beyond what the schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but it is overly minimal. While concise, it lacks sufficient information for effective agent use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description should clarify what 'top-ranked' means. It fails to provide context on ranking logic or result interpretation, leaving ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the parameter descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'get' and resource 'top-ranked podcasts', which clearly indicates the tool returns a list. However, it does not differentiate from siblings like 'get_trending' or 'get_featured', as 'top-ranked' is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_trending' or 'get_new_releases'. The description lacks context about ranking criteria or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trendingC
Get currently trending podcasts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the tool returns trending podcasts but does not explain how 'trending' is defined, any side effects (likely none), or potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no fluff. However, it is extremely terse and could benefit from a bit more context without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should provide more context about the return format or behavior. It is insufficiently complete for an agent to fully understand the tool's function, especially alongside siblings with similar names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters. The description adds no additional meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('trending podcasts'), clearly indicating the tool's purpose. However, it lacks differentiation from sibling tools like 'get_top_charts' or 'get_new_releases' which might have overlapping semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_podcastsB
Search for podcasts by keyword or title
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| limit | No | Max results to return (default 20) | |
| offset | No | Number of results to skip for pagination (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavioral traits. It only states the search action without disclosing read-only nature, authentication requirements, rate limits, or return format. This is insufficient for an agent to fully understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core function without unnecessary words. It is front-loaded with the action, though it could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no output schema, and many sibling tools, the description is incomplete. It lacks information about return values, pagination behavior, and how searches are performed, which are important for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all parameters (query, limit, offset). The description does not add meaning beyond the schema, so it meets the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for podcasts by keyword or title', specifying the action (search) and resource (podcasts). This distinguishes it from sibling tools like 'get_top_charts' or 'get_podcast_episodes', which retrieve specific data rather than performing a search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for browsing or retrieving specific data, the description gives no context for choosing search over other methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_played_positionB
Set the playback position (in seconds) for an episode, used for resuming playback
| Name | Required | Description | Default |
|---|---|---|---|
| podcast_uuid | Yes | Podcast UUID | |
| episode_uuid | Yes | Episode UUID | |
| position | Yes | Playback position in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, authentication needs, or error conditions. The phrase 'used for resuming playback' gives minimal context but is insufficient for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence with no redundant information. It is appropriately short, though could include slightly more behavioral context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema and three required parameters, the description is adequate but lacks details like authentication requirements or idempotency. It covers the basic purpose but not the full operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for each parameter. The description adds no extra meaning beyond the schema (e.g., it repeats 'in seconds' for position but that is already in schema). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets the playback position for an episode, with the specific use case of resuming playback. The verb 'set' and resource 'playback position' are specific, and it distinguishes itself from siblings like update_playing_status (which likely handles play/pause).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for resuming playback but lacks explicit guidance on when to use this vs alternatives like update_playing_status. No when-not-to-use or prerequisites are mentioned, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_playing_statusA
Update the playing status of an episode (unplayed, in_progress, or completed)
| Name | Required | Description | Default |
|---|---|---|---|
| podcast_uuid | Yes | Podcast UUID | |
| episode_uuid | Yes | Episode UUID | |
| status | Yes | Playing status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description covers basic action but lacks details on side effects, authorization, or overrides; adequate for a simple status update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward update with three required parameters and no output schema, the description is fully sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with existing descriptions; description adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool updates playing status of an episode with three specific values, distinguishing it from related tools like update_played_position.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for usage but does not explicitly state when not to use or mention alternatives, though sibling tools imply differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_starredB
Star or unstar an episode
| Name | Required | Description | Default |
|---|---|---|---|
| podcast_uuid | Yes | Podcast UUID | |
| episode_uuid | Yes | Episode UUID | |
| starred | Yes | true to star, false to unstar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it stars or unstars an episode without disclosing side effects, permission requirements, or behavior when already starred. For a mutation tool, this lacks sufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, though it could be slightly more informative without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain return values or error scenarios. For a tool with no annotations, the minimal description leaves gaps in understanding the full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described, so the description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Star or unstar an episode' clearly states the action (update star status) and the resource (episode), distinguishing it from siblings like get_starred which retrieves starred episodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for toggling star status, but it does not provide explicit guidance on when to use it versus alternatives (e.g., get_starred to view starred episodes) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes (e.g., get_featured vs get_top_charts vs get_trending), but there is minor overlap between get_new_releases and get_podcast_episodes, and between discovery tools. Descriptions help differentiate, but an agent might occasionally misselect.
All tools follow a consistent verb_noun pattern (get_ or update_), with clear and predictable naming across the entire set.
14 tools for a podcast management server cover discovery, subscriptions, history, and playback state. Each tool serves a distinct function, and the count is well-scoped for the domain.
The toolset covers browsing, listening history, and playback updates, but lacks subscription management (e.g., subscribe/unsubscribe) and episode-level search. These are notable gaps that may hinder some workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create, import, and publish Jellypod podcast episodes from your AI assistant.
Podcast search, metadata, chapters, and transcripts for AI agents — from $15/mo
Send web articles or AI-written text to your personal podcast feed; listen in any podcast app.
Control your Tesla from your AI assistant - climate, charging, access, and security.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to control Spotify playback, search for music, manage playlists, and interact with your Spotify library through natural language commands.19
- FlicenseNot gradedqualityCmaintenanceConnects AI assistants to Pocket Casts accounts for browsing subscriptions, reading episode details, and retrieving transcripts with automatic transcription via AssemblyAI when no native transcript exists.
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control Music Assistant for music search, library browsing, playback, queue management, and playlist curation.2MIT
- FlicenseNot gradedqualityCmaintenanceEnables users to search for podcasts, discover trending shows, find episodes, and explore Value4Value monetization using the PodcastIndex API.3
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/essoen/PocketCasts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server