Skip to main content
Glama
brilliantdirectories

brilliant-directories-mcp

Official

getImageDimensions

Read-onlyIdempotent

Probe image URLs to get width, height, format, aspect ratio, and orientation. Supports batch mode for up to 50 images at once.

Instructions

Probe an image URL and return its dimensions + orientation. - Wrapper-native synthetic tool. Range-GETs the first 64KB of an image URL and parses JPG/PNG header bytes to return width, height, format, aspect_ratio, and orientation (landscape | portrait | square). Does NOT proxy to BD. Used by content-creation skills to verify image orientation before committing to a feature-image field (post_image, cover_photo, hero_image).

Batch mode — preferred for 2+ candidates: pass urls (comma-separated, up to 50) instead of url. All URLs probe in parallel; the response is one envelope { status: "success", count, results: [{ url, status, message }, ...] } in input order. A 404/timeout/parse failure is that URL's own status: "error" entry — it never breaks the batch or the other results.

Caller contract: filter candidate URLs to .jpg / .jpeg / .png BEFORE calling. WebP / GIF / AVIF are unsupported — the parser returns { status: "error", message: "unsupported image format..." } as a defense-in-depth fallback, but callers must not rely on it; skip non-JPG/PNG extensions outright per Rule: Image dimensions. Any error response (404, timeout, parse fail, unsupported format) means drop the candidate and pick another.

See also: Rule: Image dimensions, Rule: Image dedup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoSingle bare canonical image URL (e.g. `https://images.pexels.com/photos/<id>/pexels-photo-<id>.jpeg`). Must respond with HTTP 200/206 to a Range request for the first 64KB. Provide `url` OR `urls`.
urlsNoBatch mode: comma-separated bare image URLs, up to 50. Probed in parallel; one response carries per-URL results in input order — a failed URL is its own error entry and never breaks the batch. Preferred whenever vetting 2+ candidates.
Behavior5/5

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

Annotations indicate readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. Description adds significant context beyond annotations: it is a wrapper-native synthetic tool, Range-GETs first 64KB, parses JPG/PNG headers, does not proxy to BD. Also explains batch mode behavior (parallel probing, per-URL error handling) and unsupported format fallback. No contradiction with 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?

Well-structured with clear sections (main purpose, batch mode, caller contract). Information is front-loaded. While some details could be tightened, the length is justified given the complexity of batch mode and error handling. Slight redundancy in 'Rule: Image dimensions' reference could be shortened.

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?

Despite no output schema, description thoroughly explains return values (width, height, format, aspect_ratio, orientation) and batch response envelope. Covers error scenarios (404, timeout, parse fail, unsupported format) and how to handle them. Complete for a probing tool with no nested objects.

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

Parameters5/5

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

Schema coverage is 100% (both parameters described in schema). Description adds substantial meaning: for `url` specifies it must respond to Range request for first 64KB and be a canonical image URL; for `urls` explains batch mode details (comma-separated, up to 50, parallel probes, response envelope format in input order, failure isolation). This exceeds the schema's descriptions.

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?

Description clearly states 'Probe an image URL and return its dimensions + orientation'. Specific verb and resource. Distinguishes from sibling tools by specifying its niche use in content-creation skills, which no other sibling appears to cover.

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 guidelines: when to use (verify image orientation before committing to feature-image fields), batch mode preference for 2+ candidates, caller contract to filter to .jpg/.jpeg/.png, and error handling instructions. Also references related rules ('see also'). Provides clear when-to-use and when-not-to-use guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brilliantdirectories/brilliant-directories-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server