MCP Podcast Scraper
MCP 팟캐스트 스크레이퍼
팟캐스트 에피소드를 스크랩하고 전사하는 MCP(Model Context Protocol) 서버입니다. Claude Code 또는 Claude Desktop과 함께 사용하도록 설계되었습니다. 팟캐스트를 제공하면 MCP가 이를 전사하고 Claude가 요약합니다.
Walid Koleilat이 MCP를 처음부터 끝까지 학습하고 실제 워크플로우 문제를 해결하기 위해 구축했습니다. Claude를 떠나지 않고도 수 시간 분량의 팟캐스트 오디오를 유용한 PM 중심 요약으로 변환할 수 있습니다.
주요 기능
🎙️ YouTube 동영상이나 RSS 피드에서 팟캐스트 스크랩
🎯 Deepgram의 빠른 Nova-2 모델을 사용하여 오디오 전사
📁 팟캐스트 이름 및 에피소드 날짜별로 파일 정리
🔄 새 에피소드에 대한 팟캐스트 추적
⏭️ 중복 건너뛰기 - 이미 처리된 에피소드는 다시 스크랩하지 않음
📋 미완료 작업 찾기 - 요약이 필요한 에피소드 목록 표시
✏️ 사용자 지정 요약 프롬프트 - 필요에 따라 Claude의 요약 방식 사용자 지정
Related MCP server: ytt-mcp
작동 방식
You: "Check for new episodes and summarize them"
↓
Claude: Calls check_new_episodes() → Finds new episodes
↓
Claude: Calls scrape_podcast() → Downloads & transcribes
↓
Claude: Calls get_summary_prompt() → Reads your custom instructions
↓
Claude: Calls get_transcript() → Reads the transcript
↓
Claude: Summarizes following your prompt
↓
Claude: Calls save_summary() → Saves the .md file
↓
Done! transcript.md + summary.md saved설치 가이드
1단계: 사전 요구 사항
필수 시스템 도구 설치 (macOS):
# Install Homebrew if you don't have it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install yt-dlp (for YouTube) and ffmpeg (for audio)
brew install yt-dlp ffmpeg2단계: 복제 및 빌드
# Clone the repository
git clone https://github.com/walid-koleilat/mcp-podcast-scraper.git
cd mcp-podcast-scraper
# Install dependencies
npm install
# Build
npm run build3단계: Deepgram API 키 받기
가입 (무료 티어에는 $200 크레딧 포함 - 약 300시간 분량의 오디오 처리 가능)
API 키 생성
키 복사
4단계: 구성
예제 구성 파일을 복사하고 API 키를 추가합니다:
# Copy the example config
cp config.example.json config.json
# Edit config.json and add your Deepgram API keyconfig.json은 다음과 같아야 합니다:
{
"outputDirectory": "./podcasts",
"deepgramApiKey": "YOUR_ACTUAL_DEEPGRAM_API_KEY",
"tempDirectory": "./temp"
}⚠️ 중요:
config.json을 git에 커밋하지 마십시오. API 키가 포함되어 있습니다!.gitignore에 이미 제외되어 있습니다.
5단계: Claude Code에 추가
Claude Code MCP 설정(~/.cursor/mcp.json 또는 설정 → MCP를 통해)에 다음을 추가합니다:
{
"mcpServers": {
"podcast-scraper": {
"command": "node",
"args": ["/FULL/PATH/TO/mcp-podcast-scraper/dist/index.js"]
}
}
}중요: /FULL/PATH/TO/를 실제 설치 경로로 바꾸십시오.
5단계 (대안): Claude Desktop에 추가
~/Library/Application Support/Claude/claude_desktop_config.json을 편집합니다:
{
"mcpServers": {
"podcast-scraper": {
"command": "node",
"args": ["/FULL/PATH/TO/mcp-podcast-scraper/dist/index.js"]
}
}
}그런 다음 Claude Desktop을 다시 시작합니다.
파일 구조
mcp-podcast-scraper/
├── config.example.json # Template - copy to config.json
├── config.json # Your config (git-ignored, contains API key)
├── tracking.example.json # Example tracking file
├── tracking.json # Your tracked podcasts (git-ignored)
├── prompts/
│ └── summary-prompt.md # Customize how Claude summarizes (editable)
├── podcasts/ # Your transcripts & summaries (git-ignored)
├── src/ # Source code
├── dist/ # Compiled code (git-ignored)
└── node_modules/ # Dependencies (git-ignored)사용 예시
특정 에피소드 스크랩
"Scrape this YouTube podcast: https://youtube.com/watch?v=..."
"Find and scrape the latest Lex Fridman episode"새 에피소드에 대한 팟캐스트 추적
"Track the Huberman Lab podcast: https://feeds.megaphone.fm/hubermanlab"
"Check my tracked podcasts for new episodes"
"List all podcasts I'm tracking"미완료 작업 찾기
"Show me episodes that need summaries"
"List incomplete episodes"MCP 도구 참조
도구 | 설명 |
| 에피소드 스크랩 및 전사. 파일 경로와 미리보기를 반환합니다. |
| 스크랩된 에피소드의 전체 전사본 읽기. |
| 사용자 지정 요약 지침 가져오기. |
| 생성된 요약을 마크다운 파일로 저장. |
| 추적 중인 팟캐스트에서 새(스크랩되지 않은) 에피소드 확인. |
| 전사본은 있지만 요약이 없는 에피소드 찾기. |
| YouTube를 검색하거나 RSS 피드를 파싱하여 에피소드 찾기. |
| 추적 목록에 팟캐스트 RSS 피드 추가. |
| 추적 중인 모든 팟캐스트 나열. |
| 추적 목록에서 팟캐스트 제거. |
워크플로우
일반적인 세션
새 에피소드 확인:
"Check my tracked podcasts for new episodes"각 새 에피소드 스크랩:
"Scrape the first one"전사본 가져오기 및 요약:
"Get the transcript and summarize it"남은 에피소드에 대해 반복
미완료 작업 재개
세션 도중 중단한 경우:
"Show me episodes that need summaries"그런 다음 각 미완료 에피소드에 대해:
"Get the transcript for [episode] and summarize it"출력 구조
파일은 팟캐스트 및 에피소드별로 정리됩니다:
podcasts/
├── Huberman Lab/
│ ├── 2024-12-10 - Episode Title/
│ │ ├── transcript.md
│ │ └── summary.md
│ └── 2024-12-05 - Another Episode/
│ ├── transcript.md
│ └── summary.md
└── Lex Fridman Podcast/
└── 2024-12-08 - Guest Name/
├── transcript.md
└── summary.md구성 옵션
옵션 | 설명 | 기본값 |
| 전사본과 요약을 저장할 위치. 상대 경로 또는 절대 경로 가능. |
|
| 전사를 위한 Deepgram API 키 | 필수 |
| 오디오 파일을 위한 임시 디렉토리 (시작 시 자동 정리) |
|
환경 변수 (config.json의 선택적 대안):
DEEPGRAM_API_KEYOUTPUT_DIRECTORYTEMP_DIRECTORY
요약 프롬프트 사용자 지정
prompts/summary-prompt.md를 편집하여 Claude가 팟캐스트를 요약하는 방식을 제어하세요.
기본 프롬프트는 **제품 관리자(PM)**를 위해 조정되었으며 다음을 포함합니다:
🎯 에피소드 개요
💡 제품 관리자를 위한 핵심 인사이트
🧠 멘탈 모델 및 프레임워크
📈 자기 계발을 위한 핵심 내용
✅ 실행 항목
💬 주목할 만한 인용구
🔗 관련 주제
필요에 맞게 사용자 지정
prompts/summary-prompt.md를 편집하여 다음을 수행하세요:
대상 독자 변경 (엔지니어, 디자이너, 창업자 등)
섹션 추가/제거
요약 길이 조정
특정 주제에 집중
서식 스타일 변경
사용자 지정 예시:
엔지니어용:
Focus on:
- Technical concepts and architecture decisions
- Implementation details worth noting
- Tools and technologies mentioned
- Code patterns and best practices창업자용:
Focus on:
- Business strategy insights
- Fundraising advice
- Growth tactics
- Leadership lessons
- Mistakes to avoidClaude는 각 요약을 생성하기 전에 이 프롬프트를 읽어 일관되고 개인화된 출력을 보장합니다.
개발
# Watch mode (auto-rebuild on changes)
npm run dev
# Build once
npm run build
# Run MCP server directly
npm start
# Clean build artifacts and temp files
npm run clean
# Test with MCP Inspector (interactive UI)
npx @modelcontextprotocol/inspector node dist/index.js문제 해결
"ffprobe and ffmpeg not found"
brew install ffmpeg"Deepgram API key not configured"
config.example.json을 config.json으로 복사하고 API 키를 추가했는지 확인하십시오.
MCP 서버가 연결되지 않음
npm run build실행MCP 구성의 경로가 올바른지 확인
Claude Code/Desktop 다시 시작
"YouTube URLs not supported for tracking"
대신 RSS 피드를 사용하십시오. https://getrssfeed.com/ 에서 팟캐스트 RSS 피드를 찾을 수 있습니다.
라이선스
MIT
Available Tools
10 toolsadd_trackingA
Add a podcast RSS feed to the tracking list. Use check_new_episodes to find new episodes.
| Name | Required | Description | Default |
|---|---|---|---|
| podcastName | Yes | Name of the podcast | |
| feedUrl | Yes | RSS feed URL of the podcast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Add') but doesn't disclose whether this requires authentication, what happens on success/failure, if there are rate limits, or how the tracking list is managed. The mention of 'check_new_episodes' adds some context but doesn't cover key behavioral traits.
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 with two sentences that are front-loaded and waste no words. Every sentence adds value: the first states the purpose, and the second provides usage guidance, making it efficient and well-structured.
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 moderate complexity (a write operation with 2 parameters) and no annotations or output schema, the description is minimally adequate. It covers the basic purpose and a related tool but lacks details on behavior, error handling, or output expectations, leaving gaps for an agent to operate effectively.
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 schema description coverage is 100%, with clear descriptions for both parameters ('podcastName' and 'feedUrl'). The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating further.
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 action ('Add a podcast RSS feed') and resource ('to the tracking list'), making the purpose immediately understandable. It distinguishes from some siblings like 'remove_tracking' but doesn't explicitly differentiate from 'list_tracking' or 'search_podcast' in terms of when to add versus list/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?
The description provides clear context by mentioning 'Use check_new_episodes to find new episodes,' which guides the agent on a related workflow. However, it doesn't specify when to use this tool versus alternatives like 'scrape_podcast' or 'search_podcast,' or any prerequisites for adding a feed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_new_episodesB
Check all tracked podcasts for new episodes that haven't been scraped yet
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 the action without disclosing behavioral traits such as whether it's read-only or mutative, rate limits, authentication needs, or what 'check' entails (e.g., polling, notifications). It leaves key operational details unspecified.
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, efficient sentence that front-loads the core purpose without wasted words. It directly conveys the tool's function in a compact form, making it easy to parse.
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 no annotations, no output schema, and a tool that likely involves data retrieval or updates, the description is incomplete. It lacks details on return values, error handling, or side effects, leaving gaps in understanding how the tool behaves in practice.
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 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds no parameter info, which is appropriate, earning a baseline score of 4 for not introducing confusion or redundancy.
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 action ('check') and target resource ('tracked podcasts for new episodes'), specifying the scope ('that haven't been scraped yet'). It distinguishes from siblings like 'scrape_podcast' (which scrapes) and 'list_tracking' (which lists tracking), though it doesn't explicitly differentiate them.
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 usage when checking for unscraped episodes, but provides no explicit guidance on when to use this tool versus alternatives like 'list_incomplete' or 'scrape_podcast', nor any prerequisites or exclusions. It lacks context on timing or frequency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summary_promptA
Get the custom prompt/instructions for how to summarize podcasts. Read this before summarizing to follow the user's preferences.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates this is a read operation ('Get'), which is useful, but doesn't disclose behavioral traits like authentication needs, rate limits, or error handling. The description adds some context about its role in summarization workflows, but lacks details on how it behaves beyond its basic function.
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 front-loaded and concise, consisting of two sentences that directly state the tool's purpose and usage. Every sentence earns its place by providing essential information without waste, making it efficient and easy to parse.
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 (0 parameters, no output schema, no annotations), the description is adequate but has gaps. It explains what the tool does and when to use it, but lacks details on return values or behavioral aspects. For a read-only tool with no structured output, it meets minimum viability but could be more complete.
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 tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but this is acceptable given the lack of parameters. A baseline score of 4 is appropriate as it doesn't need to compensate for any gaps.
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's purpose: 'Get the custom prompt/instructions for how to summarize podcasts.' It specifies the verb 'Get' and the resource 'custom prompt/instructions,' making it easy to understand what the tool does. However, it doesn't explicitly differentiate from siblings like 'save_summary' or 'get_transcript,' which slightly limits its clarity.
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 clear context for when to use this tool: 'Read this before summarizing to follow the user's preferences.' This implies it should be used as a prerequisite for summarization tasks. It doesn't explicitly state when not to use it or name alternatives, but the guidance is sufficient for effective usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptB
Read the transcript of a previously scraped episode. After reading, use get_summary_prompt for summarization instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| podcastName | Yes | Name of the podcast | |
| episodeTitle | Yes | Title of the episode | |
| episodeDate | Yes | Date of the episode (YYYY-MM-DD format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a read operation ('Read the transcript'), which is clear, but lacks details on permissions, rate limits, error handling, or what 'previously scraped' entails (e.g., storage location, availability). The mention of 'get_summary_prompt' adds some context for workflow, but overall behavioral traits are under-specified for a tool with no annotation coverage.
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 concise with two sentences that are front-loaded: the first states the core purpose, and the second provides a usage tip. There's no wasted text, and it efficiently communicates key information. However, it could be slightly more structured by separating prerequisites from actions more clearly.
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 moderate complexity (3 required parameters, no output schema, no annotations), the description is partially complete. It covers the purpose and hints at prerequisites and next steps, but lacks details on behavioral aspects like error cases, output format, or integration with sibling tools beyond 'get_summary_prompt'. Without annotations or output schema, more context on what the tool returns or how it behaves would improve completeness.
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%, with all three parameters (podcastName, episodeTitle, episodeDate) documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
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's purpose: 'Read the transcript of a previously scraped episode.' This specifies the verb ('Read') and resource ('transcript'), and distinguishes it from scraping or summarization tools. However, it doesn't explicitly differentiate from other read operations like 'search_podcast' or 'list_incomplete', which could also involve reading data.
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 usage context by stating 'previously scraped episode' and suggesting 'use get_summary_prompt for summarization instructions.' This provides some guidance on prerequisites (episode must be scraped first) and a related tool for next steps. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_podcast' or 'list_incomplete', nor does it provide exclusions or detailed scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incompleteA
List all episodes that have transcripts but are missing summaries. Use this to find episodes that need summarization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool's behavior as listing episodes based on transcript and summary status, but it lacks details on permissions, rate limits, or response format. The description adds some value by specifying the filtering criteria but does not fully cover behavioral traits.
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 front-loaded and concise with two sentences that directly state the tool's purpose and usage without any wasted words. Every sentence earns its place by providing essential 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?
Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is complete enough for a read-only listing operation. It explains what the tool does and when to use it, though it could benefit from mentioning response format or limitations to be fully comprehensive.
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 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not add parameter semantics, but this is acceptable as there are no parameters to describe, aligning with the baseline for zero 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?
The description clearly states the tool's purpose with specific verbs ('List all episodes') and resources ('episodes that have transcripts but are missing summaries'), and it distinguishes from siblings by focusing on incomplete summarization status rather than tracking, scraping, or other podcast-related operations.
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?
It explicitly states when to use this tool: 'to find episodes that need summarization.' This provides clear context for usage versus alternatives like 'check_new_episodes' or 'search_podcast,' which might handle different aspects of episode management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trackingB
List all podcasts currently being tracked
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a read operation ('List all') but doesn't mention any behavioral traits such as permissions needed, rate limits, pagination, or what 'currently being tracked' entails. This leaves significant gaps for an agent to understand how to use it effectively.
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 that directly states the tool's function without any unnecessary words. It is front-loaded and efficiently communicates the core purpose, making it highly concise and well-structured.
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 (0 parameters, no output schema, no annotations), the description is adequate as a minimum viable explanation. However, it lacks details on behavioral aspects like how 'tracked' is defined or what the output format might be, which could be helpful for an agent. It meets basic needs but has clear gaps in 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?
The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. A baseline of 4 is applied as per the rules for tools with 0 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?
The description clearly states the action ('List all') and resource ('podcasts currently being tracked'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'search_podcast' or 'list_incomplete', which might also involve listing operations, so it doesn't reach the highest score.
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 like 'search_podcast' or 'list_incomplete'. It states what it does but offers no context about prerequisites, timing, or comparative use cases with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_trackingC
Remove a podcast from the tracking list
| Name | Required | Description | Default |
|---|---|---|---|
| podcastName | Yes | Name of the podcast to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Remove') which implies a destructive mutation, but it doesn't disclose critical traits such as whether removal is permanent, requires specific permissions, has side effects (e.g., deleting associated data), or provides confirmation feedback. For a mutation tool with zero annotation coverage, this is a significant gap in 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, clear sentence that directly states the tool's purpose without any fluff or redundancy. It's front-loaded with the key action and resource, making it efficient and easy to parse. Every word earns its place, achieving optimal 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 tool's complexity as a destructive mutation with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., reversibility, error handling), usage context, and what happens post-removal. For a tool that modifies state, this leaves too many unknowns for the agent to operate confidently.
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%, with the single parameter 'podcastName' fully documented in the schema as 'Name of the podcast to remove'. The description doesn't add any additional meaning beyond this, such as format examples or constraints. Since the schema does the heavy lifting, 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 action ('Remove') and resource ('a podcast from the tracking list'), making the purpose immediately understandable. It distinguishes from siblings like 'add_tracking' and 'list_tracking' by specifying removal rather than addition or listing. However, it doesn't specify what 'tracking list' refers to in context, which keeps it from a perfect score.
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 explicit guidance on when to use this tool versus alternatives is provided. The description implies usage for removing tracked podcasts, but it doesn't mention prerequisites (e.g., the podcast must already be tracked), exclusions, or comparisons to siblings like 'list_tracking' for checking current tracking. This leaves the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_summaryC
Save your generated summary to a markdown file.
| Name | Required | Description | Default |
|---|---|---|---|
| podcastName | Yes | Name of the podcast | |
| episodeTitle | Yes | Title of the episode | |
| episodeDate | Yes | Date of the episode (YYYY-MM-DD format) | |
| summaryText | Yes | The summary content in markdown format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool saves to a file, implying a write operation, but doesn't specify file location, naming conventions, overwrite behavior, or error handling. This is inadequate for a tool that performs file I/O without annotation support.
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 wasted words. It's front-loaded with the core action and resource, making it efficient and easy to parse for an AI agent.
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 complexity (file-saving operation with 4 required parameters), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., file system interactions), error cases, or what happens on success, leaving significant gaps for the agent to operate safely.
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 input schema fully documents all 4 parameters. The description adds no additional parameter information beyond implying 'summaryText' should be in markdown format, which is already covered in the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
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 action ('save') and the resource ('generated summary to a markdown file'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_incomplete' or 'scrape_podcast', which have different functions, so it doesn't fully address potential confusion with similar-sounding tools.
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. It doesn't mention prerequisites (e.g., needing a summary generated first), exclusions, or how it relates to siblings like 'get_summary_prompt' or 'list_incomplete', leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_podcastA
Scrape a podcast episode and transcribe it. Returns transcript file path. Use get_transcript to read it, then save_summary after summarizing.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | YouTube URL, RSS feed URL, or search query for the podcast episode | |
| podcastName | No | Name of the podcast (for organization) | |
| episodeTitle | No | Title of the episode (optional, will be auto-detected) | |
| force | No | Force re-scraping even if episode was already scraped (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool returns a transcript file path and implies a multi-step process (scraping, transcribing, then using other tools). However, it lacks details on error handling, rate limits, authentication needs, or whether scraping is destructive to existing data. The description doesn't contradict annotations (none provided), but it's incomplete for a tool with potential behavioral complexities.
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 concise and front-loaded, with two sentences: the first states the core purpose and output, and the second provides usage guidance. There's no wasted text, and it efficiently communicates key information. However, it could be slightly more structured by separating purpose and guidelines more clearly.
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 complexity (scraping and transcribing with 4 parameters) and lack of annotations and output schema, the description is moderately complete. It covers the purpose and basic workflow but misses details like error cases, performance expectations, or output format beyond 'transcript file path'. Without annotations or output schema, more behavioral context 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?
The schema description coverage is 100%, so all parameters are documented in the input schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify the format of 'query' or the implications of 'force'). With high schema coverage, the baseline is 3, and the description doesn't compensate with extra insights.
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's purpose: 'Scrape a podcast episode and transcribe it. Returns transcript file path.' This specifies the verb (scrape and transcribe) and resource (podcast episode), and mentions the output (transcript file path). However, it doesn't explicitly differentiate from sibling tools like 'search_podcast' or 'check_new_episodes', which might have overlapping scopes.
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 clear context for usage by mentioning related tools: 'Use get_transcript to read it, then save_summary after summarizing.' This guides the agent on workflow steps. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_podcast' or 'check_new_episodes', nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_podcastB
Search for podcasts or episodes on YouTube, or parse an RSS feed URL to see available episodes
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for YouTube, or RSS feed URL to parse | |
| source | No | Source to search (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions what the tool does but lacks critical behavioral details: it doesn't specify whether this is a read-only operation, what the output format looks like (e.g., list of results with metadata), potential rate limits, authentication needs, or error conditions. The description is functional but 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, efficient sentence that packs two distinct use cases without redundancy. It's appropriately sized for the tool's complexity and front-loads the core functionality. However, it could be slightly improved with structural separation (e.g., bullet points) for the two operations, but this is minor.
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 dual-purpose nature (search and parse), no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., search results list, parsed episode details), how results are structured, or any behavioral constraints. For a tool with two distinct operations and zero structured metadata, more descriptive context is needed for reliable agent 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?
Schema description coverage is 100%, so the schema already fully documents both parameters (query and source). The description adds marginal value by clarifying that the query parameter serves dual purposes (search term vs RSS URL) and implying the source parameter's role, but doesn't provide additional syntax, format details, or examples beyond what the schema states. This meets the baseline for high schema 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 tool's purpose with specific verbs ('search for podcasts or episodes on YouTube' and 'parse an RSS feed URL') and identifies the resources involved (podcasts/episodes, RSS feeds). It distinguishes between two distinct operations but doesn't explicitly differentiate from sibling tools like 'scrape_podcast' or 'check_new_episodes', which prevents a perfect score.
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 usage contexts through the dual-purpose nature (YouTube search vs RSS parsing) but doesn't provide explicit guidance on when to choose this tool over alternatives like 'scrape_podcast' or 'check_new_episodes'. No when-not-to-use scenarios or prerequisites are mentioned, leaving usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v1.0.0- First observed
add_tracking - First observed
check_new_episodes - First observed
get_summary_prompt - First observed
get_transcript - First observed
list_incomplete - First observed
list_tracking - First observed
remove_tracking - First observed
save_summary - First observed
scrape_podcast - First observed
search_podcast
TDQS
Most tools have distinct purposes, but there is some overlap between 'scrape_podcast' and 'check_new_episodes' as both involve scraping episodes, which could cause confusion. However, descriptions clarify that 'scrape_podcast' is for manual scraping of specific episodes, while 'check_new_episodes' automatically checks tracked feeds, so the ambiguity is limited.
Tool names follow a consistent verb_noun pattern throughout, such as 'add_tracking', 'check_new_episodes', and 'save_summary'. The only minor deviation is 'list_incomplete', which uses an adjective instead of a noun, but this does not significantly impact readability or consistency.
With 10 tools, the server is well-scoped for podcast scraping and summarization. Each tool serves a clear purpose in the workflow, from tracking and scraping to transcription and summarization, without being overly sparse or bloated.
The tool set provides complete coverage for the podcast domain, including tracking management (add, list, remove), scraping and transcription, transcript retrieval, summarization with custom prompts, and saving summaries. There are no obvious gaps; it supports a full lifecycle from discovery to final output.
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
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
MCP server for structured access to Lenny Rachitsky podcast transcripts. For content creators.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.5584MIT
- AlicenseBqualityDmaintenanceAn MCP server designed to fetch transcripts for YouTube videos. It enables AI tools to access video text content for tasks like summarization, analysis, and key takeaway extraction.173MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables searching YouTube and retrieving high-accuracy video transcripts using local Whisper AI transcription without requiring an API key. It supports single or batch processing and provides transcripts in multiple formats including text, JSON, and SRT.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.MIT
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/walid-koleilat/mcp-podcast-scraper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server