DEPLOYMENT.md•3.44 kB
# Deployment Guide for Rendi MCP Server
This guide explains how to deploy the Rendi MCP Server to Smithery for remote hosting.
## Prerequisites
1. A Rendi API key from [rendi.dev](https://rendi.dev)
2. A GitHub account (repository already created)
3. Smithery account (optional, for deployment)
## Deployment to Smithery
### Option 1: Via Smithery Website
1. Visit [Smithery](https://smithery.ai)
2. Sign in with your GitHub account
3. Click "Add Server" or "Deploy Server"
4. Select your GitHub repository: `ctaylor86/rendi-mcp-server`
5. Smithery will automatically detect the `smithery.yaml` configuration
6. Configure your Rendi API key when prompted
7. Deploy the server
### Option 2: Via Smithery CLI
```bash
# Install Smithery CLI (if not already installed)
npm install -g @smithery/cli
# Deploy the server
smithery deploy
```
When prompted, enter your Rendi API key.
## Configuration
The server requires one configuration parameter:
- **rendiApiKey**: Your Rendi API key for authentication
This is configured as a profile secret in Smithery, ensuring your API key is stored securely and not exposed in the repository.
## Connecting to the Server
### Claude Desktop
After deploying to Smithery, you'll receive a connection URL. Add it to your Claude Desktop configuration:
```json
{
"mcpServers": {
"rendi": {
"url": "https://your-smithery-deployment-url.smithery.ai/mcp",
"apiKey": "your-rendi-api-key"
}
}
}
```
### Other MCP Clients
Use the Smithery-provided connection URL with your Rendi API key as the authentication parameter.
## Available Tools
Once deployed and connected, you'll have access to these tools:
1. **test_rendi_connection** - Test connectivity to Rendi API
2. **run_ffmpeg_command** - Execute single FFmpeg commands
3. **run_chained_ffmpeg_commands** - Execute sequential FFmpeg commands
4. **poll_ffmpeg_command** - Check command status and get results
5. **delete_command_files** - Clean up output files
## Testing the Deployment
After deployment, test the connection:
1. Use the `test_rendi_connection` tool to verify API connectivity
2. Try a simple FFmpeg command to ensure everything works
Example test command:
```
Use run_ffmpeg_command with:
- Command: "-i {{in_1}} -vf scale=640:480 {{out_1}}"
- Input files: {"in_1": "https://storage.rendi.dev/sample/sample.avi"}
- Output files: {"out_1": "test_output.mp4"}
```
## Troubleshooting
### Build Failures
If the Docker build fails:
- Check that all dependencies are listed in `package.json`
- Verify the Dockerfile is correct
- Check Smithery build logs for specific errors
### Connection Issues
If you can't connect to the deployed server:
- Verify your Rendi API key is correct
- Check Smithery deployment status
- Review server logs in Smithery dashboard
### API Errors
If Rendi API calls fail:
- Verify your API key has sufficient credits
- Check that input file URLs are publicly accessible
- Ensure FFmpeg command syntax is correct
## Updating the Server
To update the deployed server:
1. Make changes to the code locally
2. Commit and push to GitHub:
```bash
git add .
git commit -m "Your update message"
git push
```
3. Smithery will automatically detect the changes and redeploy
## Support
- **Server Issues**: Open an issue on GitHub
- **Rendi API Issues**: Visit [rendi.dev](https://rendi.dev)
- **Smithery Issues**: Visit [smithery.ai/docs](https://smithery.ai/docs)