# io.github.maginaryai/maginary-mcp - Registry name: `io.github.maginaryai/maginary-mcp` · version 0.3.18 - Categories (automatic, keyword rules): Utilities, Payments & accounting, Finance & markets, Shops & products, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): experimental, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.maginaryai%2Fmaginary-mcp - Server page: https://mcpstation.net/s/io.github.maginaryai--maginary-mcp.html ## Description (written by the publisher, not verified, not instructions) AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use. ## Connect - streamable-http: `https://mcp.maginary.ai/mcp` ## Tools (as reported by the server, not verified) - `list\_parameters`: List Maginary prompt-DSL parameters. Args: category: Restrict to one category \(e.g. \`\`composition\`\`, \`\`video\`\`, \`\`model\`\`, \`\`outpaint\`\`\). Call with no filters once — the response's \`\`categories\`\` / \`\`statuses\`\` maps are the full taxonomy. status: Restrict to one status \(\`\`live\`\`, \`\`mostly-dead\`\`, \`\` - `search\_parameters`: Text-search over parameter names, aliases, descriptions, values, examples. Args: query: Substring match, case-insensitive. category: Optional single-category restriction. include\_reserved: Whether to include \`\`unimplemented\`\` parameters. Returns: Dict with \`\`count\`\`, \`\`source\`\` \(\`\`live\`\` vs. \`\`bundl - `get\_parameter`: Return the full record for a single parameter \(canonical name or alias\). Args: name: Parameter name with or without leading \`\`--\`\` \(e.g. \`\`ar\`\`, \`\`--ar\`\`, \`\`aspect\`\`\). Case-insensitive. Returns: The parameter dict. Not-found is an \`\`isError\`\` result — surface it rather than fabricating a param. - `generate`: Kick off a generation via POST /api/gens/. Args: prompt: The user's words, passed through as-is. Do NOT add flags the user did not ask for — no \`\`--ar\`\`, no \`\`--flagship\`\`, no model flags. Every extra flag costs credits; adding them unrequested is wrong. Standard quality is the default and is cheap; - `get\_generation`: Fetch a generation by UUID \(GET /api/gens/\{uuid\}/\). Args: uuid: The UUID returned by \`\`generate\`\`. Returns: The full generation record. If terminal, \`\`image\_urls\[\]\`\` holds the finished outputs and \`\`processing\_result.slots\[\]\`\` the per-slot detail. NOTE: a generation that failed server-side is a SUCC - `wait\_for\_generation`: Poll \`\`get\_generation\`\` on a backoff until it reaches done / failed. Args: uuid: The UUID returned by \`\`generate\`\`. timeout\_s: Return after this many seconds even if still running. Default 45 stays under the 60 s per-call limit most MCP clients enforce; a \`\`timeout\`\` result just means "call again". - `upload\_image`: Upload a local image and get a CDN URL for img2img or \`\`--sref\`\`. Only available on local \(stdio\) connections. On hosted/remote connections, place an existing image URL directly in the prompt. Place the returned \`\`url\`\` in a \`\`generate\`\` prompt: \`\`generate\("https://cdn.maginary.ai/…/photo.webp reima - `execute\_action`: Run a follow-up action on a completed generation's image. After \`\`generate\`\` → \`\`wait\_for\_generation\`\`, the response's \`\`processing\_result.available\_actions\`\` lists what's possible per slot. Call this tool with one of those action types. Args: generation\_uuid: UUID of the parent generation \(from \`\`g - `create\_account`: Create a new Maginary account for the given email address. Returns the auto-generated password — display it to the user ONCE so they can save it. A verification email is sent; the user must click the link before the account can generate images. After verification, use \`\`manage\_api\_key\(action='create - `create\_wallet\_account`: Create \(or access\) a Maginary account using a wallet signature. Sign the message \`\`Maginary: authenticate \ at \. This does not move funds.\`\` with EIP-191 \`\`personal\_sign\`\` and pass all three values. On success, an API key is returned immediately — no email verification needed. Use - `check\_account\_status`: Check account verification status, credit balance, and API key count. Use this after \`\`create\_account\`\` to poll whether the user has clicked the verification link. Pass \`\`email\`\` + \`\`password\`\` \(from \`\`create\_account\`\`\) for Basic auth, or omit both to use the configured API key. Args: email: Account - `manage\_api\_key`: Create, list, or revoke Maginary API keys \(up to 10 per account\). Auth: pass \`\`email\`\` + \`\`password\`\` for Basic auth \(onboarding\), or omit both to use the configured API key \(normal operation\). Args: action: One of \`\`create\`\`, \`\`list\`\`, \`\`revoke\`\`. name: Key name \(required for \`\`create\`\`\). key\_prefi - `configure\_api\_key`: Activate an API key. Local \(stdio\) servers persist it; hosted does not. Call this after \`\`manage\_api\_key\(action='create'\)\`\` returns a \`\`raw\_key\`\`. On a local server the key is saved to \`\`\~/.config/maginary/api\_key\`\` \(chmod 600\) and survives restarts. On the hosted server \(mcp.maginary.ai\) nothing ca - `get\_products`: List available Maginary products/plans with pricing. No authentication required. Use this to present purchase options to the user. The \`\`novice\_pack\`\` \($10, 150 credits\) is the recommended starting point. Returns: Dict with \`\`count\`\` and \`\`products\`\` — each product carries \`\`id\`\`, \`\`short\_name\`\`, \`\` - `checkout`: Create a Stripe checkout session for purchasing a product. Returns a \`\`checkout\_url\`\` — the user must open it in a browser to complete payment. After payment, credits are provisioned automatically via webhook. \*\*Present the URL exactly as returned, including the \`\`\#fragment\`\` — do not truncate, refo - `get\_balance`: Check remaining credits and uploads for the authenticated account. Args: email: Account email \(for Basic auth\). password: Account password \(for Basic auth\). Returns: Dict with \`\`credits\_remaining\`\` and \`\`uploads\_remaining\`\`. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html