Skip to main content
Glama

Server Details

Create and manage trackable QR codes with scan tracking, analytics, and dynamic URL updates.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
silly-geese/quality-qr-mcp
GitHub Stars
0
Server Listing
Quality QR MCP

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 has a clearly distinct purpose with no overlap: analytics for scan data, create for generation, delete for removal, get for details, list for overview, and update for modifications. The descriptions reinforce these unique roles, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent 'quality_qr_verb' pattern (e.g., quality_qr_analytics, quality_qr_create), using snake_case and clear action-oriented verbs. This predictability aids agent navigation and reduces confusion.

Tool Count5/5

With 6 tools, the set is well-scoped for QR code management, covering core CRUD operations (create, get, update, delete), listing, and analytics. Each tool serves a necessary function without bloat or gaps.

Completeness5/5

The tools provide complete lifecycle coverage for QR codes: creation, retrieval, listing, updating, deletion, and analytics. No obvious gaps exist, as all essential operations for managing and tracking QR codes are included.

Available Tools

6 tools
quality_qr_analyticsAInspect

Get scan analytics for a specific QR code. Use this when the user wants to know how many times a QR code has been scanned, see daily scan trends, understand which devices are scanning, or see which countries scans come from. Returns total scans, scans by day, device breakdown (mobile/tablet/desktop), and top 5 countries.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the QR code to get analytics for. Obtain this from quality_qr_list or quality_qr_create responses.
daysNoNumber of days of scan history to retrieve. Default: 30. Capped by plan: Free tier = 7 days max, Pro = 30 days, Business = 365 days.
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 discloses behavioral traits by specifying the return data (total scans, daily trends, device breakdown, top countries) and implies a read-only operation, but lacks details on permissions, rate limits, error handling, or data freshness. It adds useful context but is incomplete for a tool with no annotation coverage.

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 front-loaded with the core purpose, followed by usage guidelines and return details in a single, efficient sentence. Every part adds value without redundancy, making it appropriately sized and well-structured for quick understanding.

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 moderate complexity (analytics retrieval), no annotations, and no output schema, the description is fairly complete: it explains the purpose, usage, and return data. However, it could improve by mentioning authentication needs or plan limitations hinted in the schema, but it covers key aspects adequately for the 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 description coverage is 100%, so the schema already documents both parameters (id and days) thoroughly. The description does not add any parameter-specific information beyond what's in the schema, such as format examples or additional constraints. Baseline 3 is appropriate as the schema does the heavy lifting.

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 with specific verbs ('Get scan analytics') and resources ('for a specific QR code'), and distinguishes it from siblings by focusing on analytics rather than creation, deletion, retrieval, listing, or updating of QR codes. It explicitly mentions what data is returned, making the purpose distinct and well-defined.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: 'when the user wants to know how many times a QR code has been scanned, see daily scan trends, understand which devices are scanning, or see which countries scans come from.' This clearly outlines the specific use cases, helping the agent choose this over alternatives like quality_qr_get for basic info or other siblings for different operations.

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

quality_qr_createAInspect

Create a new trackable QR code saved to your Quality QR account. Use this when the user wants to generate a QR code for a URL, WiFi network, contact card, calendar event, phone number, email, SMS, restaurant menu, app download link, or social media profile. The QR code is persisted with scan tracking and analytics. Returns an inline SVG image of the QR code.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoType-specific structured data. Use instead of 'content' for complex types. WiFi: {ssid: string, password?: string, encryption?: 'WPA'|'WEP'|'nopass', hidden?: boolean}. vCard: {firstName: string, lastName: string, email?: string, phone?: string, mobile?: string, organization?: string, title?: string, website?: string, address?: {street?, city?, state?, zip?, country?}}. Event: {title: string, startDate: string (YYYY-MM-DD), startTime?: string (HH:mm), endDate?: string, endTime?: string, location?: string, description?: string, allDay?: boolean}. Social: {platforms: [{name: string, url: string, label: string}], profileName?: string, bio?: string}. Email: {to: string, subject?: string, body?: string}. Phone: {number: string}. SMS: {number: string, message?: string}.
nameNoA human-readable name for the QR code, e.g. 'Office WiFi' or 'Spring Menu 2026'. Auto-generated as 'MCP: {type} {date}' if omitted.
typeYesQR code content type. 'url' for websites, 'wifi' for network credentials, 'vcard' for contact cards, 'email' for pre-filled emails, 'phone' for tap-to-call, 'sms' for pre-filled texts, 'text' for plain text, 'event' for calendar events, 'pdf' for document links, 'menu' for restaurant menus, 'app-store' for app download links, 'social' for social media profiles.
designNoOptional visual customization for the QR code.
contentNoThe content to encode. Required for url, text, pdf, menu, and app-store types. For url types, provide the full URL including https://. For other types, use the 'data' parameter instead.
isDynamicNoSet to true to create a dynamic QR code whose destination URL can be changed later without reprinting the physical code. Only works for URL-based types (url, pdf, menu, app-store, social). Default: false.
Behavior3/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 does mention persistence ('saved to your Quality QR account'), scan tracking and analytics, and returns an inline SVG image, which covers key behavioral aspects. However, it doesn't address potential rate limits, authentication requirements, error conditions, or whether this is an idempotent operation, leaving some gaps for a mutation tool.

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 perfectly front-loaded with the core purpose in the first sentence, followed by usage guidance and behavioral details. Every sentence earns its place: the first states what it does, the second when to use it, and the third covers persistence and return format. No wasted words or 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?

For a creation tool with no annotations and no output schema, the description does well by covering purpose, usage context, persistence behavior, and return format. However, it could be more complete by addressing authentication requirements, error handling, or limitations (e.g., file size limits for certain content types). The lack of output schema means the description should ideally mention more about the response structure beyond 'inline SVG image'.

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 documents all 6 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions the tool creates QR codes for various types, which aligns with the 'type' parameter, but provides no additional semantic context about parameters 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 ('Create a new trackable QR code'), the resource ('saved to your Quality QR account'), and distinguishes from siblings by specifying this is for creation with persistence and analytics, unlike get/list/update/delete/analytics tools. It provides specific use cases (URL, WiFi, contact card, etc.) that make the purpose concrete.

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 states 'Use this when the user wants to generate a QR code for...' followed by a comprehensive list of content types, providing clear context for when to invoke this tool. However, it doesn't mention when NOT to use it or explicitly name alternatives among sibling tools, which prevents a perfect score.

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

quality_qr_deleteAInspect

Permanently delete a QR code from the user's account. Use this when the user wants to remove a QR code they no longer need. The short URL will immediately stop redirecting. This action frees up a plan quota slot and cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the QR code to permanently delete. Obtain this from quality_qr_list or quality_qr_create responses.
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: the immediate effect ('short URL will immediately stop redirecting'), system impact ('frees up a plan quota slot'), and irreversibility ('cannot be undone'). It doesn't mention error conditions or authentication requirements, but covers the most critical aspects for a destructive operation.

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 sentences with zero waste. Each sentence adds distinct value: first states the action, second provides usage context, third details consequences. The description is appropriately sized and front-loaded with the 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?

For a destructive operation with no annotations and no output schema, the description does well by covering purpose, usage context, immediate effects, and irreversibility. It could mention error cases (e.g., invalid ID) or response format, but provides sufficient context for safe use given the tool's complexity.

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 fully documents the single 'id' parameter. The description doesn't add any parameter-specific information beyond what's in the schema, but doesn't need to compensate for gaps. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('permanently delete') and resource ('a QR code from the user's account'), distinguishing it from sibling tools like quality_qr_update (modify) or quality_qr_get (retrieve). It goes beyond the tool name by specifying the permanent nature of the deletion.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool ('when the user wants to remove a QR code they no longer need') and provides important exclusions by noting the action 'cannot be undone.' This helps the agent avoid using it for temporary removal or reversible actions.

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

quality_qr_getAInspect

Get full details of a specific QR code by its ID. Use this when the user wants to inspect a particular QR code's configuration, check its destination URL, view its design settings, or see its current status. Returns all metadata including content, destination, design, scan limits, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the QR code. Obtain this from quality_qr_list or quality_qr_create responses.
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return content ('Returns all metadata including content, destination, design, scan limits, and timestamps'), which is helpful, but lacks details on error handling, authentication needs, rate limits, or whether this is a read-only operation (though implied by 'Get').

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 appropriately sized and front-loaded, with the first sentence stating the core purpose, followed by usage context and return details. Every sentence adds value without redundancy, making it efficient and well-structured.

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 low complexity (one required parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, usage, and return values, but could improve by addressing potential errors or behavioral constraints, which would be especially important since no annotations are provided.

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, so the schema already documents the single parameter 'id' adequately. The description does not add any additional semantic information about the parameter beyond what the schema provides, maintaining the baseline score.

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 specific action ('Get full details') and resource ('a specific QR code by its ID'), and distinguishes it from siblings by specifying it's for inspecting a particular QR code rather than listing, creating, updating, deleting, or analyzing them.

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 context on when to use this tool ('when the user wants to inspect a particular QR code's configuration, check its destination URL, view its design settings, or see its current status'), but does not explicitly mention when not to use it or name specific alternatives among the sibling tools.

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

quality_qr_listAInspect

List QR codes in the user's Quality QR account. Use this when the user wants to see their existing QR codes, find a specific code, or check how many codes they have. Returns ID, name, type, short URL, active status, and creation date for each code.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter results to only QR codes of this type. Omit to return all types.
limitNoMaximum number of results to return. Default: 50, maximum: 100.
offsetNoNumber of results to skip for pagination. Default: 0.
Behavior3/5

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

With no annotations provided, the description carries the full burden. It mentions the return format (ID, name, type, etc.) and implies read-only behavior by using 'List,' but lacks details on permissions, rate limits, or pagination beyond what the schema covers. It adds some context but doesn't fully disclose behavioral traits like error handling or authentication needs.

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 front-loaded with the core purpose in the first sentence, followed by usage guidelines and return details in a second sentence. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

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 moderate complexity (list operation with filtering and pagination), no annotations, and no output schema, the description does well by stating purpose, usage, and return format. However, it could improve by mentioning authentication requirements or error cases, leaving minor gaps in completeness for a tool with no structured behavioral data.

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 documents all parameters (type, limit, offset) thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, such as clarifying filter logic or pagination behavior. Baseline 3 is appropriate as the schema does the heavy lifting.

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 verb ('List') and resource ('QR codes in the user's Quality QR account'), distinguishing it from siblings like create, delete, get, update, and analytics. It specifies the scope as the user's account and lists the returned fields, making the purpose specific and well-defined.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool: 'when the user wants to see their existing QR codes, find a specific code, or check how many codes they have.' This provides clear context and distinguishes it from alternatives like quality_qr_get for retrieving a single code or quality_qr_analytics for usage data.

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

quality_qr_updateAInspect

Update an existing QR code's properties. Use this when the user wants to change where a QR code points to, rename it, or enable/disable it. Destination URL changes only work for dynamic URL-based types (url, pdf, menu, app-store, social). Name and active status can be changed for any QR code type.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the QR code to update. Obtain this from quality_qr_list or quality_qr_create responses.
nameNoNew human-readable name for the QR code.
isActiveNoSet to false to disable the QR code (scans will stop redirecting). Set to true to re-enable it.
destinationUrlNoNew destination URL. Only works for dynamic URL-based types (url, pdf, menu, app-store, social). The physical QR code does not need reprinting.
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining what properties can be updated and the constraints on destination URL changes. However, it doesn't mention important behavioral aspects like authentication requirements, rate limits, error conditions, or what happens when only some parameters are provided. The description doesn't contradict annotations (since none exist), but leaves gaps in behavioral understanding.

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 efficiently structured with two sentences that each earn their place. The first sentence states the purpose and when to use it. The second sentence provides important constraints and clarifications. There's no wasted language or redundancy, and the most important information (what the tool does) comes first.

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?

For a mutation tool with no annotations and no output schema, the description does reasonably well by explaining what can be updated and constraints. However, it doesn't address the response format, error conditions, or authentication requirements. Given that this is a write operation with 4 parameters, the description should ideally provide more complete behavioral context beyond just the update capabilities.

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 documents all parameters thoroughly. The description adds some context about when destinationUrl works ('only works for dynamic URL-based types') and clarifies that name/isActive work for 'any QR code type,' which provides useful semantic context beyond the schema's technical descriptions. This meets the baseline expectation when schema coverage is high.

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 verb ('Update') and resource ('an existing QR code's properties'), and distinguishes this tool from siblings by specifying it's for modifying existing QR codes rather than creating, deleting, listing, getting, or analyzing them. The description explicitly mentions what can be updated: destination URL, name, and active status.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Use this when the user wants to change where a QR code points to, rename it, or enable/disable it.' It also specifies constraints for destination URL changes ('only works for dynamic URL-based types') and clarifies that name and active status changes work for 'any QR code type.' This gives clear when-to-use criteria and limitations.

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.