{"apiVersion":"v1","directorySlug":"podanalyst-mcp-15e2e36bbd","title":"PodAnalyst","description":"Podcast analytics built for professional podcasters and advertisers. Backed by real retention and consumption data.","pageUrl":"https://www.mcpbundles.com/skills/podanalyst-mcp-15e2e36bbd","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.podanalyst.com/mcp","hostedMcpUrl":null,"toolCount":17,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.podanalyst/podanalyst-mcp-15e2e36bbd","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_podcasts","description":"Retrieve the list of podcasts registered to the user's PodAnalyst account. Each entry has an `itunes_id` and a `show_name`. Call this first when you do not already know the podcast's itunes_id — every other podcast tool needs it.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"logicalName":"get_podcasts","displayName":"get_podcasts","title":"get_podcasts","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_podcast_show_analytics","description":"Retrieve show-level analytics (unique listeners, followers, overall plays, or seconds consumed). Returns both a total aggregated summary number and a time-series array of daily data points for the specified period.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"mode":{"enum":["monthly","all_time","past_sixty_days"],"type":"string","default":"monthly"},"metric":{"enum":["unique_listeners","followers","seconds_consumed","plays"],"type":"string","default":"unique_listeners"},"podcastId":{"type":"string","minLength":1},"startDate":{"type":"string","pattern":"^\\d{2}-\\d{2}-\\d{2}$"}}},"logicalName":"get_podcast_show_analytics","displayName":"get_podcast_show_analytics","title":"get_podcast_show_analytics","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_podcast_episodes","description":"Get a list of recent podcast episodes ordered by newest publication date first. Response includes show-level performance metrics (listeners, plays, seconds consumed) tailored for each individual episode.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"limit":{"type":"integer","default":10,"maximum":9007199254740991,"exclusiveMinimum":0},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_podcast_episodes","displayName":"get_podcast_episodes","title":"get_podcast_episodes","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_podcast_episode","description":"Get advanced, granular analytics for a specific episode by ID. Returns specialized audience retention charts and consumption depth data. Retention is returned per platform (apple/spotify).","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","episodeId"],"properties":{"platform":{"enum":["both","apple","spotify"],"type":"string","default":"both"},"episodeId":{"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_podcast_episode","displayName":"get_podcast_episode","title":"get_podcast_episode","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_episode_transcript","description":"Get the transcript (spoken words) of an episode. Use this whenever the user asks anything about what was actually discussed, topics covered, quotes, a specific moment, opinions expressed, or the content of an episode. Omit start and end to get the full episode transcript and answer directly from it. To limit output, pass start and end in seconds from the start of the episode (e.g. start=300, end=360 covers 5:00-6:00). Returns an array of sentences, each { begin, end, text } in seconds.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","episodeId"],"properties":{"end":{"type":"number"},"start":{"type":"number"},"episodeId":{"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_episode_transcript","displayName":"get_episode_transcript","title":"get_episode_transcript","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_keyword_search_results","description":"Simulate a live user search on the global Apple Podcasts store. Returns a list of podcasts ranked by Apple’s algorithm for the given search query to analyze general organic SEO positioning.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"query":{"type":"string","minLength":1}}},"logicalName":"get_keyword_search_results","displayName":"get_keyword_search_results","title":"get_keyword_search_results","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_tracked_keywords","description":"Retrieve the list of all keywords currently being monitored for this podcast. Returns an array of objects containing the user-facing text string, its corresponding unique GUID string (`keywordId`), and its current search `rank`. A `rank` of null means the show does not appear in the current search results for that keyword — it is not ranked at all, rather than ranked poorly. Always call this first if you need to find the specific GUID to delete a keyword.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_tracked_keywords","displayName":"get_tracked_keywords","title":"get_tracked_keywords","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_tracked_keyword","description":"Begin tracking SEO performance and ranking metrics for a new keyword specifically for this podcast.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","keyword"],"properties":{"keyword":{"type":"string","minLength":1},"podcastId":{"type":"string","minLength":1}}},"logicalName":"add_tracked_keyword","displayName":"add_tracked_keyword","title":"add_tracked_keyword","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_tracked_keyword","description":"Stop monitoring performance for a tracked keyword. You must provide its unique alphanumeric GUID string (`keywordId`), which can be looked up using the get_tracked_keywords tool.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","keywordId"],"properties":{"keywordId":{"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"remove_tracked_keyword","displayName":"remove_tracked_keyword","title":"remove_tracked_keyword","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_podcast_reviews","description":"Get a list of recent reviews ordered by newest publication date first.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"limit":{"type":"integer","default":10,"maximum":9007199254740991,"exclusiveMinimum":0},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_podcast_reviews","displayName":"get_podcast_reviews","title":"get_podcast_reviews","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lookup_best_practices","description":"Search the PodAnalyst knowledge base for proven best practices on a given topic. Use this when the user asks for advice, guidance, or \"best practices\" on how to grow, improve, or optimize their podcast. Returns an object with a \"results\" array, where each item is { id: number, title: string, summary: string } — the title identifies the practice and the summary is a 2-sentence description of it. Up to 5 matches, ordered by relevance. When a summary matches the user's question, call get_kb_article","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"query":{"type":"string","minLength":1}}},"logicalName":"lookup_best_practices","displayName":"lookup_best_practices","title":"lookup_best_practices","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_kb_article","description":"Fetch the full text of a specific knowledge-base article by its numeric id. Use this after lookup_best_practices when one of the returned summaries matches the user's question — it returns the complete article ({ id, title, content, source_url }) so you can apply the practice in detail.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991}}},"logicalName":"get_kb_article","displayName":"get_kb_article","title":"get_kb_article","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_podcast_chart_ranks","description":"Get the current Apple Podcasts chart rankings for this podcast across every chart it ranks in right now. Returns one entry per country + chart category where the show currently appears, each with the country code, the category id and its name, the show's current rank position in that chart, and rank_change (how many places it moved versus roughly five days ago; positive means it climbed). Use this whenever the user asks where their show is charting, what its rank is, or how its chart position is","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_podcast_chart_ranks","displayName":"get_podcast_chart_ranks","title":"get_podcast_chart_ranks","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_chart_rankings","description":"Get the shows currently ranked in an Apple Podcasts chart for a given country (e.g., \"US\") and chart category/genre. Returns the shows at the top of that chart with their positions and names, so you can see how the podcast compares to competing shows in the same chart.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","country","category"],"properties":{"country":{"type":"string"},"category":{"enum":["26","1301","1303","1304","1305","1309","1310","1314","1318","1321","1324","1483","1487","1488","1489","1502","1511","1512","1533","1545"],"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_chart_rankings","displayName":"get_chart_rankings","title":"get_chart_rankings","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_annotation","description":"Create an annotation — a note the user pins to a point on a chart or timeline in the app, where their team can then discuss it in comments. This is the same annotation the user can create by shift-clicking a chart. Use it whenever the user asks you to note, mark, flag, or record something at a particular date or episode moment (e.g. \"mark the day we ran the promo\", \"note that the guest intro ran long\"). Pick the anchor as follows: on a show-level chart (dashboard/charts timeline) pass just podca","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId","content"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"second":{"type":"number"},"content":{"type":"string","minLength":1},"episodeId":{"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"create_annotation","displayName":"create_annotation","title":"create_annotation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_annotations","description":"List the annotations the user and their team have pinned to charts. Omit episodeId to get the show-level annotations on the dashboard/charts timeline; pass an episodeId to get the annotations on that episode's charts instead. Each annotation includes its id, its text, who wrote it, when it was created, the chart_type and the position it is anchored to (a date, or a second offset into the episode), and how many comments it has. Use this whenever the user asks what has been noted or marked on thei","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["podcastId"],"properties":{"episodeId":{"type":"string"},"podcastId":{"type":"string","minLength":1}}},"logicalName":"get_annotations","displayName":"get_annotations","title":"get_annotations","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_annotation","description":"Delete an annotation by its id, removing it from the chart and discarding its comment thread. Only the user who created an annotation can delete it, so this fails for annotations written by someone else. You must provide the unique numeric annotationId, which can be looked up with get_annotations. Because this permanently destroys the annotation and any discussion on it, confirm with the user before calling it.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["annotationId"],"properties":{"annotationId":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991}}},"logicalName":"delete_annotation","displayName":"delete_annotation","title":"delete_annotation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=PodAnalyst&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AucG9kYW5hbHlzdC5jb20vbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22PodAnalyst%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.podanalyst.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22PodAnalyst%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.podanalyst.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=PodAnalyst&connectorUrl=https%3A%2F%2Fmcp.podanalyst.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"PodAnalyst\" --url \"https://mcp.podanalyst.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/podanalyst-mcp-15e2e36bbd","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/podanalyst-mcp-15e2e36bbd/tools/{tool}","mcpServerUrl":"https://mcp.podanalyst.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/podanalyst-mcp-15e2e36bbd?live=1"}