Skip to main content
Glama

Server Details

Multi-model AI image and video generator. 14 models behind one OAuth-secured MCP endpoint.

Ownership verified
Status
Healthy
Uptime
67.7% over 63 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
Saga-Labs/dora-mcp
GitHub Stars
0
Server Listing
Dora Video MCP

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a clearly distinct action: listing models, generating images, generating videos, and polling job status. There is a single status-check tool and a single generator per media type, so no plausible misselection occurs.

Naming Consistency5/5

All four names follow a strict snake_case verb_noun pattern: check_job, generate_image, generate_video, list_models. No mixed conventions or vague verbs.

Tool Count4/5

Four tools is on the lean side but each earns its place and the surface is tightly scoped to the generation lifecycle. A few supporting operations (cancel, history, balance) could reasonably exist without bloating it.

Completeness3/5

Core path of list -> generate -> poll is covered, but there is no job cancellation, no history/listing of past generations, and no account/coin balance check despite costs being central to the workflow. Agents can work around these gaps but will hit dead ends for cancellation or credit verification.

Available Tools

4 tools
check_jobA
Read-only
Inspect

Check the status of a generation job. Returns status (pending|done|failed) and result_url when done. Wait at least 30 seconds between polls — generations take 1-5 minutes typically.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds genuinely useful behavior beyond that: the possible terminal states (pending|done|failed), the result_url returned on completion, and the polling latency/duration expectations. Missing only error/retry behavior on a failed job.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with purpose, then return values, then the polling constraint. Every sentence carries distinct information and nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by enumerating return values (status states plus result_url). For a single-param polling tool this is nearly complete; the only unresolved piece is the provenance of job_id and how to handle a 'failed' job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and job_id is the sole parameter, yet the description never explains where job_id comes from (presumably the generate_image/generate_video response). The context makes this inferable, but the definition does not add the meaning the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('check the status of a generation job') and immediately scopes it as a polling/status-check operation, which clearly separates it from the generate_image, generate_video, and list_models siblings. An agent can identify the right tool without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage guidance for polling cadence ('wait at least 30 seconds between polls') and expected duration ('1-5 minutes typically'), which is exactly what an agent needs to avoid hammering the endpoint. It does not, however, state when not to use it or what alternative exists for retrieving results outside this job flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageAInspect

Generate an image. Default model: nano_banana_2 (good quality, ~10 coins, supports reference photo). Use z_image (1 coin) only if the user wants the cheapest possible result. Use nano_banana_pro (18-24) only when the user explicitly asks for face preservation or maximum quality. Default resolution 1K — never use 2K/4K unless the user explicitly asks. If aspect ratio matters and the user did not say, ASK whether they want 9:16 (vertical), 16:9 (horizontal), or 1:1 (square). For multi-character or character-plus-outfit shots, pass extra anchor images in reference_image_urls — Nano Banana 2 / Pro accept up to 7 inputs. Returns job_id; poll check_job until status=done.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
promptYes
resolutionNo1K cheapest; 4K up to 50% more. Default 1K.
aspect_ratioNo
reference_image_urlNoPrimary reference image. Optional. For multi-ref pass reference_image_urls instead or in addition.
reference_image_urlsNoExtra reference images (Nano Banana 2 / Pro accept up to 7 total including reference_image_url). Use for multi-character, face + outfit, style references. Order matters.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, non-destructive, non-open-world. The description adds valuable unsurfaced context: approximate coin costs per model, that reference photos are supported, the 7-input cap, and the async workflow (returns job_id, poll check_job). It does not state failure modes or whether images persist, but the added operational context is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the default action, then layered decisions (model, resolution, aspect ratio, references, polling). Every sentence carries a decision the agent must make; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the return-value workflow (job_id then poll check_job), the default model/resolution, and the reference-image model constraints — enough for an agent to invoke and follow through correctly on a 6-parameter generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, so the description must compensate, and it does: it gives cost/quality tradeoffs for the model enum values, states the default resolution and why not to raise it, and explains the aspect_ratio enum values in plain terms (9:16 vertical, 16:9 horizontal, 1:1 square). It adds meaning beyond the raw enums, though a few enum values (google_nano_banana_edit, gpt4o_image, gpt_image_2) are never characterized.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Generate an image') and immediately differentiates itself from the sibling generate_video by scope. The model-selection preamble makes the tool's role unambiguous without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use rules for each model (nano_banana_2 default, z_image only for cheapest, nano_banana_pro only for face preservation/max quality), a resolution rule (never 2K/4K unless asked), a mandated clarifying question for aspect ratio, and guidance on reference_image_urls for multi-character shots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_videoAInspect

Generate a video. Default model: seedance_1_5_pro at 480p, 8s, no audio (cheapest reasonable quality). Before calling, if the user has not specified them, briefly ASK for: (1) aspect ratio (9:16 vertical, 16:9 horizontal, 1:1 square), (2) duration (4/8/12s), (3) whether they want audio, (4) resolution (480p/720p/1080p) — higher costs more. Skip the questions only when the user already gave you those details or asked for "the cheapest". For character consistency across shots (e.g. a recurring person), pass extra face/body anchor photos in reference_image_urls — Seedance 2 / 2-fast use up to 7 references. MOTION CONTROL: model kling_2_6_motion transfers the motion of a driving video onto the person in your image — pass the person photo in image_url AND the driving clip URL in motion_video_url (both required); set duration to the driving clip length (billed ~11 coins/s, min 3s). Returns job_id; poll check_job until status=done.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
promptYes
durationNo
image_urlNoFirst-frame / primary input image for image-to-video. Optional. For multi-ref, also pass reference_image_urls.
resolutionNo480p cheapest; 1080p ~5x cost. Default 480p.
with_audioNoGenerate sound. SeeDance/Kling support audio — typically doubles cost. Default false.
aspect_ratioNo
motion_video_urlNoDriving/reference VIDEO URL for Motion Control (model kling_2_6_motion only). The motion of this clip is applied to the person in image_url. Required for kling_2_6_motion; ignored by other models. Must be a publicly reachable mp4/mov.
reference_image_urlsNoExtra reference images (Seedance 2 / 2-fast accept up to 7 total including image_url). Use for character face/body anchors, multiple people, style references. Order matters — most important reference first.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only carry the generic readOnly/destructive/openWorld flags; the description adds the substantive behavior an agent needs: cost scaling across resolution and audio, the ~11 coins/s minimum billing for motion control, the required pairing of image_url with motion_video_url, and the async contract (returns job_id, poll check_job until status=done). That is real information beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded — defaults first, then the question protocol, then the special cases — with almost every sentence carrying operational payload. It runs long as a single block and partly duplicates the schema's aspect-ratio and duration enumerations, which keeps it out of the top tier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, no-output-schema, multi-model generation tool, the description covers the missing pieces: defaults, cost tradeoffs, the ask-first decision rule, model-specific parameter requirements, and the polling workflow after job_id is returned. Nothing needed to invoke it correctly is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema coverage at 56%, the description carries much of the load: it names the default model and its 480p/8s/no-audio configuration, explains what each reference parameter is for (character anchors, multi-person, style), and tells the agent to set duration to the driving clip length. A few parameters (aspect_ratio values, duration set) are still only fully specified in the schema, so it is a 4 rather than a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ("Generate a video") and immediately reveals it is a multi-model dispatcher with defaults, which separates it from generate_image and check_job. The opening sentence is mostly a restatement of the tool name, so it just misses a 5, but the follow-on specifics make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes agent behavior: ask the user for aspect ratio/duration/audio/resolution before calling, skip the questions when details are already given or the user asked for "the cheapest." It also routes a specific sub-case (character consistency, motion control) to the right parameters and model, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_modelsA
Read-only
Inspect

List Dora generation models, cheapest-first, with per-call coin cost. Call this when the user asks what models are available, when cost matters, or when you want to verify a model name. Defaults: nano_banana_2 for images, seedance_1_5_pro for videos — only step up if the user explicitly asks for higher quality, face preservation, or audio.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely new behavior: results are ordered cheapest-first, each entry carries a per-call coin cost, and the default model choice per media type. It does not describe result volume or whether the list is exhaustive, which is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with what the tool returns, then when to call it, then the default/escalation policy. No filler and no repetition of the title or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with no output schema, the description covers everything needed: what is listed, how it is ordered, what each entry contains (coin cost), and how to use the result to pick a model. Safety is already carried by annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema baseline is 4. The description still contributes model-level semantics (the per-media-type defaults) that shape how the caller should act on the returned list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List Dora generation models') plus two distinguishing traits: cheapest-first ordering and per-call coin cost. An agent can tell this apart from generate_image/generate_video/check_job at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names three triggering conditions (user asks what models exist, cost matters, verifying a model name) and gives an escalation rule with named defaults (nano_banana_2 for images, seedance_1_5_pro for videos) plus the condition for stepping up. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcheck_job
    • First observedgenerate_image
    • First observedgenerate_video
    • First observedlist_models

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.