Skip to main content
Glama

Server Details

Transform and optimize images by resizing, compressing, and converting across multiple formats. Streamline complex editing workflows using a multi-step pipeline for efficient sequential processing.

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 3.7/5 across 7 of 7 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: analyze (metadata), compress (reduce size), convert (change format), crop (extract region), get_format_info (query options), image_pipeline (chain operations), resize (scale). No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., analyze_image, compress_image) except for image_pipeline which is noun_noun but still clearly indicates an action on images.

Tool Count5/5

7 tools is well-scoped for an image manipulation server, covering core operations without being overwhelming or insufficient.

Completeness4/5

Covers basic operations (resize, crop, compress, convert, pipeline) but lacks some common features like rotating, flipping, or applying filters. The analyze tool only returns size, missing dimensions or format.

Available Tools

7 tools
analyze_imageAInspect

Analyze an image

Fetch an image from a URL or base64 and return its metadata (size in bytes). Always free.

Responses:

200: Successful Response (Success Response) Content-Type: application/json

Example Response:

{
  "size_bytes": 1
}
ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits. It notes the tool is free and returns size in bytes, but it does not disclose potential errors, rate limits, authentication requirements, or any side effects. The response example is included but does not address error states.

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 is concise and front-loaded with the core purpose. The inclusion of an example response is useful but slightly verbose. Overall, it is well-structured for quick comprehension.

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 (1 parameter, no nested objects, no output schema), the description adequately covers the return structure (size_bytes) and source types. However, it lacks error handling details and contextual guidance among siblings, which slightly reduces completeness.

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?

The input schema has 100% coverage with a detailed description of the 'source' parameter, leaving little for the tool description to add. The description redundantly mentions fetching from URL or base64, which already appears in the schema. Thus the description adds minimal additional 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's purpose: 'Analyze an image' and 'return its metadata (size in bytes).' It specifies the action (fetching and analyzing) and the resource (image), and distinguishes itself from transformative sibling tools like compress, convert, and crop.

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 mentions 'Always free,' hinting at safe usage, but it does not provide explicit guidance on when to use this tool versus alternatives or when to avoid it. There is no mention of prerequisites or contextual triggers.

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

compress_imageAInspect

Compress an image

Re-encode an image with quality/format options to reduce file size. Supports jpeg, png, webp, tiff, gif.

Responses:

200: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg

Example Response:

"string"

Content-Type: image/png

Example Response:

"string"

Content-Type: image/webp

Example Response:

"string"
ParametersJSON Schema
NameRequiredDescriptionDefault
qNoQuality (1-100). Lower = smaller file. Typical values: 60-80 for web, 85-95 for print. Maps to libvips Q parameter.
stripNoStrip metadata (EXIF, ICC profile, etc.) from the output. Reduces file size slightly.
formatNoOutput format: jpeg, png, webp, tiff, or gif. If omitted, the original format is preserved.
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
deliveryNo
Behavior4/5

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

No annotations provided, so description carries full burden. It explains quality range, typical values, format support, and metadata stripping. Response examples show output types. However, it doesn't clarify lossy vs lossless behavior or error handling.

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?

Description is moderately concise but includes lengthy response examples with repeated JSON and content-type headers for each format. Could be streamlined without losing clarity.

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 4 parameters, 1 required, and no output schema, description provides sufficient context: supported formats, quality guidance, strip option, source types. Covers most use cases, though missing error conditions and size limits.

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?

Input schema has 100% description coverage for all parameters, including quality ranges, format options, and source types. Description does not add new parameter details beyond schema, so baseline score of 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?

Tool name 'compress_image' and description clearly state it re-encodes images to reduce file size using quality/format options. Supported formats are listed, distinguishing it from siblings like resize or crop.

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?

Description implies usage for file size reduction and re-encoding, but does not explicitly compare to alternatives (e.g., convert_image) or state when not to use it. No when-not or exclusion guidance.

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

convert_imageBInspect

Convert image format

Convert an image to a different format (jpeg, png, webp, tiff, gif). Optionally set quality, strip metadata, or enable lossless mode (webp).

Responses:

200: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg

Example Response:

"string"

Content-Type: image/png

Example Response:

"string"

Content-Type: image/webp

Example Response:

"string"
ParametersJSON Schema
NameRequiredDescriptionDefault
qNoQuality (1-100). Maps to libvips Q parameter.
stripNoStrip metadata (EXIF, ICC profile, etc.) from the output.
formatYesTarget format: jpeg, png, webp, tiff, or gif.
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
deliveryNo
losslessNoEnable lossless encoding. Only applies to webp.
Behavior2/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 mentions optional stripping of metadata and lossless mode but does not disclose potential side effects, permissions, or rate limits. The behavioral traits are limited to what is obvious from the name.

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

Conciseness2/5

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

The description is verbose, especially the 'Responses' section with repeated content types and example responses. This section is not concise and includes redundant information that could be summarized. Front-loading is adequate but overall efficiency is low.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and no annotations, the description should cover behavior and return values more thoroughly. The response format is confusing (shows JSON string examples but claims image/ content types) and lacks error handling details. Incomplete for a conversion 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 mentioning quality, strip metadata, and lossless mode, which aligns with parameter descriptions in the schema. However, it does not significantly extend beyond the schema's own 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 'Convert image format' and explicitly lists supported formats (jpeg, png, webp, tiff, gif). It distinguishes itself from siblings like compress_image or resize_image by focusing solely on format conversion.

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 implies usage for converting between formats but does not provide explicit guidance on when to use this tool over alternatives (e.g., compress_image). No exclusions or prerequisites are mentioned.

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

crop_imageAInspect

Crop an image

Extract a rectangular region from an image. Specify the top-left corner (x, y) and the dimensions (width, height) in pixels.

Responses:

200: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg

Example Response:

"string"

Content-Type: image/png

Example Response:

"string"

Content-Type: image/webp

Example Response:

"string"
ParametersJSON Schema
NameRequiredDescriptionDefault
xYesLeft edge of the crop rectangle in pixels.
yYesTop edge of the crop rectangle in pixels.
widthYesWidth of the crop rectangle in pixels.
formatNoOutput format: jpeg, png, webp, tiff, or gif. If omitted, the original format is preserved.
heightYesHeight of the crop rectangle in pixels.
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
deliveryNo
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It states the operation, parameters, and response formats (binary with content types). However, it does not mention whether the original image is modified, error conditions, size limits, or performance considerations. Basic transparency is provided, but gaps remain.

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 includes extensive response examples with multiple content types, which adds length. While structured with headers and code blocks, it could be more concise. The core operation is stated upfront, but the examples are somewhat redundant. A mid-range score reflects adequate but not optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers the operation, parameters, and response formats. However, it lacks details on error handling, input validation (e.g., bounds checking), and edge cases (e.g., unsupported formats). The response examples partially compensate, but the tool is not fully self-contained.

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?

The input schema has 100% description coverage for all 6 parameters. The description adds little beyond the schema, restating the pixel coordinates and dimensions. The response format examples are helpful but do not significantly enhance parameter understanding. Baseline score of 3 is appropriate given full 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 name and description clearly indicate the tool crops an image to a rectangular region. It specifies the action (crop), the resource (image), and the parameters (x, y, width, height). The sibling tools (resize, compress, etc.) are distinct, making selection unambiguous.

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 explains the crop operation but does not explicitly state when to use this tool versus alternatives like resize_image. There is no when-not-to-use guidance. The usage is implied by the operation, but explicit differentiation would improve clarity.

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

get_format_infoAInspect

Get supported formats and options

Returns supported output formats and their configurable options.

Responses:

200: Successful Response (Success Response) Content-Type: application/json

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries full burden. It describes a read-only retrieval operation with no side effects, which is transparent. However, it lacks details on potential rate limits or access restrictions, but given the tool's simplicity, this is acceptable.

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, front-loaded with the core purpose, and contains no unnecessary information.

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?

The description is complete for a simple query tool with no parameters: it specifies what is returned (supported output formats and configurable options) and includes a response structure note. No output schema exists, but the description suffices.

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 input schema has zero parameters, so the description need not add parameter meaning. Baseline 4 applies as per rules.

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 returns supported output formats and their configurable options, using a specific verb 'Get' and distinct resource 'format info'. It is easily distinguishable from sibling tools that manipulate images.

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 implies usage when format information is needed but does not provide explicit guidance on when to use versus alternatives, nor does it mention any prerequisites or exclusions.

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

image_pipelineAInspect

Run a multi-step image pipeline

Chain multiple operations (resize, compress, convert, crop) in sequence. The image is fetched once, then each operation is applied to the output of the previous one. Max 10 operations per pipeline.

Responses:

200: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg

Example Response:

"string"

Content-Type: image/png

Example Response:

"string"

Content-Type: image/webp

Example Response:

"string"
ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
deliveryNo
operationsYesOrdered list of operations to apply sequentially. Each operation receives the output of the previous one. Max 10.
Behavior3/5

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

With no annotations, the description must cover behavioral traits. It mentions image fetched once, sequential application, max 10 operations, and response content types. However, it omits error handling, failure behavior, authentication needs, or rate limits.

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 is well-structured with headings for responses and examples. It is reasonably concise but contains redundant example response strings (only one 'string' value) that add unnecessary length.

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 two parameters with full schema coverage and no output schema, the description adequately explains pipeline behavior, operation types, and response formats. Minor gaps: no explicit mention of output format beyond content types or how to interpret the binary response.

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% and the description clarifies source formats (URL or base64) and operation parameters with examples. This adds marginal value beyond the schema, meeting the baseline for full 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 clearly states it runs a multi-step image pipeline with operations like resize, compress, convert, crop. It explicitly distinguishes from sibling single-operation tools (e.g., resize_image, compress_image) by emphasizing chaining multiple operations.

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 describes when to use: to chain multiple operations on a single image. The context of sibling tools implies not to use for single operations, but lacks explicit exclusion statements like 'For a single operation, use the corresponding dedicated tool'.

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

resize_imageAInspect

Resize an image

Scale an image by a factor. Use 'scale' for uniform scaling, or 'scale_x'/'scale_y' for independent axes. Values are float factors (e.g. 0.5 = half size).

Responses:

200: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg

Example Response:

"string"

Content-Type: image/png

Example Response:

"string"

Content-Type: image/webp

Example Response:

"string"
ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoUniform scale factor applied to both axes (e.g. 0.5 = half size). Use this for simple scaling; use scale_x/scale_y for independent axes.
formatNoOutput format: jpeg, png, webp, tiff, or gif. If omitted, the original format is preserved.
sourceYesImage source: a public URL (https://...) or a base64-encoded string (optionally as a data URI like data:image/png;base64,...).
scale_xNoHorizontal scale factor (e.g. 0.5 = half width). If only scale_x is given, scale_y defaults to the same value.
scale_yNoVertical scale factor (e.g. 0.75 = 75% height). Optional; defaults to scale_x if omitted.
deliveryNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the scaling behavior and response formats, but lacks disclosure of side effects, destructive potential, or limitations like file size constraints.

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 is relatively concise with clear structure, though the response examples add some verbosity. Every section serves a 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?

For a resize tool with 5 parameters and no output schema, the description adequately explains scaling options and response format. However, it could mention precedence when both scale and scale_x/scale_y are provided or edge cases.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining float factors, default behavior of scale_y (defaults to scale_x), and response format details 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 tool 'Resize an image' and explains scaling factors, distinguishing it from sibling tools like crop, convert, or compress.

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 guidance on when to use 'scale' for uniform scaling versus 'scale_x'/'scale_y' for independent axes, but does not explicitly compare to or exclude alternatives like crop or convert.

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