24 Commits

Author SHA1 Message Date
kevinwatt
748255fe01 docs(readme): add MCP client configuration section
Add comprehensive setup instructions for multiple MCP clients:
- Dive (featured at top)
- Claude Code, Claude Desktop
- Cursor, VS Code/Copilot, Windsurf
- Cline, Warp, JetBrains AI Assistant

Use @latest tag for consistent auto-updates.
2025-12-16 03:29:29 +08:00
kevinwatt
87ba2f8494 feat(cookies): add cookie support for authenticated access
- Add YTDLP_COOKIES_FILE and YTDLP_COOKIES_FROM_BROWSER env vars
- Support all yt-dlp cookie methods (file, browser extraction)
- Validate browser names (brave, chrome, chromium, edge, firefox, opera, safari, vivaldi, whale)
- Cookie file takes precedence over browser extraction
- Add getCookieArgs() helper function
- Integrate cookie args into all modules (video, audio, subtitle, search, metadata)
- Add comprehensive cookie documentation (docs/cookies.md)
- Add 12 unit tests for cookie configuration
- Fix search.test.ts function signature issue

Closes #19
2025-12-06 18:42:25 +08:00
kevinwatt
26b2137751 chore: release v0.7.0 - MCP Best Practices & Quality Improvements
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
2025-10-19 01:52:22 +08:00
kevinwatt
b19dbb67a5 feat(metadata): add get_video_metadata & get_video_metadata_summary; docs(api); tests(metadata) 2025-08-13 15:49:43 +08:00
kevinwatt
5aecaa3b20 feat: add video search functionality
- 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
2025-07-28 04:45:37 +08:00
seszele64
53437dc472 feat(readme): add start and end time params for trimming 2025-07-22 19:13:25 +02:00
Kevin Watt
f27d22eb81
Revert "Revert "feat: add transcript download functionality"" 2025-05-30 12:03:04 +08:00
Kevin Watt
c79766c241
Revert "feat: add transcript download functionality" 2025-05-30 11:57:52 +08:00
m
7900a9b4e1 feat: add transcript download functionality
- 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>
2025-05-27 12:00:31 +02:00
kevinwatt
c39fd8785c update README.md 2025-02-22 03:24:44 +08:00
kevinwatt
e9a0e55762 feat: major improvements and version bump to 0.6.24 - Remove prompts functionality (prompts.ts and tests) - Improve error handling with VideoDownloadError class - Move configuration to dedicated file - Add URL validation and security checks - Reorganize code into modules - Add comprehensive unit tests - Enhance documentation with JSDoc and examples 2025-02-22 00:43:15 +08:00
kevinwatt
21689391bd add download_audio tool to README.md 2025-02-21 17:43:33 +08:00
kevin
576549bc2c update description in README.md 2025-02-21 16:56:45 +08:00
kevin
58384bb1a2 fix: improve subtitle handling and tool names
- Rename list_video_subtitles to list_subtitle_languages for clarity
- Update tool descriptions to better reflect functionality
- Improve subtitle listing output format
- Simplify subtitle download parameters
- Add verbose logging for better debugging
- Bump version to 0.6.21
2025-02-21 16:42:12 +08:00
Ted Carnahan
63fbaf3d4c Update docs 2025-02-19 11:35:27 -06:00
kevinwatt
5d36ffb45a feat: add list subtitles and resolution control 2025-02-15 13:57:28 +08:00
kevinwatt
613d26ddc4 version 0.6.8 2025-02-13 22:53:54 +08:00
kevinwatt
6344f33318 update readme 2025-02-13 22:51:33 +08:00
kevinwatt
212577c245 Update README.md 2025-02-13 22:45:30 +08:00
kevinwatt
01a139ed5c docs: update README with Dive integration details 2025-02-11 03:21:49 +08:00
Kevin Watt
69269c78b6
Update README.md 2025-02-11 02:45:15 +08:00
Kevin Watt
4594ca7e78
Update README.md 2025-02-11 02:44:40 +08:00
Kevin Watt
d80b8caed2
Update README.md 2025-02-11 02:43:00 +08:00
kevinwatt
47e67ae25a first commit 2025-02-11 02:40:43 +08:00