{"name":"com.petabloom/podcasts","slug":"petabloom-podcasts","title":null,"description":"An MCP server that provides tools to discover and retrieve podcast episodes transcripts.","url":"https://mcp.market/server/petabloom-podcasts","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":5,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":20,"ok":20,"last_checked_at":"2026-09-24T06:36:06.391Z","last_ok_at":"2026-09-24T06:36:06.391Z","latency_ms":374},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":null,"version":"0.2.8","remotes":[{"type":"streamable-http","url":"https://podcasts.petabloom.com/mcp"}],"packages":[],"tools":[{"name":"get_latest_episodes","description":"Return the most recent transcript-ready episodes across the full podcast catalog.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"default":5,"description":"Maximum number of episodes to return. Must be between 1 and 50.","maximum":50,"minimum":1,"type":"integer"},"published_after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive lower publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"published_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive upper publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"sort":{"default":"published_desc","description":"Sort order for results. `relevance` ranks full-text searches first and falls back to newest-first when no query is provided.","enum":["relevance","published_desc","published_asc"],"type":"string"},"cursor":{"default":0,"description":"Zero-based episode offset for pagination. Use the `next_cursor` returned by a prior search/listing call to fetch the next page of results.","minimum":0,"type":"integer"}},"additionalProperties":false}},{"name":"get_transcript","description":"Fetch a bounded transcript chunk for a specific episode using its show and episode GUIDs. Use `next_cursor` to continue reading.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"show_guid":{"description":"Podcast show GUID returned by `search_episodes` or `get_latest_episodes`.","minLength":1,"type":"string"},"episode_guid":{"description":"Episode GUID returned by `search_episodes` or `get_latest_episodes`.","minLength":1,"type":"string"},"cursor":{"default":0,"description":"Zero-based character offset into the transcript. Use the `next_cursor` returned by a prior get_transcript call to fetch the next chunk.","minimum":0,"type":"integer"},"max_chars":{"default":12000,"description":"Target maximum number of transcript characters to return. Chunks prefer natural boundaries and may be slightly shorter. Must be between 100 and 20000.","maximum":20000,"minimum":100,"type":"integer"}},"required":["show_guid","episode_guid"],"additionalProperties":false}},{"name":"give_feedback","description":"Send structured feedback about bugs, missing data, unclear behavior, or feature requests.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"feedback":{"description":"Feedback for the server team. Include the problem, missing capability, or suggested improvement without sensitive user data.","minLength":1,"type":"string"}},"required":["feedback"],"additionalProperties":false}},{"name":"search_episodes","description":"Search indexed podcast episodes by keyword or show name and return the show/episode GUIDs needed for transcript retrieval.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"default":"","description":"Optional search keywords matched against indexed episode content. Use people, topics, companies, or phrases.","type":"string"},"podcast_name":{"default":"","description":"Optional podcast title or internal label to narrow results to a specific show.","type":"string"},"published_within_hours":{"anyOf":[{"maximum":168,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Filter episodes published in the past X hours. Maximum 168 hours (1 week)."},"published_after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive lower publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"published_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive upper publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"sort":{"default":"relevance","description":"Sort order for results. `relevance` ranks full-text searches first and falls back to newest-first when no query is provided.","enum":["relevance","published_desc","published_asc"],"type":"string"},"limit":{"default":5,"description":"Maximum number of episodes to return. Must be between 1 and 50.","maximum":50,"minimum":1,"type":"integer"},"cursor":{"default":0,"description":"Zero-based episode offset for pagination. Use the `next_cursor` returned by a prior search/listing call to fetch the next page of results.","minimum":0,"type":"integer"}},"additionalProperties":false}},{"name":"search_episodes_by_topic","description":"Semantic topic search across the podcast catalog. Unlike `search_episodes` (which does lexical/keyword matching), this tool understands meaning: a query for 'AI safety' will match episodes about 'AI alignment', 'AGI risk', or 'frontier model evaluation' even if they don't contain the exact phrase. Returns ranked episodes with the matched topic phrases so you can explain *why* each result is relevant before fetching the transcript. Best for conceptual or thematic queries — use `search_episodes` instead when the user is looking for a specific person, product, or verbatim phrase.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"description":"Semantic topic to find episodes about. Free-form phrasing welcome — the server embeds this string and finds episodes whose extracted topic phrases are closest in meaning. Good examples: 'AI safety', 'EU AI Act regulation', 'GPU supply constraints', 'Theo Epstein on roster construction'. Distinct from `search_episodes`, which performs lexical keyword matching.","maxLength":300,"minLength":1,"type":"string"},"show_guid":{"default":"","description":"Optional canonical show GUID (as returned by `search_episodes` or `get_latest_episodes` in the `show_guid` field) to restrict topic search to a single podcast. Leave empty to search across all shows.","type":"string"},"published_after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive lower publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"published_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive upper publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime."},"limit":{"default":5,"description":"Maximum number of episodes to return. Must be between 1 and 50.","maximum":50,"minimum":1,"type":"integer"},"cursor":{"default":0,"description":"Zero-based episode offset for pagination. Use the `next_cursor` returned by a prior search/listing call to fetch the next page of results.","minimum":0,"type":"integer"}},"required":["topic"],"additionalProperties":false}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-23T17:18:24.302Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T17:18:24.263Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 546ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://podcasts.petabloom.com/mcp","reachable":true,"authRequired":false,"latencyMs":546,"serverInfo":{"name":"PodcastTranscriptSearch","version":"0.2.8"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://podcasts.petabloom.com/favicon.ico","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":5}}}},"grade_history":[],"reviews":[]}