Connect Maginary and your agent gets 16 tools, among them check_account_status, checkout, configure_api_key. It answers at https://mcp.maginary.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 15 September 2026; the last check, on 19 October 2026, succeeded.
AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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 o Inputs: email, password |
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 r Inputs: product_id, email, password |
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 Inputs: api_key |
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 ima Inputs: email |
create_wallet_account | Create (or access) a Maginary account using a wallet signature. Sign the message ``Maginary: authenticate <address> at <timestamp>. This does not move funds.`` with EIP-191 ``personal_sign`` and pass all three values. On success, an API key Inputs: address, signature, timestamp |
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. Ar Inputs: generation_uuid, action_type, parent_image_index, prompt, callback_url |
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 unreque Inputs: prompt, callback_url |
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``. Inputs: email, password |
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 Inputs: uuid |
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 Inputs: name |
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 `` |
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. s Inputs: category, status, include_reserved |
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``, ``r Inputs: action, name, key_prefix, email, password |
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. Re Inputs: query, category, include_reserved |
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`` pr Inputs: file_path, filename |
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 cli Inputs: uuid, timeout_s |
Every block below points at https://mcp.maginary.ai/mcp. Pick your client and copy.
claude mcp add --transport http maginary https://mcp.maginary.ai/mcp
{
"mcpServers": {
"maginary": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.maginary.ai/mcp"]
}
}
}{
"mcpServers": {
"maginary": {
"url": "https://mcp.maginary.ai/mcp"
}
}
}{
"servers": {
"maginary": {
"type": "http",
"url": "https://mcp.maginary.ai/mcp"
}
}
}{
"context_servers": {
"maginary": {
"url": "https://mcp.maginary.ai/mcp"
}
}
}{
"mcpServers": {
"maginary": {
"serverUrl": "https://mcp.maginary.ai/mcp"
}
}
}{
"mcpServers": {
"maginary": {
"url": "https://mcp.maginary.ai/mcp"
}
}
}name: Maginary
version: 0.0.1
schema: v1
mcpServers:
- name: Maginary
type: streamable-http
url: https://mcp.maginary.ai/mcp{
"mcpServers": {
"maginary": {
"httpUrl": "https://mcp.maginary.ai/mcp"
}
}
}{
"mcpServers": {
"maginary": {
"type": "http",
"url": "https://mcp.maginary.ai/mcp"
}
}
}{
"mcpServers": {
"maginary": {
"url": "https://mcp.maginary.ai/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.maginary.ai%2Fmcp&type=streamable_http&id=maginary&name=Maginary
It answered our last check on 19 October 2026 in 680 ms. Over 4 checks since 15 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
16, as returned by the server's own tools/list on 24 September 2026: check_account_status, checkout, configure_api_key, create_account, create_wallet_account, execute_action, generate, get_balance, and 8 more.
It answered our last check on 19 October 2026 in 680 ms. Over 4 checks since 15 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.maginary.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.maginaryai. Endpoint host: mcp.maginary.ai. ARD identifier: urn:air:io.github.maginaryai:mcp:maginary-mcp.
First indexed 15 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.