8 Commits

Author SHA1 Message Date
yachi
2fa897d843 feat: Add multi-arch Docker support with GitHub Actions workflow
Add comprehensive Docker deployment support:

Docker Infrastructure:
- Multi-stage Dockerfile optimized for amd64 and arm64
- Based on node:20-alpine for minimal size
- Non-root user for security
- Health check endpoint integration
- Volume support for downloads

GitHub Actions Workflow:
- Multi-arch build using native runners (ubuntu-latest for amd64, ubuntu-24.04-arm for arm64)
- Digest-based builds to avoid QEMU emulation
- Automatic push to GHCR (ghcr.io/yachi/yt-dlp-mcp)
- Manifest list creation for multi-platform support
- Semantic versioning support
- Build caching for faster builds

Deployment Files:
- docker-compose.yml for easy local deployment
- .dockerignore for optimized build context
- Comprehensive Docker deployment documentation

Features:
- Native multi-arch builds (no QEMU)
- Automatic GHCR publishing on main branch
- Version tagging (latest, semver, sha)
- Resource limits and health checks
- Production-ready configuration examples
2025-10-19 18:28:09 +01:00
yachi
8892f3df92
feat: Add Streamable HTTP remote server support (#4)
Add production-ready HTTP server for remote access to yt-dlp-mcp tools
using the official MCP Streamable HTTP transport protocol.

Features:
- MCP spec-compliant Streamable HTTP transport with SSE
- API key authentication with timing-safe comparison
- CORS configuration with credential handling
- Rate limiting per session (60 req/min default)
- Session management with automatic cleanup
- Request size limits (4MB) and input validation
- Health check endpoint
- Graceful shutdown handling
- Memory leak protection (1000 events/session max)

New binary:
- yt-dlp-mcp-http - HTTP server (separate from stdio server)

Configuration via environment variables:
- YTDLP_HTTP_PORT (default: 3000)
- YTDLP_HTTP_HOST (default: 0.0.0.0)
- YTDLP_API_KEY (recommended for production)
- YTDLP_CORS_ORIGIN (default: *)
- YTDLP_RATE_LIMIT (default: 60)
- YTDLP_SESSION_TIMEOUT (default: 1 hour)

Endpoints:
- POST/GET/DELETE /mcp - MCP protocol endpoint
- GET /health - Health check endpoint

Documentation:
- Comprehensive guide in docs/remote-server.md
- Quick start, deployment examples, security best practices
- Client configuration for Claude Desktop and Cline
2025-10-19 18:17:15 +01: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
353bc8fd22 feat(api): add start and end time docs and examples 2025-07-22 19:14:18 +02:00
Really Him
8cf7b3f5dc fix: fix contributing doc 2025-06-17 21:08:38 -04: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