Magic Hour is a remote MCP server that gives an AI agent 44 tools, among them account_retrieve, ai_clothes_changer_create_image, ai_face_editor_edit_image. It answers at https://mcp.magichour.ai/ over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 22 October 2026, succeeded.
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
account_retrieve | Get the current credit balance and subscription details of the account that owns the API key. Inputs: context |
ai_clothes_changer_create_image | Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished resu Inputs: name, assets, context |
ai_face_editor_edit_image | Edit facial features of an image using AI. Each edit costs 1 frame. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details MCP guidance: - This st Inputs: name, assets, style, context |
ai_gif_generator_create_image | Create an AI GIF. Each GIF costs 50 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` helper with Inputs: name, style, output_format, context |
ai_headshot_generator_create_image | Create an AI headshot. Each headshot costs 50 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` h Inputs: name, style, assets, context |
ai_image_editor_create_image | Edit images with AI. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` helper with the returned id, or pol Inputs: name, image_count, model, aspect_ratio, resolution, style |
ai_image_generator_create_image | Create an AI image with advanced model selection and quality controls. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_ Inputs: name, image_count, model, aspect_ratio, resolution, style |
ai_image_upscaler_create_image | Upscale your image using AI. Each 2x upscale costs 50 credits for balanced/creative modes, and 25 credits for preserve. 4x upscale costs 200 and 100 credits respectively. MCP guidance: - This starts an async image generation job and returns Inputs: name, scale_factor, style, assets, context |
ai_meme_generator_create_image | Create an AI generated meme. Each meme costs 10 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` Inputs: name, style, context |
ai_qr_code_generator_create_image | Create an AI QR code. Each QR code costs 0 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` help Inputs: name, content, style, context |
ai_talking_photo_create_talking_photo | Create a talking photo from an image and audio or text input. MCP guidance: - This starts an async video generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_video_pro Inputs: name, start_seconds, end_seconds, assets, style, max_resolution |
ai_video_editor_create_video | **What this API does** Create the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Addi Inputs: name, start_seconds, end_seconds, model, resolution, style |
ai_voice_cloner_create_audio | Clone a voice from an audio sample and generate speech. * Each character costs 0.1 credits. * The cost is rounded up to the nearest whole number MCP guidance: - This starts an async audio generation job and returns `id` plus `credits_charge Inputs: name, assets, style, context |
ai_voice_generator_create_audio | Generate speech from text. Each character costs 0.1 credits. The cost is rounded up to the nearest whole number. MCP guidance: - This starts an async audio generation job and returns `id` plus `credits_charged` immediately. If the user want |
animation_create_video | Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input. MCP guidance: - This starts an async video generation job and returns `id` plus `credits_charged` immediately. If the user wants th Inputs: name, fps, end_seconds, height, width, style |
audio_projects_delete | Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting. Inputs: id, context |
audio_projects_retrieve_details | Check the progress of a audio project. The `downloads` field is populated after a successful render. **Statuses** - `queued` — waiting to start - `rendering` — in progress - `complete` — ready; see `downloads` - `error` — a failure occurred Inputs: id, context |
audio_to_video_create_video | **What this API does** Create the same Audio To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Ad Inputs: name, start_seconds, end_seconds, resolution, assets, style |
auto_subtitle_generator_create_video | Automatically generate subtitles for your video in multiple languages. MCP guidance: - This starts an async video generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_ Inputs: name, start_seconds, end_seconds, assets, style, context |
body_swap_create_image | Swap a person into a scene image using Nano Banana 2 Lite (640px/1k) or Nano Banana 2 (2k/4k). Credits depend on `resolution` (from 50 credits at 640px upward). MCP guidance: - This starts an async image generation job and returns `id` plus Inputs: name, resolution, assets, context |
character_replace_create_video | **What this API does** Create the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Inputs: name, start_seconds, end_seconds, resolution, assets, style |
face_detection_detect_faces | Detect faces in an image or video. Use this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.magichour.ai/api-reference/image-projects/face-swap-photo) or [face swap video](https://doc Inputs: confidence_score, assets, context |
face_detection_retrieve_details | Get the details of a face detection task. Use this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.magichour.ai/api-reference/image-projects/face-swap-photo) or [face swap video](http Inputs: id, context |
face_swap_create_video | **What this API does** Create the same Face Swap you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Adding Inputs: name, start_seconds, end_seconds, style, assets, context |
face_swap_photo_create_image | Create a face swap photo. Each photo costs 10 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details MCP guidance: - This starts an async Inputs: name, assets, context |
fetch_audio_download | Fetch a audio `downloads[n].url` from a completed audio project and return it as inline MCP audio content for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` is sepa Inputs: download_url, max_bytes, context |
fetch_image_download | Fetch a image `downloads[n].url` from a completed image project and return it as inline MCP image content for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` is sepa Inputs: download_url, max_bytes, context |
fetch_video_download | Fetch a video `downloads[n].url` from a completed video project and return it as an embedded MCP binary resource for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` Inputs: download_url, max_bytes, context |
head_swap_create_image | Swap a head onto a body image. Each image costs 10 credits. Output resolution depends on your subscription; you may set `max_resolution` lower than your plan maximum if desired. MCP guidance: - This starts an async image generation job and Inputs: name, max_resolution, assets, context |
image_background_remover_create_image | Remove background from image. Each image costs 5 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project Inputs: name, assets, context |
image_projects_delete | Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting. Inputs: id, context |
image_projects_retrieve_details | Check the progress of a image project. The `downloads` field is populated after a successful render. **Statuses** - `queued` — waiting to start - `rendering` — in progress - `complete` — ready; see `downloads` - `error` — a failure occurred Inputs: id, context |
image_to_video_create_video | **What this API does** Create the same Image To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Ad Inputs: name, end_seconds, model, resolution, audio, style |
lip_sync_create_video | **What this API does** Create the same Lip Sync you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Adding l Inputs: name, start_seconds, end_seconds, max_fps_limit, assets, style |
photo_colorizer_create_image | Colorize image. Each image costs 10 credits. MCP guidance: - This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finished result, call the `wait_for_image_project` helper with Inputs: name, assets, context |
ping | Check that the Magic Hour MCP server is reachable. Inputs: context |
text_to_video_create_video | **What this API does** Create the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. **Good for** - Automation and batch processing - Add Inputs: name, end_seconds, aspect_ratio, resolution, model, audio |
video_assets_generate_presigned_url | Generates a list of pre-signed upload URLs for the assets required. This API is only necessary if you want to upload to Magic Hour's storage. Refer to the [Input Files Guide](https://docs.magichour.ai/integration/inputs-and-outputs) for mor Inputs: items, context |
video_projects_delete | Permanently delete the rendered video. This action is not reversible, please be sure before deleting. Inputs: id, context |
video_projects_retrieve_details | Check the progress of a video project. The `downloads` field is populated after a successful render. **Statuses** - `queued` — waiting to start - `rendering` — in progress - `complete` — ready; see `downloads` - `error` — a failure occurred Inputs: id, context |
video_to_video_create_video, wait_for_audio_project, wait_for_image_project, wait_for_video_project
Every block below points at https://mcp.magichour.ai/. Pick your client and copy.
claude mcp add --transport http magic-hour https://mcp.magichour.ai/
{
"mcpServers": {
"magic-hour": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.magichour.ai/"]
}
}
}{
"mcpServers": {
"magic-hour": {
"url": "https://mcp.magichour.ai/"
}
}
}{
"servers": {
"magic-hour": {
"type": "http",
"url": "https://mcp.magichour.ai/"
}
}
}{
"context_servers": {
"magic-hour": {
"url": "https://mcp.magichour.ai/"
}
}
}{
"mcpServers": {
"magic-hour": {
"serverUrl": "https://mcp.magichour.ai/"
}
}
}{
"mcpServers": {
"magic-hour": {
"url": "https://mcp.magichour.ai/"
}
}
}name: Magic Hour
version: 0.0.1
schema: v1
mcpServers:
- name: Magic Hour
type: streamable-http
url: https://mcp.magichour.ai/{
"mcpServers": {
"magic-hour": {
"httpUrl": "https://mcp.magichour.ai/"
}
}
}{
"mcpServers": {
"magic-hour": {
"type": "http",
"url": "https://mcp.magichour.ai/"
}
}
}{
"mcpServers": {
"magic-hour": {
"url": "https://mcp.magichour.ai/"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.magichour.ai%2F&type=streamable_http&id=magic-hour&name=Magic%20Hour
It answered our last check on 22 October 2026 in 174 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
44, as returned by the server's own tools/list on 15 September 2026: account_retrieve, ai_clothes_changer_create_image, ai_face_editor_edit_image, ai_gif_generator_create_image, ai_headshot_generator_create_image, ai_image_editor_create_image, ai_image_generator_create_image, ai_image_upscaler_create_image, and 36 more.
It answered our last check on 22 October 2026 in 174 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.magichour.ai/. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.magichourhq. Endpoint host: mcp.magichour.ai. ARD identifier: urn:air:io.github.magichourhq:mcp:magic-hour.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.