Skip to main content
Glama

Get Image

get_image
Read-onlyIdempotent

Fetch full metadata for a single Openverse image record by UUID (license, attribution, source, dimensions). Use after search_images for licensing details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoImage unique identifier
urlNoImage URL
tagsNoAssociated tags
titleNoImage title
widthNoImage width in pixels
heightNoImage height in pixels
sourceNoSource identifier
creatorNoImage creator name
licenseNoLicense type
categoryNoImage category
filesizeNoFile size in bytes
filetypeNoFile format
providerNoSource provider
thumbnailNoThumbnail URL
creator_urlNoCreator profile URL
license_urlNoLicense details URL
license_versionNoLicense version
foreign_landing_urlNoOriginal source URL

Schema Changelog

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

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "e8c5b8d9-4f2a-4c1e-9b3a-2d5e7f1a3b6c"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "category": {
      +      "description": "Image category",
      +      "type": "string"
      +    },
      +    "creator": {
      +      "description": "Image creator name",
      +      "type": "string"
      +    },
      +    "creator_url": {
      +      "description": "Creator profile URL",
      +      "type": "string"
      +    },
      +    "filesize": {
      +      "description": "File size in bytes",
      +      "type": "integer"
      +    },
      +    "filetype": {
      +      "description": "File format",
      +      "type": "string"
      +    },
      +    "foreign_landing_url": {
      +      "description": "Original source URL",
      +      "type": "string"
      +    },
      +    "height": {
      +      "description": "Image height in pixels",
      +      "type": "integer"
      +    },
      +    "id": {
      +      "description": "Image unique identifier",
      +      "type": "string"
      +    },
      +    "license": {
      +      "description": "License type",
      +      "type": "string"
      +    },
      +    "license_url": {
      +      "description": "License details URL",
      +      "type": "string"
      +    },
      +    "license_version": {
      +      "description": "License version",
      +      "type": "string"
      +    },
      +    "provider": {
      +      "description": "Source provider",
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "Source identifier",
      +      "type": "string"
      +    },
      +    "tags": {
      +      "description": "Associated tags",
      +      "items": {
      +        "properties": {
      +          "accuracy": {
      +            "description": "Tag accuracy score",
      +            "type": "number"
      +          },
      +          "name": {
      +            "description": "Tag name",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "thumbnail": {
      +      "description": "Thumbnail URL",
      +      "type": "string"
      +    },
      +    "title": {
      +      "description": "Image title",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "Image URL",
      +      "type": "string"
      +    },
      +    "width": {
      +      "description": "Image width in pixels",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds context about the returned metadata fields and the tool's role in providing licensing details, which is useful beyond annotations. No contradiction.

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?

Two sentences, each with a clear purpose. The first describes the tool's function and input, the second provides usage context. No unnecessary words.

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?

Given the simple tool (single parameter, output schema present) and comprehensive annotations, the description covers the essential aspects: purpose, usage guidance, and return value hints. It is complete for the tool's complexity.

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%, so the description must compensate. It mentions 'by UUID' but does not elaborate on the format or constraints of the 'id' parameter. The example in the schema helps, but the description adds minimal value beyond stating the parameter is a UUID.

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 clearly states the action ('Fetch full metadata'), the resource ('Openverse image record'), and the identification method ('by UUID'). It lists example metadata fields (license, attribution, source, dimensions), distinguishing it from sibling tools like 'search_images' and 'get_audio'.

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 states 'Use after `search_images` for licensing details', providing clear when-to-use guidance and linking to a sibling tool, which helps the agent understand the correct workflow.

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.9/5.0
Disambiguation2/5

Several tools occupy the same functional space: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and validate_claim all answer factual questions from Pipeworx data, and ask_pipeworx_beta is explicitly identical to ask_pipeworx right now. The prediction-market tools also heavily overlap in purpose, as do ai_visibility_check and scan_competitor_ai_presence. Only the Openverse media tools and memory/subscription tools are cleanly distinguishable.

Naming Consistency3/5

All names are lowercase snake_case, but the naming conventions are mixed: verb_noun tools like search_images and resolve_entity coexist with bare verbs like remember, recall, forget, and subscribe, plus noun compounds like entity_profile, polymarket_edges, and bet_research. Subfamilies such as polymarket_* and the audio/image tools are internally consistent, but there is no single predictable pattern across the full set.

Tool Count2/5

37 tools exceeds the 25+ threshold and feels inflated for the surface, especially since several could be consolidated: there are three ask_pipeworx variants and five overlapping prediction-market tools. The Openverse-specific core is only 6 tools, with 31 mostly unrelated Pipeworx and utility tools attached, making the server feel like a grab-bag rather than a purpose-built Openverse integration.

Completeness4/5

Each embedded subdomain covers its main lifecycle well: Openverse has search/get/related for images and audio, memory has remember/recall/forget, subscriptions have subscribe/list/unsubscribe/recent_alerts, and research has ask, grounded, deep_research, entity_profile, compare_entities, resolve_entity, and validate_claim. Minor gaps exist—notably no Openverse video/collection tooling and no explicit memory update—but agents can work around them without hitting dead ends.