Skip to main content
Glama

Agent Data Tools: Web, documents and search

EXIF, image metadata: camera, date, GPS and size

image_metadata
Read-only

Read an image's metadata from its URL: format (JPEG, PNG, GIF or WebP), width and height, and for JPEG photos the EXIF data: camera make and model, lens, date taken, exposure, aperture, ISO, focal length, orientation, software and the GPS position (latitude, longitude, altitude) when it was recorded. Up to 15 MB. Use to check where and when a photo was taken, verify an upload, or strip-check images before publishing. Example: url=https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic URL of the image

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, non-destructive and open-world, and the description adds genuinely new behavioral context: the 15 MB size ceiling, per-call pricing via x402 USDC or a card key, 25 free calls, failed calls free, and the explicit warning that repeats are charged (which explains the idempotentHint=false). The 'reads or computes only and changes nothing' clause reinforces rather than contradicts the annotations.

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?

Front-loaded with capability, then example, then pricing. Dense but nearly every clause carries information; the pricing/billing sentence is long but material for an agent deciding whether to call. Minor trim possible without loss.

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?

No output schema exists, and the description compensates by enumerating the returned fields (format, width/height, EXIF make/model/lens/date/exposure/aperture/ISO/focal length/orientation/software, GPS lat/lon/altitude) and conditioning GPS on availability. An agent knows exactly what it will get back and under what conditions.

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 only one parameter at 100% schema coverage, the schema already defines 'url'. The description still adds value by specifying the accepted formats (JPEG, PNG, GIF, WebP), the 15 MB limit, and a working example URL, giving the agent confidence about what constitutes a valid input.

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 ('Read an image's metadata from its URL') and enumerates exactly what comes back: format, dimensions, and a detailed EXIF field list including GPS. This is far more specific than the sibling 'url_meta' or 'screenshot' and lets an agent distinguish an image-EXIF reader from a generic web-page metadata tool.

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 three concrete usage scenarios ('check where and when a photo was taken, verify an upload, or strip-check images before publishing') plus a runnable example URL. It does not name an alternative or state when NOT to use it (e.g., use url_meta for HTML pages), so it falls short of the explicit when/when-not bar.

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.