Neurall

MCP server

The same /v3 surface, served as tools an agent can call. Connect it once and anything that speaks MCP can browse the template library, price a generation, render it and hand the file back.

Connecting

The server speaks streamable HTTP at https://api.neurall.io/v3/mcp and authenticates with the same project API key as the REST surface (see Authentication). One block of client config is the whole setup:

mcp client config

{
  "mcpServers": {
    "neurall": {
      "type": "http",
      "url": "https://api.neurall.io/v3/mcp",
      "headers": { "Authorization": "<your API key>" }
    }
  }
}

No Bearer prefix

The Authorization value is the key itself, exactly as issued. A scheme name in front of it changes the string we hash, and every call answers 401.

The tools

Each feature has its own typed tool, so an agent gets argument validation instead of a stack trace. create_generation reaches the same features in packed form, kept for clients that predate the typed tools.

generate_ad
Make an ad from a product page or a description
generate_youtube_thumbnail
Make a thumbnail from a video URL or its subject
generate_self_portrait
Restage a person into a new scene, in 4K
generate_product_shot
Put a product somewhere it has never been
generate_avatar_video
Make a face speak, in a chosen voice
generate_logo_reveal
Animate a logo into a reveal, with sound
generate_object_reveal
Animate a product into a reveal
generate_voiceover
Speak a script in a catalog or cloned voice
create_generation
Run any of the features above in one packed call
get_generation
Check a generation and collect its output URLs
list_generations
Look through everything the project has made
delete_generation
Remove a result and purge its stored assets
list_templates
Browse the tested style library, with previews
get_template_prompt
Take the prompt behind a preview it liked
get_pricing
Ask what a generation costs before spending anything
list_voices
Browse its own voices and the catalog, with previews
get_voice
Look up a voice, or poll one it is cloning
upload_file
Pull an image or an audio file in from a URL
create_upload_url
Send a file from your own disk, without a key of its own
create_voice
Clone a voice from a sample
delete_voice
Delete a cloned voice it no longer needs

How it behaves

Tool calls loop back through the REST routes, so nothing about the account changes shape: the same prepaid balance, the same prices (get_pricing answers before anything is spent), the same concurrency ceiling, the same automatic refund when a generation fails or times out.

Generation tools return immediately with a pending generation; the agent polls get_generation until it lands, exactly like the REST flow on How a generation works. Image renders usually finish in well under a minute and most video in two to three; an avatar video with a long script can take up to 90, so pacing the polls out matters more for an agent than for a person.

Files are the one place agents differ from servers. An agent’s API key lives in its client config, not in its shell, so it cannot send an authenticated multipart upload: create_upload_url exists for exactly that, handing back a presigned URL the agent PUTs the local file to, while upload_file pulls in a file already on a public https URL server-side.

One habit matters more for an agent than for a person: a generation made through the API expires 24 hours after the request. The output URL is signed and the generation itself is reaped at expiresAt, so download the file when it lands rather than bookmarking the URL for tomorrow.

To see what this feels like in practice, the MCP page walks real asks through the tool sequences they produce, renders included.