Magic Hour MCP Server
# Magic Hour MCP Server
MCP server for [Magic Hour AI](https://magichour.ai) — face swap videos, face swap photos, lip sync, face detection, and file management.
## Tools
| Tool | Description |
|------|-------------|
| `face_swap_video` | Swap a face onto a video (file/URL source) |
| `face_swap_video_youtube` | Swap a face onto a YouTube video |
| `face_swap_video_individual` | Swap specific faces using face detection IDs |
| `face_swap_photo` | Swap a face onto a photo |
| `detect_faces` | Detect faces in an image or video |
| `get_face_detection_result` | Get detected face IDs and URLs |
| `lip_sync` | Sync lip movements to an audio track |
| `upload_file` | Upload a file to Magic Hour storage |
| `get_video_project_status` | Check video project status and get download URLs |
| `get_image_project_status` | Check image project status and get download URLs |
| `delete_video_project` | Delete a video project |
| `delete_image_project` | Delete an image project |
## Setup
1. Get an API key from [magichour.ai/settings/developer](https://magichour.ai/settings/developer)
2. Install dependencies:
```bash
npm install
```
3. Build:
```bash
npm run build
```
## Claude Desktop Configuration
Add to `~/.claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"magic-hour": {
"command": "node",
"args": ["/path/to/magic-hour-mcp/dist/index.js"],
"env": {
"MAGIC_HOUR_API_KEY": "mhk_live_your_key_here"
}
}
}
}
```
## Claude Code Configuration
Add to `~/.claude/settings.json`:
```json
{
"mcpServers": {
"magic-hour": {
"command": "node",
"args": ["/path/to/magic-hour-mcp/dist/index.js"],
"env": {
"MAGIC_HOUR_API_KEY": "mhk_live_your_key_here"
}
}
}
}
```
## Usage Example
```
Face swap a dance video:
1. Upload your face image: upload_file → get file_path
2. Start face swap: face_swap_video with video URL + face file_path
3. Poll status: get_video_project_status until "complete"
4. Download from the returned URL
Individual face swap:
1. Detect faces: detect_faces on the source video
2. Get results: get_face_detection_result to see all faces
3. Swap specific faces: face_swap_video_individual with face mappings
```
## License
MIT
TDQS
Scored across 12 tools
Most tools have distinct purposes, such as delete_image_project vs. delete_video_project, and face_swap_photo vs. face_swap_video. However, face_swap_video, face_swap_video_individual, and face_swap_video_youtube could cause confusion due to overlapping video face-swapping functionality, though descriptions help differentiate them.
Tool names follow a consistent snake_case pattern with clear verb_noun structures, such as delete_image_project, detect_faces, and get_face_detection_result. There are no deviations in naming conventions across all 12 tools.
With 12 tools, the server is well-scoped for its face-swapping and media processing domain. Each tool serves a specific role, from project management to face detection and lip syncing, without feeling excessive or insufficient.
The toolset covers core operations like creation (via face swap tools), retrieval (get status tools), deletion, and processing (detect, lip sync). A minor gap exists in update operations for projects, but agents can work around this by re-creating or managing projects through deletion and re-upload.