Skip to main content
Glama

Get a picture of a project

get_project_preview
Read-onlyIdempotent

Use when the user wants to see a saved project, or you need to describe it: returns a signed URL of the studio's last saved render, valid for an hour, and the PNG inline when include_image_data is true (only on hosts that display image content; elsewhere it costs many tokens for nothing). Nothing to show until the project has been opened and saved once. Do not use for Generate runs; get_generation_preview covers those.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
include_image_dataNoAlso return the image inline as image content

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bytesYes
openUrlYesThe studio page for it
imageUrlYesSigned image URL, valid about an hour; fetch or show it before then
expiresAtYesISO 8601, when imageUrl stops working
projectIdYes
contentTypeYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the annotations: the URL is valid for one hour, inline PNG is only returned when include_image_data is true, and on hosts that don't display images this costs many tokens. It also discloses the empty-state behavior ('Nothing to show until the project has been opened and saved once'). No contradiction with the readOnly/idempotent/destructive annotations.

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 tightly packed sentences cover use case, return value, caveats, prerequisites, and sibling routing. Every sentence adds information, and the main purpose is front-loaded.

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?

The tool has a simple two-parameter interface and an output schema, so the description need not enumerate return fields. It covers when to use it, what it returns, the inline-image token concern, the saved-project prerequisite, and the correct sibling alternative. Nothing essential is missing.

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 schema already documents include_image_data, but the description enriches it by explaining the token-cost and host-display tradeoff. The id parameter is not described in the schema, but the description's reference to 'a saved project' makes its meaning inferable. Overall the description compensates for the 50% schema coverage.

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?

The description states a specific purpose: returning a signed URL for a saved project's last render, with optional inline PNG data. It also explicitly differentiates from get_generation_preview, so an agent can distinguish this tool from the sibling set based on the description alone.

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?

The description explicitly says when to use it ('when the user wants to see a saved project, or you need to describe it') and when not to ('Do not use for Generate runs; get_generation_preview covers those'). It also gives a practical prerequisite: the project must have been opened and saved at least once.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation3/5

Most tools target distinct resources, but several overlapping pairs exist: search/list_projects both find projects by title, fetch/get_project both return project details, and upload_logo_image/request_logo_image_upload are two upload paths. The descriptions help clarify boundaries, but an agent could still misselect.

Naming Consistency4/5

Tool names overwhelmingly follow a clear verb_noun snake_case pattern (create_, list_, get_, update_, delete_). Minor deviations like bare 'fetch' and 'search', plus the mixed '3d' in generate_3d_model vs '3D' in descriptions, keep it from being perfectly consistent.

Tool Count2/5

At 31 tools, this exceeds the 25+ threshold where agent tool selection becomes cognitively heavy. While the server covers a broad platform, several tools are near-redundant and could be consolidated, making the count feel inflated.

Completeness4/5

The surface covers project lifecycle, sharing/publishing, AI generation, uploads, materials, and account/plan management quite thoroughly. Minor gaps exist, such as no direct create_coin_project tool and no deletion for generation runs, but these are workable.

Resources