# Kubeez MCP > Model Context Protocol server for Claude Desktop, Cursor, Claude.ai web, and any MCP-compatible client. 13 tools, 7 fetchable skills, and 5 user-invokable prompts spanning image, video, music, speech, captions, audio separation, and ad creatives. OAuth 2.1 + scoped API keys. ## Documentation - [Tool reference (HTML)](https://mcp.kubeez.com/docs): browseable tool catalog with parameters, scopes, canonical upload→cost-preview→generate flows, polling cadence guidance, scope map. - [Tool catalog (JSON)](https://mcp.kubeez.com/docs/tools.json): machine-readable list of every tool with name, scope, description. ## Endpoints - `POST https://mcp.kubeez.com/mcp`: MCP protocol endpoint (JSON-RPC 2.0 over streamable HTTP). Use the official MCP SDK (Python `mcp`, TypeScript `@modelcontextprotocol/sdk`). - `POST https://mcp.kubeez.com/register`: OAuth 2.1 Dynamic Client Registration - `POST https://mcp.kubeez.com/authorize`: OAuth authorize - `POST https://mcp.kubeez.com/token`: OAuth token exchange - `POST https://mcp.kubeez.com/revoke`: OAuth token revocation - `GET https://mcp.kubeez.com/.well-known/oauth-authorization-server`: RFC 8414 metadata - `GET https://mcp.kubeez.com/.well-known/oauth-protected-resource`: protected resource metadata ## Tools (13) Generation: `generate_media` (also extends Veo 3.1 via `generation_type="extend"`), `generate_music`, `generate_dialogue`, `generate_captions`, `generate_separation`, `create_ad_copy`. Upload flow: `get_upload_url`, `get_upload_session`. Status & estimate: `get_status` (auto-dispatches media / music / separation), `estimate` (returns credits + time). Catalog & balance: `get_models`, `get_balance`, `get_generations`. ## Skills (resources) Long-form guidance fetched on demand via MCP `resources/read`: - `kubeez://skills/content-creation` — quality bar + propose-before-generate for posts / blogs / ads - `kubeez://skills/model-selection` — picking the right model - `kubeez://skills/media-upload` — when the user has a local file - `kubeez://skills/billing-confirmation` — preview cost before generating - `kubeez://skills/polling` — first-poll delays per media type - `kubeez://skills/video-extend` — extending Veo 3.1 clips - `kubeez://skills/seedance-2-tiers` — Seedance 2 vs Seedance 2 Fast ## Prompts (slash commands) User-invokable workflows: `blog-cover`, `social-post`, `ad-creative`, `talking-avatar`, `product-animation`. ## Canonical flow For any tool that consumes user media (edit images, motion control, lip-sync, captions, separation, ad-copy): 1. `get_upload_url(model_id=X)` → send the returned link to the user. 2. `get_upload_session(token)` → public URLs + per-file `duration_seconds` from probed metadata. 3. `estimate(model=X, reference_*_seconds=)` → exact preview, no deduction. 4. Quote the price to the user, wait for confirmation. 5. `generate_*` → the real call. Then `get_status(id)` until `completed`. ## Auth scopes `generate:media`, `generate:music`, `generate:speech`, `generate:ads`, `read:balance`, `read:generations`. Create a key at https://kubeez.com/settings/api-keys. ## Related - [REST API](https://api.kubeez.com/docs): same models via raw HTTP for non-MCP integrations.