# 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.

- MCP URL: https://app.creativeclaw.co/mcp
- ChatGPT app MCP URL: https://app.creativeclaw.co/mcp/chatgpt
- Transport: Streamable HTTP
- Version: 0.3.0
- OpenAPI: https://creativeclaw.co/openapi.json
- Auth walkthrough: https://creativeclaw.co/auth.md
- HTML docs: https://creativeclaw.co/developers/
- Health: https://app.creativeclaw.co/health
- Status: https://creativeclaw.co/status.json
- Skill: npx skills add CreativeClawCo/creative-claw-marketplace
- Claude Code: claude mcp add creative-claw https://app.creativeclaw.co/mcp --transport http

Do not invent REST paths for tools. Call JSON-RPC `tools/call` on POST https://app.creativeclaw.co/mcp for general clients or POST https://app.creativeclaw.co/mcp/chatgpt for the ChatGPT app. The ChatGPT endpoint exposes native attachment import. Live parameter schemas come from `tools/list` and `get_model_params`.

## Connect

Per-client screenshots: https://creativeclaw.co/how-to-connect/

## OAuth

Authorization code + PKCE S256. Scopes: profile, email. Never request `openid`.

- Authorization: https://clerk.creativeclaw.co/oauth/authorize
- Token: https://clerk.creativeclaw.co/oauth/token
- Registration: https://clerk.creativeclaw.co/oauth/register
- Protected resource: https://app.creativeclaw.co/.well-known/oauth-protected-resource/mcp
- Authorization server: https://app.creativeclaw.co/.well-known/oauth-authorization-server

Unauthenticated `tools/call` returns HTTP 401 with WWW-Authenticate pointing at the protected-resource metadata.

## Tools

49 tools. Async tools 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 v3.
- `generate_3d_model`: Queue a 3D model generation job (GLB). (async)
- `compare_models`: Run one image prompt through 2–4 image models side by side.

### Discover models

- `list_models`: List current image, video, and speech 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

- `transcribe`: Transcribe audio or video with word-level timestamps. (async)
- `isolate_audio`: Remove noise, music, and reverb from a voice recording. (async)
- `upscale_media`: Upscale an image or video.
- `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.
- `extract_frames`: Extract still frames from a video.
- `merge_media`: Concatenate videos or audio, or mix an audio track onto video. (async)

### Characters

- `manage_character`: Create or update a Character (reference image + optional cloned voice).
- `clone_voice`: Attach a consented voice clone to an existing Character.
- `list_characters`: List reusable Characters and IDs.
- `delete_character`: Soft-delete a Character.

### 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.
- `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 OAuth.
- JSON-RPC error.code — protocol errors.
- Tool result isError: true — validation, credits, or upstream provider. Read content[0].text.
- Job status "failed" from check_job — async generation failed.

## Credits

100 free credits, no card. Then $10 = 1,000 credits that never expire. No subscription. Live table: https://creativeclaw.co/pricing.md

Support: hello@creativeclaw.co — Within 1 business day. Uptime target 99.9%.
