MCP Video Cloud Server
by ctaylor86
README.md
# 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)**
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues