Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http ext: ui

Magic Hour

io.github.magichourhq/magic-hour

Create and edit images and video, generate music, and retrieve existing audio projects.

Watch this dependency Share evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1234ms
last probe
Tools
52
callable
Resources
2
readable
Prompts
0
available
Score: 100/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
52 tools, 2 resources, 0 prompts returned.
pass 3 or more catalogue items 10/10
54 items in total; 3 or more earns these points.
pass Describes itself 10/10
87 characters; more than 30 earns these points.

Tools · 52

get_workflow_guide

Returns required inputs, ordered steps, example requests and review criteria for eight supported Magic Hour workflows. Use when planning a generation, not to run one. Requires authentication but does …

upload_chatgpt_image

Uploads a PNG, JPEG or WebP image attached in ChatGPT to the connected Magic Hour account. Use this for native ChatGPT photo attachments instead of asking the chat's file runtime to PUT bytes to get_u…

upload_chatgpt_media

Uploads one native ChatGPT attachment to the connected Magic Hour account: PNG/JPEG/WebP images, MP4/MOV/WebM video, or MP3/WAV/M4A/FLAC/Ogg/WebM audio, up to 20 MiB. Set media_type to the attachment'…

ping

Checks that the Magic Hour server is reachable. Use for connectivity troubleshooting; it does not validate API credentials or account access. Makes no media or project changes.

wait_for_video_project

Polls a video project until it completes, errors, is canceled or times out. Use with the id returned by a video create tool. Read-only; returns download URLs when complete. After a timeout, resume wit…

wait_for_image_project

Polls an image project until it completes, errors, is canceled or times out. Use with the id returned by an image create tool. Read-only; returns the project and download URLs, with optional inline im…

wait_for_audio_project

Polls an audio project until it completes, errors, is canceled or times out. Use with the id returned by an audio create tool. Read-only; returns the project and download URLs, with optional inline au…

fetch_image_download

Fetch a completed project's image as inline MCP image content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media h…

fetch_audio_download

Fetch a completed project's audio as inline MCP audio content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media h…

fetch_video_download

Fetch a completed project's video as an embedded MCP binary resource for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour …

get_account_info

Returns credit balance and subscription details for the connected account. Use to inspect account information before choosing generation settings. Use tier, not the subscription name or credit balance…

list_saved_items

Lists the account's active saved characters, references, voice recordings, moodboards and brand kits, newest first. Reusable paths are in each item's assets[].file_path; temporary signed URLs support …

get_upload_urls

Creates presigned upload URL and file-path pairs for local media. Use when a generation needs a file the user has locally: upload raw bytes to the returned upload_url, then pass its file_path to the c…

get_face_detection_results

Returns a face-detection job's status and detected faces. Use with the id from detect_faces to inspect progress and choose face mappings before a selected-face swap. Read-only; faces may populate whil…

detect_faces

Starts an asynchronous face-detection task for a supplied image or video and returns its id and charge information. Use before a selected-face swap, then retrieve its status and detected faces with ge…

get_video_project

Returns a video project's status and, once complete, its download URLs. Use to check progress with the id from a video create tool. Read-only.

delete_video_project

Deletes the video project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

create_talking_photo

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Animates a still portrait so it spea…

create_spoken_ad_video

Creates a creator-style spoken ad video from a prepared image and a text script. Use when the image is ready and the dialogue should be generated from text. Starts a background job that costs credits;…

edit_video

Edits the appearance or content of a supplied video segment using a text prompt. Use with a source video, the requested changes and the clip end time. Starts a background job that costs credits; retur…

translate_video

Translates speech in a supplied video segment into a supported target language. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, r…

upscale_video

Upscales a supplied video segment to a selected output resolution while preserving its aspect ratio. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before…

create_animation

Creates a stylized animated video with art and camera settings, using a custom prompt or an audio-derived prompt mode. Can use an initial image and audio. Credits depend on frame rate and duration; re…

create_video_from_audio

Generates an audio-guided video from a supplied audio track, with an optional starting image and visual prompt. Starts a background job that costs credits; returns a project id for wait_for_video_proj…

add_subtitles_to_video

Adds automatically generated subtitles to a supplied video segment using a subtitle preset or custom text styling. Starts a background job that costs credits; returns a project id for wait_for_video_p…

replace_character_in_video

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Replaces a subject in a video with a…

swap_face_in_video

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Swaps faces in an existing video: al…

create_video_from_image

Animates a supplied image into a video using motion instructions and available model options. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosi…

create_lip_sync_video

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Adjusts an existing video's lip move…

create_video_from_text

Generates a video from a text prompt, with optional supported reference inputs and model settings. To animate an existing starting image, use create_video_from_image. Starts a background job that cost…

restyle_video

Restyles an existing video clip with an art-style preset or a custom prompt. Supports v1/v2 presets, not v3. Starts a background job that costs credits; returns a project id for wait_for_video_project…

get_image_project

Returns an image project's status and, once complete, its download URLs. Use to check progress with the id from an image create tool. Read-only.

delete_image_project

Deletes the image project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

change_clothes_in_photo

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Changes clothing in a person photo u…

edit_face_in_photo

Adjusts facial expression, pose and gaze in a supplied photo using numeric controls. Costs 1 credit per edit; output size depends on the subscription tier. Starts a background job; returns a project i…

create_gif_or_short_video

Generates a short animation from a text prompt, with GIF, MP4 or WebM output. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read…

edit_image

Edits one or more supplied images using a text prompt. For prompt-only creation use generate_image. Costs credits; returns a project id for wait_for_image_project. Model eligibility depends on the acc…

generate_headshot

Creates a headshot from a supplied photo containing one detectable face, with optional appearance instructions. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_proje…

generate_image

Generates one or more images from a text prompt, with model, output size and image count options. Costs credits; returns a project id for wait_for_image_project. Before choosing settings, read get_acc…

upscale_image

Upscales a supplied image 2x or 4x. Cost depends on scale and mode (25-200 credits); returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current pa…

create_meme

Creates a meme from a topic and template selection. Costs 10 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the …

create_qr_code

Creates a stylized QR code from supplied text or a URL and an art-style description. Currently costs 0 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosin…

place_person_in_scene

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Places a person from one supplied ph…

swap_face_in_photo

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Swaps faces in a supplied photo usin…

swap_head_in_photo

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors. Swaps a head from a supplied image o…

remove_image_background

Removes an image's background, optionally replacing it with another supplied image. Costs 5 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings,…

colorize_photo

Colorizes a black-and-white or faded photo. Costs 10 credits; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A …

get_audio_project

Returns an audio project's status and, once complete, its download URLs. Use to check progress with the id from an audio create tool. Read-only.

delete_audio_project

Deletes the audio project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

generate_music

Generates music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credit per requested second; returns a project id for wait_for_audio_project. Before choosing setti…

ai_voice_cloner_create_audio

MCP guidance: - Starts an async audio job; returns `id` and `credits_charged`. For finished results, call `wait_for_audio_project` with that id or poll `GET /v1/audio-projects/{id}` until `complete`, …

ai_voice_generator_create_audio

MCP guidance: - Starts an async audio job; returns `id` and `credits_charged`. For finished results, call `wait_for_audio_project` with that id or poll `GET /v1/audio-projects/{id}` until `complete`, …

Resources · 2

Magic Hour workflow index

Discover task-specific workflow guides and their resource URIs.

magic-hour://workflows/index
Magic Hour project result

Render completed or terminal Magic Hour project results in MCP Apps hosts.

ui://magic-hour/project-result-v1.html

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://mcp.magichour.ai/

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "magic_hour": {
      "url": "https://mcp.magichour.ai/",
      "transport": "streamable-http"
    }
  }
}

Source: github.com/magichourhq/magic-hour-mcp