{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_bv4w2d7ache4","handle":"maginary-mcp","url":"https://wellknown.network/agents/maginary-mcp","links":{"self":"https://wellknown.network/agents/maginary-mcp/record.json","html":"https://wellknown.network/agents/maginary-mcp","markdown":"https://wellknown.network/agents/maginary-mcp/record.md","api":"https://wellknown.network/api/v1/agents/maginary-mcp","status":"https://wellknown.network/api/v1/agents/maginary-mcp/status","claim":"https://wellknown.network/agents/maginary-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/maginary-mcp/claim.json","badge":"https://wellknown.network/agents/maginary-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/maginary-mcp/history","tools":"https://wellknown.network/api/v1/agents/maginary-mcp/tools"},"ard":{"identifier":"urn:air:mcp.maginary.ai:server:maginary-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"maginary-mcp","summary":"AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use.","description":"AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use.","publisher":{"name":"maginaryai","url":null},"homepage":"https://maginary.ai/mcp","repository":"https://github.com/maginaryai/maginary-mcp","version":"0.3.18","license":"MIT","protocols":["mcp"],"tags":["ai","image-generation","llm-tools","maginary","mcp","midjourney","video-generation"],"pricing":null,"endpoints":[{"url":"https://mcp.maginary.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"pypi:maginary-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-15T15:49:34.775004Z","publishedAt":"2026-09-15T15:49:34.775004Z","registryName":"io.github.maginaryai/maginary-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"pypi","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.image-generation","name":"Image Generation","confidence":1,"provenance":"declared"},{"slug":"media.video-generation","name":"Video Generation","confidence":1,"provenance":"declared"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.525,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"}],"categories":["commerce","infra","media","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-11T03:20:44.764Z","lastProbedAt":"2026-10-11T03:20:44.764Z","statusComputedAt":"2026-10-11T03:22:28.208Z","reliability30d":{"probes":88,"successRate":1,"p50Ms":162,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":88,"ok":88,"authBoundaryOk":0,"serviceOk":88,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T03:20:44.764Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":162,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T20:28:48.039Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":159,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T14:26:57.974Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":233,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T08:31:46.296Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":158,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:23:43.965Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:24:51.723Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":169,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:27:07.741Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":170,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:25:24.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T22:24:04.979Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:06.144Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"toolCount":16,"toolsHash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","serverName":"maginary","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_parameters","description":"List Maginary prompt-DSL parameters.\n\n    Args:\n        category: Restrict to one category (e.g. ``composition``, ``video``,\n            ``model``, ``outpaint``"},{"name":"search_parameters","description":"Text-search over parameter names, aliases, descriptions, values, examples.\n\n    Args:\n        query: Substring match, case-insensitive.\n        category: Option"},{"name":"get_parameter","description":"Return the full record for a single parameter (canonical name or alias).\n\n    Args:\n        name: Parameter name with or without leading ``--`` (e.g. ``ar``,\n  "},{"name":"generate","description":"Kick off a generation via POST /api/gens/.\n\n    Args:\n        prompt: The user's words, passed through as-is. Do NOT add flags the\n            user did not ask "},{"name":"get_generation","description":"Fetch a generation by UUID (GET /api/gens/{uuid}/).\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n\n    Returns:\n        The full generation record"},{"name":"wait_for_generation","description":"Poll ``get_generation`` on a backoff until it reaches done / failed.\n\n    Args:\n        uuid: The UUID returned by ``generate``.\n        timeout_s: Return after"},{"name":"upload_image","description":"Upload a local image and get a CDN URL for img2img or ``--sref``.\n\n    Only available on local (stdio) connections.  On hosted/remote\n    connections, place an "},{"name":"execute_action","description":"Run a follow-up action on a completed generation's image.\n\n    After ``generate`` → ``wait_for_generation``, the response's\n    ``processing_result.available_ac"},{"name":"create_account","description":"Create a new Maginary account for the given email address.\n\n    Returns the auto-generated password — display it to the user ONCE so they\n    can save it. A ver"},{"name":"create_wallet_account","description":"Create (or access) a Maginary account using a wallet signature.\n\n    Sign the message ``Maginary: authenticate <address> at <timestamp>.\n    This does not move "},{"name":"check_account_status","description":"Check account verification status, credit balance, and API key count.\n\n    Use this after ``create_account`` to poll whether the user has clicked the\n    verifi"},{"name":"manage_api_key","description":"Create, list, or revoke Maginary API keys (up to 10 per account).\n\n    Auth: pass ``email`` + ``password`` for Basic auth (onboarding), or omit\n    both to use "},{"name":"configure_api_key","description":"Activate an API key. Local (stdio) servers persist it; hosted does not.\n\n    Call this after ``manage_api_key(action='create')`` returns a ``raw_key``.\n    On a"},{"name":"get_products","description":"List available Maginary products/plans with pricing.\n\n    No authentication required. Use this to present purchase options to the\n    user. The ``novice_pack`` "},{"name":"checkout","description":"Create a Stripe checkout session for purchasing a product.\n\n    Returns a ``checkout_url`` — the user must open it in a browser to\n    complete payment. After p"},{"name":"get_balance","description":"Check remaining credits and uploads for the authenticated account.\n\n    Args:\n        email: Account email (for Basic auth).\n        password: Account password "}],"package":{"name":"maginary-mcp","registry":"pypi","observedAt":"2026-10-11T03:23:20.050Z","publishedAt":"2026-09-15T15:49:00.054048Z","latestVersion":"0.3.18"},"toolSurface":{"id":"ts_r8paa5hfv476","endpointId":"ep_ptbekx2jur2d","hash":"78a99a156e662b3d39a2f1d34ab9559e601aea753a4dd1c7f0dbef46ea82e1e2","toolCount":16,"serverName":"maginary","serverVersion":"1.30.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-17T02:26:48.335Z","lastSeenAt":"2026-10-11T03:20:44.777Z","observations":88,"toolNames":["list_parameters","search_parameters","get_parameter","generate","get_generation","wait_for_generation","upload_image","execute_action","create_account","create_wallet_account","check_account_status","manage_api_key","configure_api_key","get_products","checkout","get_balance"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_ptbekx2jur2d","url":"https://mcp.maginary.ai/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T08:31:46.307Z","auth":{"observedAt":"2026-10-10T08:31:47.202Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.maginary.ai/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.maginary.ai/mcp","authorizationServers":["https://app.maginary.ai/o"],"scopesSupported":["generate","read"]},"authorizationServer":{"url":"https://app.maginary.ai/.well-known/oauth-authorization-server/o","issuer":"https://app.maginary.ai/o","grantTypesSupported":["authorization_code","client_credentials","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_post","client_secret_basic"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":false},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-10T08:31:47.522Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.maginary.ai","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-03T11:07:04.000Z","validTo":"2026-12-02T11:07:03.000Z","daysToExpiry":52,"sanCount":1,"fingerprint256":"E1:11:7A:DA:BB:C9:CF:C2:93:EF:B7:DC:43:1D:AB:A2:DA:6D:22:49:87:E2:54:F0:78:32:32:F8:83:18:4F:CD"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"maginary-mcp","url":"https://pypi.org/project/maginary-mcp/","firstSeenAt":"2026-09-09T23:26:33.627Z","fetchedAt":"2026-10-10T04:25:30.189Z","normalizedAt":"2026-10-10T04:25:30.189Z"},{"source":"mcp_registry","key":"io.github.maginaryai/maginary-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.maginaryai%2Fmaginary-mcp","firstSeenAt":"2026-09-17T02:22:59.863Z","fetchedAt":"2026-10-10T15:23:33.318Z","normalizedAt":"2026-10-10T15:23:33.318Z"}]},"firstSeenAt":"2026-09-09T23:26:33.627Z","updatedAt":"2026-10-11T03:23:20.050Z"}