Skip to main content
Glama

JPG.now MCP Server

Server Details

Convert JPG images to and from popular formats through MCP-compatible AI clients.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
chrisyau83/jpg-now
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: submitting a conversion, polling a job, browsing the converter catalog, and checking account usage. There is no overlap between the submit/status pair since one creates work and the other reads its result, and the preconditions (converter slug from list_converters) are explicit.

Naming Consistency5/5

All four tools follow a strict verb_noun snake_case pattern: convert_image_url, get_api_usage, get_conversion_status, list_converters. The verbs (convert/get/list) accurately signal intent and are used consistently for their action classes.

Tool Count4/5

Four tools is a tight, well-scoped surface that mirrors the core API workflow without redundancy. It is on the lean side and could arguably add one more submission path, but nothing listed feels wasted.

Completeness4/5

The full lifecycle is covered: discover converters, submit a job, poll status, retrieve a temporary download URL, plus usage/rate-limit introspection. Minor gaps remain—no cancellation of jobs, no batch submission, and no direct local-file upload path (only public URLs), but agents can work around these.

Available Tools

4 tools
convert_image_urlConvert an image from a URLAInspect

Download a publicly accessible image or document URL, submit it to JPG.now using a converter slug, and optionally wait for the result. Private-network URLs and embedded URL credentials are rejected.

NameRequiredDescriptionDefault
widthNo
heightNo
qualityNo
converterYes
source_urlYes
strip_metadataNo
timeout_secondsNo
background_colorNo
wait_for_completionNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare openWorldHint=true, readOnlyHint=false, and non-idempotent, and the description adds a real behavioral constraint beyond them: private-network URLs and embedded URL credentials are rejected. It still omits what happens if the wait times out and whether a pending job is left behind, so it is not fully transparent.

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 front-loaded sentences that describe the pipeline first and the rejection constraint second, with no filler. Every clause carries information an agent needs.

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?

An output schema exists so return values need no explanation, but for a 9-parameter, non-idempotent open-world tool the description should at least cover the resize/quality/metadata options and the async polling path. The security constraint is the only substantive addition.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description carries the full burden and largely fails: only source_url and converter (via 'converter slug') and wait_for_completion (via 'optionally wait') are hinted at. Width, height, quality, strip_metadata, timeout_seconds, and background_color get no meaning at all, and no accepted converter slugs are listed.

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 gives a concrete verb chain (download, submit, optionally wait) tied to a named service and a specific input, so the agent knows exactly what the tool does. It does not name siblings such as get_conversion_status, though 'optionally wait for the result' implies that async path exists.

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?

Usage is implied by 'optionally wait for the result', but the description never states when to set wait_for_completion=false or that the agent should then poll get_conversion_status, nor when to prefer this tool over re-using an existing job. Adequate but leaves the async workflow to inference.

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

get_api_usageGet JPG.now API usageA
Read-only
Inspect

Return the caller's JPG.now API credits, usage, and rate limit.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description usefully enumerates the three data categories returned (credits, usage, rate limit), but adds nothing about auth requirements or whether usage figures are live vs. cached.

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?

A single efficient sentence with the resource front-loaded and zero filler. Nothing could be cut without losing 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?

For a no-parameter read tool with an output schema and full annotation coverage, this is nearly complete. The return shape is deferred to the output schema, which is appropriate; only auth expectations and rate-limit semantics are unaddressed.

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?

Zero parameters, so the baseline is 4. The only semantic hint needed is that 'the caller's' data is resolved from authentication identity rather than a parameter, which the description conveys.

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?

States a specific verb ('Return') and a precise resource ('the caller's JPG.now API credits, usage, and rate limit'), which is unambiguous and clearly distinct from the conversion-oriented siblings. No explicit sibling differentiation, but none is needed given the obvious domain separation.

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?

Usage is only implied — an agent can infer you'd call this to check quota or rate limits before performing conversions, but the description never states when to use it or names an alternative. No exclusions or prerequisites are given.

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

get_conversion_statusGet conversion statusA
Read-only
Inspect

Check a JPG.now conversion job. A completed job includes an absolute, temporary download URL.

NameRequiredDescriptionDefault
job_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely useful behavior — a completed job returns an absolute, temporary download URL, signaling that URLs expire. It omits other states (pending/failed), polling cadence, and whether URL retrieval is separate or included.

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 short sentences with zero filler, and the core purpose is front-loaded before the return-value detail.

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?

An output schema exists, so return structure needn't be explained, and the temporary-URL note is a good addition. But for a status-checking tool, the set of possible job states and the polling/re-check expectation are left unstated, which an agent needs to use it correctly.

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?

Only one parameter, job_id, and schema description coverage is 0%, so the description must carry the meaning. The phrase 'conversion job' implies job_id identifies such a job, but it never says where the id comes from (presumably convert_image_url) or what happens with an invalid id.

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?

States a specific verb and resource — check a JPG.now conversion job — which an agent can distinguish from convert_image_url (which starts a job), get_api_usage, and list_converters. It stops short of naming the sibling it relates to, so differentiation is inferable rather than explicit.

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?

Usage is implied (poll this after kicking off a conversion) and the mention of a completed job hints at repeated checks, but nothing states when to call it, whether polling is expected, or that convert_image_url is the tool that produces the job_id. No exclusions or alternatives are named.

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

list_convertersList JPG.now convertersA
Read-only
Inspect

Search the live JPG.now converter catalog and return valid converter slugs such as png-to-jpg, jpg-to-webp, pdf-to-jpg, and compress-jpg.

NameRequiredDescriptionDefault
limitNo
searchNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only behavior, and the description adds useful context that the catalog is 'live' and that the return values are valid converter slugs, with concrete examples. It does not disclose rate limits, pagination behavior, or authentication, but against the existing annotations the added return-shape detail is valuable.

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 a single front-loaded sentence with no wasted words. It puts the core action and return content first and uses examples efficiently.

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?

An output schema exists, so the description needn't explain return values, and annotations cover read-only safety. However, for a search tool with two parameters and no schema descriptions, the missing parameter guidance leaves an agent without enough information to use search and limit correctly.

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

Parameters2/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 for undocumented parameters. It mentions searching the catalog but does not explain the 'search' parameter or the 'limit' parameter, its default of 50, or its maximum of 100; the slug examples offer only indirect help.

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 states a specific verb and resource: 'Search the live JPG.now converter catalog and return valid converter slugs.' It distinguishes the tool from action-oriented siblings like convert_image_url and get_conversion_status by making clear this is catalog discovery, and it gives examples that concretize the output.

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 the tool is used to discover converter slugs through search, but it never explicitly says when to use this versus alternatives such as convert_image_url. There are no exclusions or prerequisites stated, so the agent must infer the usage context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedconvert_image_url
    • First observedget_api_usage
    • First observedget_conversion_status
    • First observedlist_converters

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.