Major release with comprehensive MCP best practices implementation:
✨ Added:
- Tool name prefixes (ytdlp_) for all 8 tools to avoid naming conflicts
- Zod schema validation with runtime input validation
- Tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
- Response format options (JSON/Markdown) for search tools
- Pagination support with offset parameter
- Character limits (25K standard, 50K for transcripts) with smart truncation
- Actionable error messages with platform-specific guidance
🔧 Improved:
- Comprehensive tool descriptions with usage examples
- Enhanced configuration system with limits
- Better TypeScript type safety
- Professional README with badges and tables
🐛 Fixed:
- JSON parsing issue in metadata truncation
- Maintained valid JSON structure when truncated
🧪 Tested:
- ✅ YouTube platform (Rick Astley video)
- ✅ Bilibili platform (Chinese content)
- ✅ Multi-language support verified
- ✅ All 8 tools tested with real API calls
📖 Documentation:
- Created comprehensive CHANGELOG.md
- Redesigned README.md with professional formatting
- Added migration guide for v0.6.x users
🌍 Platform Support:
- Verified: YouTube, Bilibili
- Theory: 1000+ platforms via yt-dlp
- Add new search_videos tool for YouTube video search
- Support configurable search result count (1-50)
- Return formatted results with title, channel, duration, and URL
- Add comprehensive test coverage with real yt-dlp integration
- Update documentation with search examples
- Fix dependency security vulnerabilities
- Bump version to 0.6.27
Resolves: kevinwatt/yt-dlp-mcp#14
Implement trimmed download
Thanks for the great work on this PR! 🙌
The trimmed download feature looks solid - good implementation with proper tests and documentation. This will be really useful for users who need to download video segments.
Appreciate the contribution!
LGTM 👍
- Add cleanSubtitleToTranscript utility to strip SRT formatting, timestamps, and HTML tags
- Implement downloadTranscript function using yt-dlp with subtitle cleaning
- Add download_transcript MCP tool with language support (defaults to English)
- Include comprehensive tests for both utility and download functionality
- Update README documentation with tool description and usage examples
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add support for various audio formats (m4a/mp3)
- Update audio download format selection logic
- Improve error handling and filename display
- Bump version to 0.6.22
- Use --write-sub --write-auto-sub combination for better subtitle support
- Simplify subtitle download logic to handle both regular and auto-generated subtitles
- Add debug logging for better troubleshooting
- Filter only .srt files as final output
- Bump version to 0.6.20
- Use --write-sub --write-auto-sub combination for better subtitle support
- Simplify subtitle download logic to handle both regular and auto-generated subtitles
- Add debug logging for better troubleshooting
- Filter only .srt files as final output
- Bump version to 0.6.19
- Update downloadSubtitles to properly handle auto-generated subtitles
- Update listSubtitles to show all available subtitles including auto-generated ones
- Update tool descriptions to clearly indicate auto-generated subtitles support
- Simplify error handling to show direct yt-dlp messages
- Bump version to 0.6.17
- Fix listSubtitles to properly show auto-generated subtitles
- Remove redundant error handling in subtitle listing
- Pass through yt-dlp messages directly
- Bump version to 0.6.16
- Rename tool from download_video_srt to download_video_subtitles
- Update tool description to better reflect subtitle format support
- Bump version to 0.6.14