ai.smithery/ctaylor86-mcp-video-download-server
Connect your video workflows to cloud storage. Organize and access video assets across projects wi…
★ 0MITcloud
Install
Config snippet generator goes here (5 client tabs)
README
# MCP Video Cloud Server A **Remote** Model Context Protocol (MCP) server that downloads videos from social media platforms (YouTube, Facebook, Instagram, TikTok, etc.) and stores them in S3-compatible cloud storage, returning publicly accessible URLs. **✨ Optimized for Smithery.ai deployment** - Deploy in minutes with one-click setup! ## 🚀 Quick Deploy to Smithery.ai 1. **Fork this repository** to your GitHub account 2. **Set up Cloudflare R2** (or AWS S3) storage 3. **Deploy on Smithery.ai** - Click "Deploy" and connect your GitHub repo 4. **Configure your S3 credentials** in Smithery's interface 5. **Start using** - Connect to Claude Desktop and download videos! 👉 **[See detailed deployment instructions](DEPLOYMENT.md)** ## ✨ Features - **Multi-Platform Support**: Download from 1000+ sites via yt-dlp - **Cloud Storage**: Automatic upload to S3/R2 with public URLs - **Transcript Extraction**: Get clean text transcripts - **Thumbnail Extraction**: Extract video thumbnails - **Audio Extraction**: Extract audio in MP3 format - **Metadata Retrieval**: Get comprehensive video information - **Remote Access**: Runs in the cloud, no local setup needed - **Smithery Integration**: One-click deployment and scaling ## 🎯 Supported Platforms - YouTube - Facebook - Instagram - TikTok - Twitter/X - Vimeo - Twitch - And 1000+ other sites ## 🛠️ Available Tools ### `download_video_to_cloud` Download a video and store it in cloud storage. - **Input**: Video URL, quality preference - **Output**: Public URL, filename, file size, metadata ### `download_audio_to_cloud` Extract audio from a video and store it in cloud storage. - **Input**: Video URL - **Output**: Public URL, filename, file size, metadata ### `extract_transcript_to_cloud` Extract subtitles/transcript and store as clean text. - **Input**: Video URL, language code - **Output**: Public URL, filename, transcript preview ### `extract_thumbnail_to_cloud` Extract video thumbnail and store it in cloud storage. - **Input**: Video URL - **Output**: Public URL, filename ### `get_video_metadata` Get comprehensive video information without downloading. - **Input**: Video URL - **Output**: Title, uploader, duration, views, description, etc. ## 🔧 Configuration The server requires S3-compatible storage configuration: ```yaml s3Endpoint: https://your-account.r2.cloudflarestorage.com s3Region: auto s3AccessKeyId: your-access-key s3SecretAccessKey: your-secret-key s3BucketName: your-bucket-name s3PublicUrlBase: https://your-custom-domain.com # Optional ``` ## 📁 File Organization Files are organized in your S3 bucket: - `videos/` - Downloaded video files - `audio/` - Extracted audio files - `transcripts/` - Transcript text files - `thumbnails/` - Thumbnail images ## 🔒 Security & Privacy - All files stored in **your own** S3 bucket - No data permanently stored on the server - Temporary files automatically cleaned up - Credentials securely managed by Smithery - Server runs in isolated containers ## 💰 Cost Considerations - **Smithery Hosting**: Check current pricing plans - **Cloudflare R2**: ~$0.015/GB/month storage + bandwidth - **Processing**: Included in Smithery hosting ## 🏃♂️ Local Development If you want to run locally for development: ### Prerequisites - Node.js 20+ - yt-dlp installed - S3 credentials ### Setup ```bash git clone <your-fork> cd mcp-video-cloud-server npm install npm run build:stdio ``` ### Environment Variables ```bash S3_ENDPOINT=your-endpoint S3_REGION=auto S3_ACCESS_KEY_ID=your-key S3_SECRET_ACCESS_KEY=your-secret S3_BUCKET_NAME=your-bucket ``` ### Run ```bash npm run start:stdio ``` ## 🧪 Testing with Smithery Use Smithery's development environment: ```bash npm run dev ``` This starts a development server with the Smithery playground for testing. ## 🤝 Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Test with `npm run dev` 5. Submit a pull request ## 📄 License MIT License - see LICENSE file for details ## 🆘 Support - **Deployment Issues**: Check [DEPLOYMENT.md](DEPLOYMENT.md) - **Smithery Support**: Visit https://smithery.ai/support - **Bug Reports**: Create a GitHub issue - **Feature Requests**: Create a GitHub issue --- **Ready to deploy?** 👉 **[Follow the deployment guide](DEPLOYMENT.md)**