For agents and developers

CreativeClaw MCP

One remote MCP. OAuth with Gmail. No provider API keys. Tools generate images, video, speech, layouts, characters, and brand-themed assets into a permanent library.

Connect

MCP URL
https://app.creativeclaw.co/mcp
ChatGPT app MCP URL
https://app.creativeclaw.co/mcp/chatgpt
Use this app-specific endpoint for native ChatGPT attachment import. Install the published app from Plugins when possible.
Transport
Streamable HTTP. Protocol 2025-03-26 and later.
Claude Code
Add Creative Claw from Claude’s plugin directory, connect on its Connectors tab and sign in, then run /reload-plugins in Claude Code. Use the directory installation for interactive controls.
Skill
npx skills add CreativeClawCo/creative-claw-marketplace

Per-client screenshots and ChatGPT / Codex / OpenClaw commands live on How to connect. Human-oriented tool examples live on Methods.

OAuth

The MCP endpoint returns 401 with a WWW-Authenticate challenge. Follow RFC 9728 to the protected-resource document, then RFC 8414 to Clerk. Use authorization code + PKCE S256. Register dynamically if the client has no pre-issued credentials.

Authorization
https://clerk.creativeclaw.co/oauth/authorize
Token
https://clerk.creativeclaw.co/oauth/token
Registration
https://clerk.creativeclaw.co/oauth/register
Scopes
profile email
PKCE
S256
Resource metadata
https://app.creativeclaw.co/.well-known/oauth-protected-resource/mcp
AS metadata
https://app.creativeclaw.co/.well-known/oauth-authorization-server

Do not request openid. Clerk rejects that scope for dynamically registered MCP clients.

Tools

54 tools. Call tools/list for live JSON Schema. Call get_model_params before sending model-specific extras. Tools marked async return a job_id — poll check_job.

Generate

  • generate_image Generate or edit an image. Default model: Nano Banana 2.
  • generate_video Generate, animate, extend, or edit video. Default model: Gemini Omni Flash. async
  • generate_speech Generate speech or dialogue. Default model: ElevenLabs v4.
  • compare_models Run one image prompt through 2–4 image models side by side.

Discover models

  • list_models List current image, video, speech, and upscale models. Filter by category.
  • get_model_params Read a model’s live schema, defaults, enums, and extras.

HTML, templates, motion

  • render_html_image Render HTML/CSS to a PNG via the branded layout engine.
  • render_html_video Render code-driven HTML motion to MP4. Returns a job ID. async
  • create_template Create a reusable HTML or generative template.
  • render_template Render a saved template with parameter values.
  • update_template Patch an existing template’s fields.
  • list_templates List saved templates for the account.

Edit media

  • swap_video_characters Swap people or characters in an existing video (up to 30 seconds) from reference photos or saved Characters with Seedance 2.5, keeping motion, cuts and audio. Free image previews first; 480p draft by default, 720p or 1080p direct. async
  • update_video_workflow Change one free preview of a video workflow, such as a character swap, before its paid render.
  • transcribe Transcribe audio or video with word-level timestamps. async
  • isolate_audio Remove noise, music, and reverb from a voice recording. async
  • upscale_image Upscale an image: image_url, a model id such as upscale/aura-sr (default), and model-specific extras. list_models({category:"upscale"}) lists the models; get_model_params gives each model’s extras.
  • upscale_video Upscale a video: video_url, a model id such as upscale/bytedance (default), and model-specific extras. list_models({category:"upscale"}) lists the models; get_model_params gives each model’s extras.
  • increase_frame_rate Raise a video’s frame rate or make slow motion by generating in-between frames: video_url, a model id such as frame-interpolation/topaz-apollo (default), and extras target_fps, slowdown_factor. list_models({category:"frame_interpolation"}) lists the models. async
  • trim_video Cut a time range from a video.
  • scale_video Resize, crop, or pad a video.
  • add_subtitles Burn captions onto a video.
  • remove_background Remove the background from an image or video: media_url, type, an optional model such as background-removal/bria-v3 (video default) or background-removal/veed (semi-transparent subjects), extras, and output_format webm, mp4 or prores. list_models({category:"background_removal"}) lists the models.
  • extract_frames Extract still frames from a video.
  • merge_media Concatenate videos or audio, or mix an audio track onto video. async

Characters

  • create_character Create a Character with a reference image and optional voice.
  • update_character Update a Character, its reference image, or its saved voices.
  • clone_voice Attach a consented voice clone to an existing Character.
  • list_characters List reusable Characters and IDs.
  • delete_character Permanently delete a Character and its saved voices.

Film projects

  • create_film_project Create a multi-shot Film project.
  • update_film_project Save script, shots, storyboards, clips, and approval state.
  • get_film_project Inspect one Film project.
  • list_film_projects List Film projects for the account.
  • assemble_film Merge approved clips and audio into the final Film.

Brand themes

  • list_themes List brand themes and the default theme.
  • get_theme Fetch the default or named brand theme.
  • update_theme Create or update a brand theme, or open the visual editor.
  • delete_theme Soft-delete a brand theme.

Asset library

  • search_assets Search the permanent asset library by type, query, tags, or name.
  • show_media Display workspace images, videos, and audio by asset ID, job ID, or Creative Claw CDN URL.
  • update_asset Set a unique name, replace tags, or update a description.
  • delete_asset Soft-delete an asset.
  • load_image Load an image URL inline for visual review.
  • import_media Open the media picker when the user still needs to choose a file.
  • import_chatgpt_media Convert a ChatGPT attachment into a durable CreativeClaw asset (ChatGPT only).
  • get_upload_url Mint a signed upload URL for clients that can HTTP PUT bytes.
  • confirm_upload Finalize a signed upload into the asset library.
  • upload_asset Copy a public, directly downloadable URL into the library.

Jobs, credits, feedback

  • check_job Poll an async job by job_id until it completes or fails.
  • get_credits_balance Read remaining credits and optionally estimate a generation cost.
  • get_credits_link Return a user-operated Polar checkout link for credit top-up.
  • purchase_credits Start a credit purchase. Packs: 1000/$10, 5000/$50, 11000/$100, 27500/$250.
  • submit_feedback Send product feedback (bug, missing feature, praise) to the team.

Errors

  • HTTP 401 on /mcp — missing or expired token. Restart the OAuth flow.
  • JSON-RPC error.code — protocol errors (−32600 invalid request, −32602 invalid params).
  • Tool result isError: true — the call ran but failed (validation, insufficient credits, upstream provider). Read content[0].text.
  • Job status: "failed" from check_job — async generation failed. The message names the provider error when available.

Credits and limits

New accounts start with 100 free credits, no card. Then $10 = 1,000 credits that never expire. Packs: 1,000 / 5,000 / 11,000 / 27,500. There is no subscription and no published requests-per-second cap — spend is credit-based. Upstream providers may 429; the server retries those.

Use get_credits_balance before a batch. Use get_credits_link so the user can pay. Live prices: /pricing.md.

Reliability

Machine-readable