Skip to main content
Glama
Payware MCP Server

Payware MCP Server

Official
by payware

payware_products_get_product_image

Read-onlyIdempotent

Generate a product QR code or barcode image for merchant use, with options for format, size, border, error correction, and barcode text placement.

Instructions

[Merchant] Generate a QR code or barcode image for a product.

QR Code Options: Format, border, error correction, scale, version Barcode Options: Format, module width, bar height, font size, text location

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "productId": "<productId>"
    },
    "name": "payware_products_get_product_image"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeNoType of image to generateQR
qrScaleNoQR code module size in pixels, irrelevant for SVG (applies when type=QR)
qrBorderNoQR code border size in modules (applies when type=QR)
qrFormatNoQR code image format (applies when type=QR)SVG
barFormatNoBarcode image format (applies when type=BARCODE)SVG
partnerIdNoMerchant partner ID (uses PAYWARE_PARTNER_ID env var as default)partner_12345
productIdYesProduct identifier (starts with 'pr')
qrVersionNoQR code version, higher versions store more data (applies when type=QR)
privateKeyNoRSA private key for authentication (uses environment-specific private key as default)
useSandboxNoUse sandbox environment
barFontSizeNoBarcode font size in pixels (applies when type=BARCODE)
barBarHeightNoBarcode height in pixels (applies when type=BARCODE)
barModuleWidthNoBarcode module width in pixels (applies when type=BARCODE)
qrErrorCorrectionNoQR code error correction level (applies when type=QR)QUARTILE
barHumanReadableLocationNoBarcode text position (applies when type=BARCODE)NONE

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description's 'Generate' wording is consistent with a non-mutating operation. Beyond that, the description adds nothing about authentication (partnerId/privateKey defaults via environment), sandbox behavior, or what the call returns — which matters a lot for an image-generation tool. Context is added only at the level of option categories.

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 the core action in one sentence, followed by two tight option lines. The option listings partly duplicate the 100%-covered schema, which keeps it from being maximally efficient, but there is no filler or rambling.

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?

With 15 parameters, two mutually exclusive modes, and no output schema, the definition is thinner than the tool's complexity warrants. It never says what is returned (binary image, URL, base64, file path) or that credentials have environment defaults, leaving the agent to discover the most important output contract at call time.

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%, so the schema already explains every parameter including the type=QR vs type=BARCODE applicability notes. The description merely restates the option groups (format, border, error correction, scale, version; module width, bar height, font size, text location) without adding defaults, constraints, or interaction rules. Baseline 3 is appropriate.

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: 'Generate a QR code or barcode image for a product,' with the '[Merchant]' scope tag and the productId target making it identifiable. It is distinguishable from image-producing siblings such as payware_products_get_placement_image by explicitly being about a product rather than a placement, though it does not name those siblings directly.

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 — the agent must infer that this is the tool to call when it needs a scannable image for a product. The 'QR Code Options' / 'Barcode Options' split does implicitly communicate the two operating modes and which options apply to each, but there is no when-to-use vs when-not guidance and no mention of the placement or POI QR siblings.

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

Deploy Server

Other Tools