Skip to main content
Glama

list_gcode_commands

Read-onlyIdempotent

List G-code commands and custom macros accepted by a QIDI 3D printer, then filter results with the contains parameter to find supported commands.

Instructions

Every G-code command and macro this printer accepts, with descriptions where available. Includes QIDI's custom macros (PRINT_START, M4029 levelling, M603/M604 filament handling, CLEAR_NOZZLE, and so on). Filter with contains.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_gcode_commands"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
containsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.1

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description usefully adds that coverage is printer-specific (QIDI macros such as PRINT_START, M4029, M603/M604) and that descriptions exist only 'where available', but it never mentions the default limit of 200 or how to page past a truncated result, which matters for a tool advertised as listing 'every' command.

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 short sentences, front-loaded with what the list contains, then concrete high-value examples of the vendor-specific macros, then the filter hint. No redundant restatement of the tool name and nothing that could be cut without losing information.

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 not be explained, and the tool is conceptually simple. However, the completeness claim ('Every G-code command') conflicts with a silent default limit of 200, and the agent is told nothing about result ordering or how to retrieve the remainder, which is a meaningful gap for a discovery tool.

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 carry the burden. It only says `contains` is a filter, without specifying whether it matches command names, descriptions, or both, and it says nothing at all about the `limit` parameter or its default of 200.

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 clear verb+resource: enumerates every G-code command and macro the printer accepts, with descriptions where available. This is inherently distinguishable from get_gcode_log (executed history) and list_gcode_files (files on disk), though the description never explicitly contrasts with those siblings.

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?

Only guidance given is 'Filter with `contains`', which implies this is a discovery/lookup tool to consult before calling run_gcode or run_macro, but no when-to-use or when-not-to-use statement is made and no alternative is named. Usage is inferred rather than stated.

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