OpenQR
Server Details
Generate QR codes and create, edit & track dynamic (editable) QR codes with scan analytics — over a hosted MCP server plus a free REST API. 13 tools: generate_qr (no key), create/update/list/delete dynamic codes, get_scans, folders and themes. Free, no watermark.
- 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.
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.
Tool Definition Quality
Average 3.7/5 across 13 of 13 tools scored. Lowest: 2.4/5.
Each tool targets a clear and distinct area: static QR generation, dynamic QR management (CRUD + bulk + scans), folder management, and theme management. No two tools overlap in purpose.
All tool names follow a consistent verb_noun pattern (e.g., create_dynamic_qr, delete_folder, list_themes). Even 'generate_qr' and 'get_scans' fit the pattern with appropriate verbs for their actions.
Thirteen tools cover the full QR code lifecycle without being excessive. Each tool serves a necessary function for the service's stated purpose.
The set covers CRUD for dynamic QR codes, folders, and themes, plus scans and static generation. The only minor gaps are missing update operations for folders and themes, which are not critical for typical workflows.
Available Tools
13 toolsbulk_create_dynamic_qrAInspect
Create up to 200 dynamic QR codes at once. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | Codes to create. | |
| theme | No | A saved theme id or name applied to every code created. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It adds an authentication requirement ('Requires an OpenQR API key'), but lacks details on failure handling, rate limits, or whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place: one states the core function and limit, the other the prerequisite. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description could be more complete by noting expected output, error cases, or behavior when limits are exceeded. It covers the basics but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so baseline is 3. The description itself adds no additional parameter details, but the schema is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create', the resource 'dynamic QR codes', and the constraint 'up to 200 at once', distinguishing it from the sibling tool 'create_dynamic_qr' which likely creates single codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies bulk usage by stating 'up to 200 at once', but does not explicitly state when to use this tool versus alternatives (e.g., single creation with 'create_dynamic_qr') nor gives exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dynamic_qrAInspect
Create an editable (dynamic) QR code whose destination you can change later without reprinting. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Optional label. | |
| theme | No | A saved theme id or name to style the code with. | |
| destination | Yes | The http(s) URL the code should point to. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It discloses that the destination can be changed later, but omits other behaviors such as what the tool returns (e.g., a QR code ID or image), rate limits, or scope of editability. Significant gaps exist 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.
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 filler. Every word adds value, including the prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters and no output schema, the description is moderately complete. It explains the core functionality and a requirement, but does not specify what is returned (e.g., QR code ID, image URL) or how themes/labels affect the output. Slightly incomplete for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description adds no additional semantics for the parameters; it only mentions an API key requirement which is not a parameter. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create an editable (dynamic) QR code' with a specific verb and resource, and distinguishes from siblings like 'generate_qr' (static) and 'bulk_create_dynamic_qr' (bulk). The differentiation is effective.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Requires an OpenQR API key' as a prerequisite but does not explicitly guide when to use this tool vs alternatives like 'generate_qr' for static codes or 'bulk_create_dynamic_qr' for bulk creation. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderCInspect
Create a folder to organise codes. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must disclose behavior. Mentions API key requirement but omits side effects, error states, idempotency, or what happens if folder name already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, but lacks structure and does not cover key info. Conciseness is adequate but at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and minimal annotations, description should fill gaps. It does not explain return values, errors, or relationship to other tools (e.g., codes). Incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has one required parameter (name) with no description. Schema coverage is 0%, and description adds no meaning about name format, constraints, or purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a folder to organize codes, with a specific verb and resource. Distinguishable from siblings like create_dynamic_qr. Could be more explicit about what 'codes' refers to, but still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like list_folders or delete_folder. Only mentions a prerequisite (API key), not usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_themeCInspect
Save a reusable style theme. style is a QR style object (fgColor, bgColor, dotType, cornerSquareType, etc.). Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| style | Yes | QR style JSON (colours, dot/corner shapes, logo, gradient, frame…). |
Tool Definition Quality
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 indicates that the tool saves a theme and requires an API key, but it does not reveal whether creation is idempotent, if it overwrites existing themes with the same name, what happens on error, or any destructive or side effects. The description is insufficient for an agent to anticipate the tool's full behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the main action. Every sentence serves a purpose: stating what the tool does, clarifying the style parameter, and noting the API key requirement. There is no wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, no annotations, and a complex nested parameter (style), the description lacks important contextual details such as the expected return value, error handling, uniqueness constraints for 'name', or the scope of the style object's properties. The description is not complete enough for an agent to fully understand the tool's context and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% description coverage; 'name' has no schema description, and 'style' has a generic one. The tool description adds specific keys to 'style' (fgColor, bgColor, dotType, cornerSquareType, etc.) which provides some additional semantic guidance beyond the schema. However, it does not explain the 'name' parameter, leaving an important aspect undocumented. Overall, the description partially compensates for schema gaps but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Save') and the resource ('reusable style theme'). It also hints at the style object's composition. However, it could be slightly more specific about what 'reusable' implies versus creating a one-off QR code, and it does not explicitly differentiate from sibling tools like update_dynamic_qr or create_dynamic_qr, though the distinct purpose is still discernible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives. It mentions a prerequisite ('Requires an OpenQR API key') but does not explain scenarios where one should choose create_theme over other tools like delete_theme or list_themes, nor does it mention any preconditions or prohibited use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_dynamic_qrAInspect
Permanently delete a dynamic QR code. The short link stops working. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The dynamic code id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses permanent deletion and link deactivation, plus auth requirement. With no annotations, these details are valuable for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with zero waste, front-loading the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter and no output schema, description covers purpose, behavior, and auth fully. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds no extra meaning beyond schema's 'The dynamic code id.' Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Permanently delete a dynamic QR code' with specific verb and resource, and mentions consequence 'short link stops working'. Differentiates from siblings like create_dynamic_qr and update_dynamic_qr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for deletion, and states prerequisite 'Requires an OpenQR API key'. However, lacks explicit guidance on when to use vs alternatives like delete_folder or delete_theme.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_folderAInspect
Delete a folder (its codes are un-filed, not deleted). Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the key behavioral trait that codes are un-filed (not deleted) and mentions the auth requirement. However, it does not detail other consequences like irreversibility or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly stating the action and key effect, plus the requirement. Every word adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter and no output schema, the description covers the main effect (codes un-filed) and a key prerequisite (API key). It is nearly complete but lacks mention of error handling or confirmation of success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (id, string, required) with 0% description coverage. The tool description does not explain what the id parameter represents or any constraints on its value. The agent must infer that it is a folder ID, but no further guidance is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete' and the resource 'folder', and distinguishes from sibling tools by noting that codes are un-filed not deleted. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the requirement of an OpenQR API key, which is a prerequisite, but it does not explicitly state when to use this tool versus alternatives or provide any exclusion criteria. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_themeAInspect
Delete a saved theme. Codes already styled with it keep their look. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses a key behavioral trait: 'Codes already styled with it keep their look.' This adds value beyond the basic delete action. However, it could mention irreversibility or confirmation steps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core action, the second adds behavioral context and a requirement. Well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required param, no output schema), the description covers the essential: action, side effect, and authentication. It marginally lacks discussion of error states or confirmation, but overall is sufficiently complete for a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required string parameter 'id' with 0% description coverage. The tool description does not explain what 'id' represents (presumably the theme ID), adding no semantic value beyond what the schema implies. For a low-coverage tool, the description should explicitly define the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a saved theme' clearly specifies the verb (delete) and resource (saved theme). It also adds a notable side effect (codes keep their look), making the purpose distinct from sibling tools like 'create_theme' and 'list_themes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a prerequisite ('Requires an OpenQR API key') but provides no guidance on when to use this tool versus alternatives like 'delete_dynamic_qr' or 'delete_folder'. It lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_qrAInspect
Generate a static QR code from any text/URL. Returns a PNG image (or SVG markup). Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The content to encode (URL or text). | |
| size | No | Pixel size, 64–2048 (default 512). | |
| theme | No | A saved theme id or name. Applies the theme's colours (SVG); full styling applies to dynamic codes. | |
| format | No | Output format (default png). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it returns a PNG or SVG image, is static, and requires an API key. Without annotations, these details add transparency beyond the tool name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences convey purpose, output, and requirement with zero waste. Front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, output, and API key requirement adequately given no output schema or annotations. Lacks details on error handling or key acquisition but sufficient for simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal extra meaning. Mentions output format and static nature but does not elaborate on parameter behavior beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Generate a static QR code from any text/URL' with specific verb and resource, and distinguishes from siblings (dynamic QR tools) by explicitly calling it 'static'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies prerequisite 'Requires an OpenQR API key', providing clear context. Does not explicitly compare with alternatives like dynamic QR but name and context imply static use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scansBInspect
Get scan statistics for a dynamic QR code. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The dynamic code id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the auth requirement (API key) but fails to disclose whether the operation is read-only, what side effects exist, or any behavioral traits beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Purpose is stated first, followed by auth requirement. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and auth, but lacks details about the return value (e.g., what 'scan statistics' includes). For a simple one-parameter tool without output schema, it is minimally adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (id), and the schema already describes it as 'The dynamic code id.' The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves scan statistics for a dynamic QR code, which is a specific verb+resource. It distinguishes from sibling tools like list_dynamic_qr (listing codes) and create_dynamic_qr (creating codes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It mentions an API key requirement but doesn't explain prerequisites (e.g., needing the dynamic code id from list_dynamic_qr) or when to prefer this over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dynamic_qrAInspect
List your dynamic (editable) QR codes — id, short URL, destination, label and status. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max codes to return, 1–500 (default 200). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions the API key requirement (authentication) and implicitly indicates a read operation via 'list'. However, it does not disclose pagination behavior beyond the limit parameter, response format, or non-destructive nature explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and every word adds value. No redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description covers the main purpose and prerequisite. It mentions returned fields, which helps. Missing explicit mention of response array or empty result behavior, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter, limit, fully described in schema). The description adds no extra meaning beyond the schema for this parameter, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (dynamic QR codes), includes the fields returned (id, short URL, destination, label, status), and distinguishes from siblings like create/update/delete and list_folders/list_themes by specifying 'dynamic (editable) QR codes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates a prerequisite (requires API key). Usage context is clear: when you need to view existing dynamic QR codes. It does not explicitly state when not to use or compare to alternatives, but the purpose is distinct enough from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersAInspect
List your folders (id and name). Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states the operation and required authentication, omitting details like read-only nature, rate limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. The purpose is front-loaded, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless tool, the description covers the return content (id and name) and a prerequisite. However, it could mention if results are paginated or if all folders are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is 100%. The description adds nothing beyond the schema but correctly implies no inputs are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List your folders (id and name)', clearly specifying the verb (list) and resource (folders). This distinguishes it from sibling tools like create_folder or list_dynamic_qr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions the requirement for an API key but does not provide guidance on when to use this tool versus alternatives like list_dynamic_qr. Usage is implied only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_themesAInspect
List your saved style themes (id, name) — apply one by passing its id or name as theme to generate/create/update tools. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It mentions the API key requirement, but does not detail other aspects like read-only nature, pagination, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's purpose and usage context with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately covers the tool's function and output fields (id, name). It could mention more about the response structure but is sufficient for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so baseline is 4. The description adds context about how the returned data (id, name) is used in other tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists saved style themes with id and name, and distinguishes its purpose from sibling tools by mentioning how to apply themes to other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use the tool (to retrieve themes for applying to generate/create/update tools) and mentions the API key requirement, but does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_dynamic_qrAInspect
Edit a dynamic QR code: change its destination, label, custom short link (slug), tags or folder. Pass only the fields you want to change. Requires an OpenQR API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The dynamic code id. | |
| slug | No | Custom short-link back-half (oqr.to/<slug>): 3–48 letters, numbers or hyphens. | |
| tags | No | Replace the code's tags (max 10). | |
| label | No | New label. | |
| theme | No | A saved theme id or name to restyle the code with. | |
| folder_id | No | Move into a folder id, or null to un-file. | |
| destination | No | New http(s) URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates mutation (edit) and partial update behavior, but lacks details on side effects, permissions beyond API key, or whether changes are immediate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first front-loads purpose and key fields, second gives usage hint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main purpose and partial update hint. Lacks response details and error handling, but for a straightforward update tool it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description paraphrases parameter fields but adds no new semantic information beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Edit a dynamic QR code' and lists specific editable fields (destination, label, slug, tags, folder), distinguishing it from sibling tools like create_dynamic_qr and delete_dynamic_qr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description gives explicit guidance: 'Pass only the fields you want to change' and mentions API key requirement, but does not explicitly state when not to use this tool or compare to alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!