Skip to main content
Glama
Notysoty

SimplyUtils MCP Server

Generate a QR code

generate_qr_code
Read-only

Generate static QR codes from links or text up to 800 bytes. Returns PNG images and SVG markup, with custom colors and error correction.

Instructions

Make a static QR code for a link or text (up to 800 bytes). Returns a PNG image and the SVG markup. Static codes never expire.

Input Schema

NameRequiredDescriptionDefault
textYesLink or text to encode
backgroundNoSix-digit hex color for the background#ffffff
foregroundNoSix-digit hex color for the modules#000000
errorCorrectionNoM

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds meaningful context beyond annotations: static codes never expire, output is a PNG image and SVG markup, and input is limited to 800 bytes. It does not cover authorization, rate limits, or image dimensions, but the key behavioral traits are disclosed.

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 concise sentences. The primary purpose and input scope are front-loaded, followed by return formats and the static-code lifetime. Every sentence adds useful information without waste.

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?

This is a low-complexity generation tool with no output schema, and the description covers return formats, static-code behavior, and input size. Annotations cover the safety profile. The only minor gap is that the errorCorrection parameter remains unexplained in both schema and description.

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 75%, with text, background, and foreground documented in the schema. The description adds the useful 800-byte constraint for text, but does not explain background, foreground, or the errorCorrection enum. Error correction is the only parameter lacking schema description, and the description does not compensate for that gap.

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 states a specific verb and resource: make a static QR code for a link or text. It adds useful scope details such as the 800-byte limit and static nature. Sibling tools are unrelated utility generators, so confusion is unlikely, but it does not explicitly differentiate itself from alternatives.

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 when to use the tool: for encoding a link or text into a static QR code. It does not state when not to use it, nor does it compare it to dynamic QR codes or other alternatives. Sibling tools are unrelated, so guidance is adequate but minimal.

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