maginary-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAGINARY_API_KEY | No | Bearer token from app.maginary.ai/dashboard#api-keys. Required for generate, get_generation, and wait_for_generation tools. Catalog tools work without it. | |
| MAGINARY_BASE_URL | No | Override for staging or self-hosted backend. | https://app.maginary.ai/api |
| MAGINARY_MCP_HOST | No | Host interface for the HTTP MCP server. | 0.0.0.0 |
| MAGINARY_MCP_PORT | No | Port for the HTTP MCP server. | 8642 |
| MAGINARY_PUBLIC_HOST | No | Hosted mode only. Sent to the backend as X-Forwarded-Host when MAGINARY_BASE_URL is an internal address. | app.maginary.ai |
| MAGINARY_OAUTH_ISSUER | No | The authorization server named in the protected-resource metadata. | https://app.maginary.ai/o |
| MAGINARY_MCP_LOG_LEVEL | No | Standard Python log level; goes to stderr (stdout is reserved for MCP JSON-RPC). | INFO |
| MAGINARY_MCP_REQUIRE_AUTH | No | Hosted mode only. When on, every /mcp call requires a Bearer token (OAuth token or API key); otherwise the server answers 401. | off |
| MAGINARY_MCP_RESOURCE_URL | No | The server's canonical resource identifier (RFC 8707 audience). | https://mcp.maginary.ai/mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_parametersA | List Maginary prompt-DSL parameters. |
| search_parametersA | Text-search over parameter names, aliases, descriptions, values, examples. |
| get_parameterA | Return the full record for a single parameter (canonical name or alias). |
| generateA | Kick off a generation via POST /api/gens/. Every flag that exists, and its state: Flags, live (35): --ar, --output-count (--1/--2/--3/--4), --seed, --transparent, --sref, --sw, --png, --jpg, --webp, --svg, --2k, --4k, --upscale, --vary, --varysubtle, --varystrong, --panleft, --panright, --panup, --pandown, --zoomout, --mp4, --video-resolution (--480p/--540p/--720p/--1024p/--1080p/--2160p / --4k (4k, Seedance 2 Pro)/--480p24 / --480p24fps/--540p24 / --540p24fps/--720p24 / --720p24fps/--1024p30 / --1024p30fps/--1080p24 / --1080p24fps), --video-fps (--24fps/--30fps/--50fps/--60fps), --video-duration (--4s / --4sec/--5s / --5sec/--6s / --6sec/--8s / --8sec/--10s / --10sec/--12s / --12sec), --flagship, --sora, --soralite, --nanobananapro, --nb2, --gpt2, --gpt2high, --seedance2, --seedance2pro, --demo. Partial (4, only some models honour them): --no, --zoomout2x, --zoomoutexpand, --zoomoutexpand2x. Reserved (2, the parser rejects them): --cref, --cw. Any other --flag is rejected with |
| get_generationA | Fetch a generation by UUID (GET /api/gens/{uuid}/). |
| wait_for_generationA | Poll |
| create_accountA | Create a new Maginary account for the given email address. |
| check_account_statusA | Check account verification status, credit balance, and API key count. |
| manage_api_keyA | Create, list, or revoke Maginary API keys (up to 10 per account). |
| configure_api_keyA | Activate an API key. Local (stdio) servers persist it; hosted does not. |
| get_productsA | List available Maginary products/plans with pricing. |
| checkoutA | Create a Stripe checkout session for purchasing a product. |
| get_balanceA | Check remaining credits and uploads for the authenticated account. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Tools are mostly distinct: parameter discovery, generation lifecycle, account management, and billing each form clear clusters. Minor overlap exists between check_account_status and get_balance, which both report credits_remaining and uploads_remaining, and generate/get_generation/wait_for_generation require careful reading but are sufficiently differentiated.
Most tools follow a clear verb_noun snake_case pattern: list_parameters, get_parameter, create_account, manage_api_key, get_products. The exceptions are the bare verbs generate and checkout, which are still readable but deviate slightly from the otherwise consistent convention.
13 tools is well-scoped for a service that covers prompt-DSL parameter discovery, generation submission and polling, account onboarding, API key management, and purchasing. Each tool serves a distinct functional area without excessive fragmentation or redundancy.
The core workflow is covered end-to-end: discover parameters, generate, poll for completion, fetch results, create an account, obtain an API key, check balance, and purchase credits. Minor gaps include no way to list past generations or cancel an in-progress generation, but these are not fatal to the primary use case.