Skip to main content
Glama
cintelis

Ads Optimiser MCP server

Official
by cintelis

Generate an image

adsoptimiser_generate_image

Create ad images from prompts with Grok or Luma, and edit or restyle existing images using reference images. Returns an image URL or job ID.

Instructions

Generate an ad image with Grok (or Luma where enabled). Uses one image generation from the workspace's monthly plan allowance. Usually returns the finished image URL; if it takes longer, returns the job id to check with adsoptimiser_get_job. To edit or restyle existing images pass reference_image_paths (local files, uploaded for you), reference_image_urls or reference_job_ids.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNo
waitNoWait briefly for the finished image (default true). false returns the job id at once.
modelNoModel id from adsoptimiser_list_models. Defaults to grok-imagine-image-2.0.
promptYesWhat to create.
qualityNoGrok Image 2.0 only. low is fastest (about 13s); medium and auto can take 45 to 50s.
resolutionNo
aspect_ratioNoFor example 9:16 (TikTok vertical), 1:1 or 16:9. See adsoptimiser_list_models.
reference_job_idsNoFinished image jobs to use as references instead of URLs.
reference_image_urlsNoImages to edit or use as references (https URLs, for example media_url values).
reference_image_pathsNoLocal image files (absolute paths; png, jpg, webp or gif, max 10 MB each) to upload and edit or use as references.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description discloses real cost behavior ('uses one image generation from the workspace's monthly plan allowance'), the dual return shape (image URL or job id), and that local reference files are uploaded on the caller's behalf. These are exactly the operational facts an agent cannot infer from the schema. It stops short of permissions/failure behavior.

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 sentences, front-loaded with purpose, then cost/return behavior, then the reference-parameter guidance. Every sentence carries distinct information with no filler.

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?

For a 10-parameter, no-output-schema generation tool, the description covers the essentials: what it produces, what it costs, both possible return shapes, and how references work. The job-id fallback path is adequately signposted; only the async polling details are left implicit.

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 80%, so the baseline is 3, and the description adds genuine meaning on top: it groups the three reference_* parameters by intent (edit or restyle) and notes that local paths are uploaded automatically, clarifying path vs URL vs job-id choice. It adds little for seed/quality/resolution, which the schema already documents.

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 ('Generate an ad image') plus the backing models (Grok, Luma), which cleanly separates it from adsoptimiser_generate_video, adsoptimiser_batch_generate and adsoptimiser_run_pipeline. The scope is unambiguous 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?

Explains the edit/restyle case for the three reference_* parameters and routes to adsoptimiser_get_job when generation is slow. It does not contrast against sibling generators (generate_video, batch_generate) or state when to prefer batch over single, so alternatives are only partially covered.

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