Skip to main content
Glama

Server Details

Agent-first image hosting — upload images and get instant CDN URLs.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: delete, get metadata, list, rescale Imgur images, transform, and upload. No two tools overlap in purpose, making selection unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., delete_image, list_images) using snake_case, ensuring predictability and readability.

Tool Count5/5

With 6 tools, the set is well-scoped for an image management service, covering core operations without being excessive or insufficient.

Completeness5/5

The tools cover the full lifecycle: upload (create), get (read), list (read many), delete, plus transform and a rescue feature. No obvious gaps for the intended domain.

Available Tools

8 tools
delete_imageAInspect

Permanently delete one PixelVault image by id. Maps to DELETE /v1/images/:id. Requires a PixelVault API key sent as a Bearer token in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesImage id to delete, e.g. img_abc123
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the destructive nature ('Permanently delete') and auth requirement, but does not mention error handling, id validation, or potential side effects, which would be useful.

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?

The description is three sentences: purpose, REST mapping, and auth. It is front-loaded with the main action and contains no unnecessary words or repetition.

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?

Given the tool's simplicity (one required parameter, no output schema, destructive operation), the description covers purpose, mechanism, and auth. It lacks details on error responses or return format, but is sufficient for use.

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 coverage is 100% with the 'id' parameter well-described in the schema ('Image id to delete, e.g. img_abc123'). The description adds no new information about parameters, so baseline score applies.

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: 'Permanently delete one PixelVault image by id.' It distinguishes from sibling tools (get_image, list_images, upload_image) by specifying deletion, and includes the REST mapping and auth requirement, leaving no ambiguity.

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?

The description implies usage context (deleting an image) but does not explicitly state when to use vs alternatives or what conditions apply (e.g., image must exist). However, for a simple delete operation, the context is clear enough.

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

get_imageAInspect

Get metadata (CDN URL, size, MIME type, dimensions) for one PixelVault image by id. Maps to GET /v1/images/:id. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesImage id to fetch, e.g. img_abc123
Behavior4/5

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

No annotations exist, so description carries full burden. Discloses auth requirements, response contains metadata, and CDN URL supports transforms (but defers to transform tool). No side effects mentioned, which is appropriate for a read-only operation.

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?

Description is somewhat verbose but all sentences are informative: purpose, endpoint, auth, transforms, alternative tool, doc link. Front-loaded with main purpose. Could be slightly trimmed but overall efficient.

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 simple 1-param tool with no output schema, description is quite complete: purpose, usage, auth, transforms, alternative. Does not detail error cases but sufficient for correct invocation.

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 coverage is 100% (single `id` param well-described in schema). Description adds context about auth and transforms but does not add new semantics to the parameter beyond what schema provides. Baseline 3 applies.

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 states it gets metadata (CDN URL, size, MIME type, dimensions) for one image by id, with a clear verb+resource+scope. Distinguishes from siblings like `list_images` and `transform_image`.

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?

Provides when to use (get metadata/CDN URL) and mentions alternative tool (`transform_image`). Includes auth requirement and endpoint. Lacks explicit when-not-to-use scenarios but context is clear.

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

list_imagesAInspect

List images in your PixelVault project, most recent first. Maps to GET /v1/images with pagination. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
per_pageNoItems per page (default 20, max 100)
Behavior5/5

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

No annotations provided, so description fully covers behavior: it's a read-only GET, requires auth, returns paginated results with CDN URLs that support transforms. No contradictions or hidden traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but somewhat lengthy, especially the detailed CDN transform examples. Could be more concise by linking to docs. However, it is structured front-loaded with core purpose.

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?

With no output schema, the description covers auth, endpoint, sorting, pagination, and response features (CDN transforms). It lacks explicit return field details, but the transform context partially compensates. Still, some gap exists.

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 already describes page and per_page well (100% coverage). Description adds 'paginated' and sorting order but no parameter-level insights beyond schema. Baseline 3 is appropriate.

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 it lists images in the PixelVault project, most recent first, mapping to GET /v1/images with pagination. This is distinct from siblings like delete_image, get_image, etc.

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?

It specifies the required auth (API key as Bearer token) and mentions pagination, but does not give explicit when-not-to-use or alternatives beyond referencing transform_image for building URLs. Nonetheless, the context is clear for a list operation.

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

rescue_imgurAInspect

Scan a web page for hotlinked Imgur images and return a PixelVault rescue URL for each — a proxy that lazily rehosts the image on first request, keeping it working through the UK Imgur block. The anonymous rescue tier is a durable ~30-day edge cache (see cache_ttl_days in the result), not permanent storage. Maps to POST /v1/imgur-scan (server-side page fetch; no API key required). Provide page_url (a public https:// page). Drop each returned rescue_url into your HTML to rehost on first request.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_urlYesPublic https:// URL of a page to scan for hotlinked Imgur images.
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses key behavioral traits: the rescue is a proxy that lazily rehosts, the anonymous tier is a ~30-day edge cache (not permanent storage), the tool maps to POST /v1/imgur-scan, and no API key is required. This provides sufficient transparency about the tool's operation and limitations.

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?

The description contains multiple sentences but packs essential information efficiently. It starts with the main purpose, then explains the mechanism and limitations, and ends with usage instructions. Each sentence adds value, though some could be combined. Overall, it is well-structured without excessive verbosity.

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?

Given only one parameter (with full schema coverage) and no output schema, the description covers the core functionality, usage, and result details (including `cache_ttl_days`). It does not explicitly mention error cases (e.g., invalid URL, no images found), but for a focused tool with low complexity, this level of completeness is adequate.

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 100% for the single parameter. The description restates the schema's parameter description ('Public https:// URL of a page to scan for hotlinked Imgur images') with only minor additional context about it being 'public'. With full schema coverage, the baseline is 3, and the description adds little extra semantic value.

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 tool scans a web page for hotlinked Imgur images and returns a PixelVault rescue URL. It specifies the action ('scan', 'return'), the resource ('web page for hotlinked Imgur images'), and the outcome ('rescue URL'). The description distinguishes this tool from siblings (which are CRUD/transform on images) by focusing on scanning and rehosting.

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?

The description provides clear usage context: use this tool when you have a public HTTPS page with hotlinked Imgur images affected by the UK block. It tells the user to provide `page_url` and then drop the returned `rescue_url` into their HTML. It does not explicitly exclude other scenarios or mention alternatives, but the unique purpose is well-defined.

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

sign_urlAInspect

Mint a time-limited signed URL for a private image. Maps to POST /v1/images/:id/sign-url. Provide id and optional expires_in (seconds, default 3600). The signature binds the image, so the URL can't be replayed against another image; strip it and the CDN returns 403. Deleting the image revokes its URLs. Requires a PixelVault API key sent as a Bearer token in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesImage id to mint a signed URL for, e.g. img_abc123.
expires_inNoSignature lifetime in seconds (60–2,592,000). Default 3600 (1 hour).
Behavior5/5

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

No annotations provided, so description fully discloses behavioral traits: time-limited, non-replayable, revocation on image deletion, and authentication requirement.

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 informative sentences with no redundancy. Key information is front-loaded.

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?

No output schema, but the description implies the resource (signed URL). Could explicitly state the response format, but the tool's purpose is clear and the description covers essential context.

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 coverage is 100% with good descriptions. The description adds examples and defaults but does not significantly extend semantic meaning beyond the schema.

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 (Mint a time-limited signed URL) and the resource (private image). It distinguishes from sibling tools by specifying the unique functionality.

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?

Provides explicit parameters, defaults, and binding behavior. Lacks explicit instructions on when not to use or alternatives, but the context is clear enough.

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

transform_imageAInspect

Build an on-the-fly transform URL for a PixelVault image (resize, crop, format/quality, AI background removal, blur/sharpen/rotate/flip, brightness/contrast/saturation, and same-project watermark tiling). Provide exactly one of url (a PixelVault CDN URL) or id (an image id, resolved via the API — requires an API key), plus one or more transform params. Returns the ready-to-use CDN URL; the transform is produced and cached on first request. See https://pixelvault.dev/docs#transforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoPixelVault image id (e.g. img_abc123); its CDN URL is resolved via the API. Provide this OR url. Requires an API key when used.
fitNoResize mode. scale-down (default) never enlarges; contain/cover/crop/pad resize to the exact box and may upscale. Only meaningful alongside width/height.
urlNoAbsolute CDN URL of a PixelVault image, as returned by upload_image / get_image / list_images. Provide this OR id.
blurNoGaussian blur (0-250); snapped to the nearest of 10/30/60/120. <=0 is ignored.
flipNoMirror horizontally (h), vertically (v), or both (hv).
sizeNoNamed size preset: s=256px, m=640px, l=1280px, social=1200x630 OG card. Wins over width/height.
tileNoFilename (optionally folder-prefixed, with extension) of another image in the SAME project to tile edge-to-edge as a watermark, e.g. watermark.png.
zoomNoFace-crop tightness 0.0-1.0, only with gravity=face.
widthNoTarget width in px (1..4000). Snapped UP to the nearest allowed step. scale-down never upscales.
formatNoOutput format. auto negotiates WebP/AVIF from the client's Accept header.
heightNoTarget height in px (1..4000). Snapped UP to the nearest allowed step.
rotateNoRotate clockwise; rounded to the nearest right angle (90/180/270).
gravityNoCrop anchor, only with fit=cover|crop: face, left, right, top, bottom, auto, or 'XxY' coords 0.0-1.0. face enables zoom.
qualityNoOutput quality. auto lets Cloudflare choose.
segmentNoAI background removal (BiRefNet): foreground keeps the subject and makes the background transparent. Output is forced to PNG unless an opaque background is set. Not available on anonymous/playground images.
sharpenNoSharpen strength (0-10); snapped to the nearest of 1/3/5.
contrastNoContrast multiplier 0-2 (1=no change); snapped to 0.5/0.75/1.25/1.5/2.
backgroundNoFill color behind a removed (segment) or padded (fit=pad) background: hex (#ffaa00), rgb()/rgba(), or a common CSS color name. No effect otherwise.
brightnessNoBrightness multiplier 0-2 (1=no change); snapped to 0.5/0.75/1.25/1.5/2.
saturationNoSaturation multiplier 0-2 (1=no change, 0=grayscale); snapped to 0/0.5/1.5/2.
Behavior4/5

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

With no annotations provided, the description bears full burden. It discloses that the result is a CDN URL, that the transform is produced on first request and cached, and that using 'id' requires an API key. It lacks some details like whether it's destructive (it's not), but overall provides good transparency.

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?

The description is two sentences plus a link, very concise and front-loaded with the tool's purpose and essential usage. Every part adds value without redundancy.

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?

Given the tool has 20 parameters and no output schema, the description provides a useful overview and usage pattern. It points to external docs for details. While it may not cover every nuance, it is sufficiently complete for an agent to understand when and how to invoke the tool.

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 coverage is 100%, so baseline is 3. The description adds context by summarizing categories and the requirement to provide exactly one of url or id, but individual parameters are well-described in the schema. The description does not add substantial new meaning beyond the schema.

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 it builds an on-the-fly transform URL for PixelVault images, listing many transform operations. It distinguishes itself from sibling tools which are CRUD operations, making the tool's purpose very specific and clear.

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?

The description explicitly says to provide exactly one of 'url' or 'id' plus one or more transform params, giving clear usage direction. It does not mention when not to use or alternatives, but the sibling tools are sufficiently different, so no exclusion is needed.

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

upload_batchAInspect

Upload many images (1–50) in one call, grouped into a collection — e.g. a CI run or a set of generated variants. Maps to POST /v1/images/batch. Each item is data (base64) or source_url (server-fetched, SSRF-guarded), with optional filename/metadata. Set visibility: "private" to get a signed URL per image (free plan: up to 100 private images) instead of a public CDN URL. Optional type/name (idempotent by (type, name)), expires_in (image TTL), sign_expires_in (signature lifetime), and collection metadata. Partial-failure tolerant: each returned item has its own ok. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoIdempotency key — re-running with the same (type, name) upserts the same collection.
typeNoCollection type/discriminator (e.g. ci_build, generation). Default 'batch'.
imagesYes1–50 images to upload into the collection.
metadataNoFreeform collection metadata, e.g. { commit, pr_number, branch }.
expires_inNoImage deletion TTL in seconds (60–2,592,000). Omit for permanent.
visibilityNo'private' returns a signed URL per image (free plan: up to 100 private images); 'public' returns a plain CDN URL. Default 'public'.
sign_expires_inNoSignature lifetime for private URLs in seconds (60–2,592,000, default 7 days).
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses authentication requirements (Bearer token), partial-failure tolerance, idempotency via (type, name), visibility and signed URL implications, TTLs, free plan limits, and transform capabilities on returned URLs – very comprehensive.

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?

Description is fairly long but each sentence adds value. Front-loaded with core purpose and then details. Could be slightly more concise, but well-organized overall.

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?

Given 7 parameters, 100% schema coverage, and no output schema, the description covers auth, limits, idempotency, partial-failure, and output format hints (each item has 'ok', CDN URL with transforms). Missing full response structure but adequate.

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%, but description adds significant context: explains idempotency for name/type, data vs source_url for images, visibility implications and free plan limit, TTL ranges, and collection metadata purpose. Enhances understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads many images in one call grouped into a collection, with specific verb and resource. It implicitly distinguishes from the sibling 'upload_image' by specifying batch upload, but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides examples of when to use (e.g., CI run, generated variants) and notes partial-failure tolerance, but lacks explicit when-not-to-use or direct comparison with sibling tools like upload_image.

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

upload_imageAInspect

Upload an image to PixelVault and get an instant CDN URL. Maps to POST /v1/images. Provide exactly one of source_url (a public http(s) URL the server fetches) or data (base64-encoded bytes); optional folder, filename, and expires_in (seconds, for an auto-expiring image). Max 5 MB; JPG/PNG/GIF/WebP/AVIF/SVG. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoBase64-encoded image bytes (data URLs accepted). Provide this OR source_url.
folderNoOptional folder/path prefix for the image.
filenameNoOptional original filename, e.g. photo.png.
expires_inNoOptional time-to-live in seconds. The image is auto-deleted after this many seconds (must be 60–2,592,000, i.e. 1 minute to 30 days). Omit for a permanent image.
source_urlNoPublic http(s) URL of an image to fetch and upload. Provide this OR data.
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It reveals the HTTP method and endpoint (POST /v1/images), file size limit (5 MB), allowed formats (JPG/PNG/GIF/WebP/AVIF/SVG), authentication method (Bearer token), and auto-expiry behavior. It does not cover error responses or rate limits, but the disclosed traits are sufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the primary purpose, but it includes a lengthy and detailed explanation of transform capabilities via CDN query parameters and the transform_image tool. This information, while relevant for overall workflow, is not essential for the upload action itself and makes the description longer than necessary, reducing conciseness.

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?

Given no output schema, the description mentions the return of a CDN URL and its transform capabilities, which is sufficient. It covers constraints (size, formats, auth) and the optional auto-expiry. However, it omits details about error handling or response structure beyond the URL, leaving minor gaps. Overall, it provides a solid baseline for a upload tool.

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 description coverage is 100%, yet the description adds significant value beyond the schema. It clarifies the mutual exclusivity of 'source_url' and 'data', explains the 'expires_in' range and behavior (auto-delete, permanent if omitted), and imposes global constraints like max size and allowed formats. This goes well beyond the schema's field-level 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?

The description clearly states 'Upload an image to PixelVault and get an instant CDN URL', using a specific verb and resource. It distinguishes itself from sibling tools by mentioning the transform_image tool for building transform URLs, indicating a clear separation of concerns.

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?

The description provides explicit guidance on parameter selection ('Provide exactly one of source_url or data'), explains optional parameters, and specifies authentication requirements. It references the transform_image tool as an alternative for constructing transform URLs, but lacks explicit when-not-to-use guidance relative to other siblings like delete_image or list_images.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources