Skip to main content
Glama
agentthink

io.github.purinzan/gx3-cli-mcp

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.0

  • Disambiguation4/5

    Each tool targets a distinct analysis question, and the descriptions are detailed enough to tell device tracing, interlock checking, xref, and lint apart. Minor overlap remains between lint and dead_logic, and between trace_device and xref_where_used, but the use cases are still differentiated.

    Naming Consistency3/5

    All names share the gx3_ prefix and snake_case, but they mix verb-first names like list_commands, trace_device, and run_command with noun-first or noun-only names like device_map, dead_logic, lint, and semantic_diff. The set is readable, but the operation/resource order is not predictable enough for a consistent convention.

    Tool Count5/5

    13 tools is within the ideal scope for a domain-specific analysis server, and every tool maps to a distinct inspection, tracing, linting, mapping, diffing, or rendering task. No obvious filler or redundant tools inflate the count.

    Completeness4/5

    The read-only analysis surface is broad: tracing, xref, data flow, lint, dead logic, device/alarm/network maps, diff, and ladder rendering are all first-class, with an escape hatch for anything else. Minor gaps are that prerequisites like xref/index DB builds are not first-class tools, and a section-list facility is only mentioned in ladder_print rather than exposed as its own tool.

  • Average 4.3/5 across 13 of 13 tools scored. Lowest: 3.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    With no annotations, the description must disclose behavior on its own. It reveals a prerequisite (xref DB) and an output convention (repeat the device comment instead of reporting a bare device number). It does not mention whether the tool is read-only, how errors are handled, or the full output shape, but the provided traits are useful and non-obvious.

    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 sentences, front-loads the core purpose, and packs the prerequisite and output instruction without waste. Every clause earns its place.

    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 simple two-parameter lookup tool with no output schema and no annotations, the description covers the essential operational context: what it returns conceptually, how to prepare the environment, and how to format the answer. It omits a fuller return format description, but that is not critical given the simple use case.

    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 root and device. The description adds a minor nuance by tying root to the xref build command, but it does not define what 'POU name and real step' means for the device parameter. This meets but does not exceed the baseline for full schema coverage.

    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 the tool identifies 'writers and readers of a device', which is a specific resource and lookup operation. The 'with POU name and real step' qualification adds scope, and the name 'where_used' reinforces the cross-reference purpose. However, it does not explicitly use a verb like 'list' or 'find', and the phrasing is somewhat jargon-heavy.

    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 gives a clear prerequisite: the xref DB must be built once per project, with an exact command. It does not, however, distinguish when to use this tool versus siblings like gx3_trace_device or gx3_data_flow, nor does it mention 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.

  • Behavior4/5

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

    With no annotations provided, the description carries the full behavioral disclosure burden and does well: it states the tool reads the project, writes a CSV, requires the xref DB, and flags alarms with no reset condition. It does not detail CSV location or overwrite behavior, but the key operational facts are present.

    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?

    Every sentence earns its place: the inventory scope, the answered question, the CSV side effect, the no-reset-condition warning, and the xref DB prerequisite. It is front-loaded with the core purpose and contains no filler.

    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 tool with no output schema, the description gives enough context about output (a CSV) and prerequisites. It does not explain how mode=list versus mode=show changes behavior, but the schema compensates with the enum, default, and device requirement.

    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 description adds no parameter-level explanation; it does not mention mode, root, or device. The schema already describes root and device and gives mode an enum and default, so the agent can invoke the tool correctly, but the description misses the chance to clarify when mode=show is appropriate.

    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 names the resource (alarm and fault devices), the specific analysis (triggers, latch state, timer setpoints, reset conditions), and the user-facing question it answers. It also differentiates itself from ladder-reading tools like gx3_ladder_print by explicitly saying it avoids reading the ladder by hand.

    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?

    It clearly states when to use this tool: when the user needs to know what raises an alarm and how it is cleared, without inspecting the ladder manually. It does not explicitly name alternatives or state when not to use it, so it falls just short of full exclusion guidance.

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

  • Behavior5/5

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

    With no annotations, the description carries the full behavioral burden and meets it well. It explicitly discloses that unknown or partially parsed operations yield unresolved records, that no guessed edge is emitted, that results are conservative, and that device comments appear only when available. This is specific, honest behavior disclosure beyond what the schema provides.

    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 tight sentences deliver the core purpose first, then the shape of successful results, and finally the unresolved-fallback behavior. There is no filler, no repetition of schema details, and every sentence earns its place.

    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 tool with no output schema, the description does a good job explaining what an agent should expect: edge fields, unresolved records, no guesses, and conditional device comments. The main gap is that it doesn't describe the effect of the 'format' parameter or the overall result envelope, though the schema partially covers format via its enum.

    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 schema already documents root, device, and opcode, and format is self-explanatory via its enum and default, so a baseline of 3 is appropriate. The description adds no parameter-level semantics: it does not clarify how 'device' filtering affects edges, how 'opcode' restricts results, or how 'format' changes output. It neither harms nor significantly enhances what the schema already conveys.

    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 states a specific verb and resource: 'Build conservative argument-level source-to-destination value-flow edges.' It is distinct from sibling tools like gx3_xref_where_used or gx3_list_commands by specifying the exact object produced, and the edge-detail clauses remove any ambiguity about what the tool returns.

    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 gives clear context for when the tool would be relevant: anywhere value-flow edges are needed, with a conservative no-guessing policy. However, it never names alternative tools or states when not to use this tool, so an agent must infer selection among the many gx3 siblings rather than being explicitly routed.

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

  • Behavior4/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 for behavioral disclosure. It clearly states that the tool is read-only, returns a table, writes nothing, and requires the index-lite DB to be built first. This is strong disclosure, though it could mention whether empty results are possible or how the output table is structured.

    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 focused sentences with no filler. The main purpose is front-loaded, use cases follow, and the prerequisite command is placed last where it is relevant. Every sentence earns its place.

    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 read-only reporting tool with three optional parameters and no output schema, the description covers purpose, usage, read-only behavior, return shape ('a table'), and prerequisite setup. It could more fully explain the default behavior when `types` is omitted, but the core context an agent needs is present.

    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 baseline is 3. The description adds some context around 'device types' and 'gaps' but does not add meaningful details about the `root`, `types`, or `min_free` parameters beyond what the schema already provides.

    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 names a specific action ('Report'), a specific resource ('per device type ... numbers in use ... free gaps'), and concrete use cases. This clearly differentiates it from sibling tools like gx3_trace_device or gx3_interlock_check without needing to compare schemas.

    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 gives explicit context: use it before adding devices or for project layout inspection. It also warns about the index-lite DB prerequisite with a concrete command. It does not mention alternatives or explicitly say when not to use it, so it gets a 4 rather than a 5.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden. It adds significant value by explaining that 'mutually-exclusive' is sound and 'simultaneous-possible' returns a witness but not a reachability proof. This clarifies the nature of the result and its limits beyond the schema.

    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?

    Two sentences, tightly written, with the core question and the critical soundness caveat front-loaded. Every phrase adds meaning and there is no filler.

    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 there is no output schema, the description provides useful return semantics by mentioning verdicts and witness assignments. It covers the most important caveat (not a reachability proof), which is essential for correct interpretation. Minor gaps include not describing possible error conditions, but overall it is sufficiently complete for this 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 coverage is 100%, so the baseline is 3. The description does not add much parameter-specific detail, though it loosely maps device_a/device_b as coils. The schema already covers root, max_vars, and max_depth adequately.

    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 states a specific action (static satisfiability check) and precise resource (two coils' ON/enable conditions). It clearly distinguishes this from sibling tools like trace, data flow, or lint by focusing on whether two conditions can be true simultaneously.

    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 makes the intended use clear: determine if two coils' ON/enable conditions can co-occur. It also signals a key limitation—'simultaneous-possible' is not a reachability proof—which helps the agent avoid over-trusting the result, though it does not explicitly name alternative tools for reachability analysis.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full transparency burden. It clearly discloses that the tool reads both projects, writes a detail CSV, and does not modify either project. This is strong behavioral disclosure, though it stops short of explaining the CSV location or output format details.

    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 concise and well-structured: outcome first, then matching behavior, then intended use, then side effects. Every sentence adds distinct value with no redundant filler.

    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 two-parameter tool with no annotations and no output schema, the description covers purpose, usage context, structural matching details, side-effect behavior, and project safety. The only notable gap is lack of detail about the output CSV contents or where it is written, but this is not critical for invocation.

    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%, and the parameter descriptions already say 'New project folder or .gx3' and 'Old project folder or .gx3.' The description adds general context about comparing versions but does not enrich the parameter-level semantics beyond what the schema already provides.

    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 states a specific verb ('Compare'), a specific resource ('project rung by rung'), and the outcome ('what was added, removed or changed'). It is clearly distinct from sibling tools like gx3_list_commands or gx3_trace_device.

    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 includes explicit use guidance ('Use it to review what a revision actually did') and explains the matching behavior by stable GUID. It does not explicitly list when not to use it or name alternatives, but the context is clear.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden. It discloses several non-obvious behaviors: MC master-control conditions are folded into enable logic, warnings are produced for multi-OUT-coil devices and rows below conditional jumps, and the output includes per-device comments. This goes well beyond a simple 'trace a device' statement and alerts the agent to important edge cases.

    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?

    Two dense sentences earn their place: the first states core function and algorithmic details; the second adds output expectations and a direct routing instruction to a sibling tool. No filler or repetition exists, and the most important scoping phrase ('from exact ladder topology') appears early.

    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 read-only analysis tool with no output schema, the description covers the key output behaviors: folded enable logic, warning conditions, and comment preservation. It also gives a practical instruction for reporting results. It could be more explicit about the exact output shape or how max_depth/strict_logic affect results, but the description is largely sufficient for an agent to invoke and interpret the tool correctly.

    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 83%, so the structured schema already documents most parameters. The description adds conceptual context for the 'device' parameter (ON/OFF/hold conditions) and 'root' (ladder topology) but does not explain compact, max_depth, or strict_logic beyond the schema. Baseline 3 is appropriate since the schema carries the parameter documentation burden.

    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 names a specific verb ('Trace'), a specific resource ('a device's ON/OFF/hold conditions'), and a specific method ('from exact ladder topology'). It also adds distinctive behaviors—MC master-control folding, warnings for multi-OUT coils and conditional-jump rows—that separate it from generic xref or data-flow tools. This is far beyond a tautological restatement of the tool name.

    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 gives clear usage context: it is for tracing enable conditions from exact ladder topology, not for simply printing rungs. It explicitly directs the agent to use gx3_ladder_print to show the rung rather than describing it in prose. It does not enumerate all sibling alternatives or state explicit 'when not to use' conditions for every sibling, but the guidance is concrete and actionable.

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

  • Behavior4/5

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

    Without annotations, the description carries the disclosure burden. It clearly discloses that the tool rejects mutating commands and demo generation, and that local artifacts are confined to GX3_MCP_OUTPUT_DIR. It does not detail side effects like exit-code handling or logging, but the safe-by-construction framing is transparent enough for an escape-hatch 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?

    Four terse sentences, front-loaded with the purpose and immediately followed by restrictions and routing guidance. Every sentence earns its place: purpose, safety guardrails, artifact confinement, and sibling preference.

    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 no output schema and no annotations, the description covers the key operational constraints an agent needs: allowed command types, forbidden commands, artifact confinement, and preference over siblings. It does not explain what output the command returns or how the agent should parse it, but for a generic escape hatch wrapping a CLI, the presented constraints are more important than return details.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 50%: 'command' and 'root' are described in the schema, while 'args' and 'timeout_seconds' are only structurally defined. The description reinforces that 'command' must be MCP-allowed and read-only, which adds selection semantics beyond the schema. It does not explain how 'args' maps to CLI arguments, but the name plus the overall escape-hatch concept is reasonably self-evident.

    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 identifies a specific action ('run any MCP-allowed, project-read-only GX3 CLI command') and clearly distinguishes it from typed sibling tools by calling itself an 'escape hatch.' It names the resource (GX3 CLI commands) and the constraints, which effectively separates it from the more specialized siblings.

    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 the tool ('when no typed tool fits' is implied by 'escape hatch' plus 'Prefer the typed tools above when one fits'), and also states exclusions: project-mutating commands and local demo generation commands are rejected. This gives clear routing guidance and prevents misuse.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the behavioral burden and handles it well: it warns that output can be large, recommends writing to a file via 'output', and cautions to quote the result verbatim rather than restructure it as JSON. It also reveals the filtering workflow. It could mention whether the operation is read-only or has side effects, but for a rendering tool the key behaviors 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 compact and front-loaded: the core rendering purpose comes first, followed by output-handling guidance and filter options. Every sentence earns its place, with no filler or repetition of schema details.

    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 7-parameter tool with no output schema and no annotations, the description covers the purpose, output form, size concern, file-writing option, and filtering workflow. The schema covers remaining parameter syntax. It is reasonably complete, though it does not spell out the full return contract beyond 'print-text layout'.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/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 each parameter. The description adds value by explaining when to use 'output' (large results) and how to combine 'list_sections', 'section', 'pos_range', and 'device' to emit only the relevant circuit. This goes beyond the bare schema descriptions.

    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 ('Render') and resource ('a program in GX Works3 print-text layout'), and further explains that this is the user-facing text for explaining circuit wiring. It distinguishes itself from other sibling tools by emphasizing verbatim text output, not a JSON dump. This makes the tool's purpose immediately identifiable.

    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 gives clear when-to-use context: this is the output to show a user when explaining how a circuit is wired. It also explains how to narrow output using list_sections, section, pos_range, or device. It does not explicitly name sibling alternatives or state when not to use this tool, so it stops short of a 5.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full behavioral burden and handles it well. It states the tool 'Reads the project and the comm detail CSVs; WRITES its own CSVs under the output directory,' and explicitly disclaims live communication: 'It does not communicate with any device -- everything is read from the project files.' This is unusually transparent about side effects and safety-relevant behavior.

    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?

    Four short sentences, each contributing distinct information: what the tool maps, when to use it, what it reads/writes, and what it does not do. The key behavior is front-loaded and there is no filler or repetition.

    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?

    The definition is complete enough for tool selection and invocation: parameters are simple and fully documented by the schema, and the description explains inputs, outputs, and the non-device-boundary. Since there is no output schema, one could wish for the exact CSV names or a sample of columns, but the existing description compensates reasonably by stating where outputs are written and that the view is aggregated.

    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 baseline applies. The description does not add parameter-specific detail beyond what the schema already says: root is 'Extracted project folder' and prefix is 'Communication prefix (optional).' No extra syntax, defaults, or format guidance is provided.

    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 opens with a specific verb and resource: 'Map how this PLC is wired to everything outside it,' and enumerates the included content (IP addresses, CC-Link and SCON stations, safety relationships). It also clarifies that the tool is about external wiring and ownership, which separates it from sibling tools like gx3_device_map and gx3_data_flow.

    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?

    It gives a clear use case: 'Use it to find which unit or remote station owns a device before assuming the program drives it.' This tells an agent when the tool is appropriate. It does not explicitly name alternatives or exclusion conditions, but the context is specific enough to route usage.

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

  • Behavior5/5

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

    With no annotations, the description carries the full behavioral burden and does so thoroughly. It states that the tool reads the project, writes a CSV under the output directory, excludes network-refreshed devices and explains why, and requires the xref DB. This transparently surfaces side effects and prerequisites beyond the input schema.

    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 efficient and well structured: it opens with the core purpose and examples, then reports output format, side effects, exclusions, and prerequisites. Every sentence adds useful information and there is no redundant or filler content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no output schema and no annotations, the description is remarkably complete: it explains what findings look like, that a CSV is produced, what input is required, and what project elements are intentionally skipped. An agent has enough information to select and invoke the tool, and to interpret its results.

    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 schema covers the single parameter root with a 100% description ('Extracted project folder'), so the baseline is 3. The description references 'Reads the project' but does not add further parameter-level meaning such as path format, supported filesystems, or validation rules. The schema already does the essential work here.

    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 states a specific verb and resource: 'Find logic that can never do anything', and enumerates concrete kinds of dead logic (never-closing contacts, unread coils/words, unmatched SET latches). This makes the tool's purpose unmistakable and distinguishes it from sibling analysis tools like gx3_lint or gx3_interlock_check.

    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 gives clear context for when this tool is appropriate: when searching for dead/unused logic in a project. It also discloses a prerequisite ('Requires the xref DB') and a scope limitation (network-refreshed devices are excluded), which helps an agent decide whether this tool can be used. It does not explicitly name alternatives or say 'use this instead of X', so it does not reach a 5.

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

  • Behavior5/5

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

    With no annotations provided, the description carries full behavioral disclosure. It explicitly states the tool 'Reads the project; WRITES one CSV per check plus a JSON summary into the working directory,' which is a critical side-effect warning. It also adds the advisory nature of findings and the dependency on index/xref DBs, giving the agent essential behavioral context beyond the schema.

    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 three focused sentences that front-load the primary purpose before covering checks, side effects, and prerequisites. Every clause earns its place; there is no filler or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Although there is no output schema, the description explains the return value ('per-check summary with finding counts by severity') and the file artifacts generated (CSVs and a JSON summary). It also covers prerequisites, the advisory interpretation, and the available check list, making it complete for an agent to invoke correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is already 100%, so the baseline is 3. The description adds genuine value by enumerating the check names that map to the 'checks' parameter and clarifying that the run spans the whole project. This helps an agent populate 'checks' meaningfully rather than treating it as an opaque string.

    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 opens with a specific verb and resource: 'Run static review checks over the whole project' and says exactly what is returned ('per-check summary with finding counts by severity'). It enumerates the concrete check categories, which clearly differentiates it from siblings like gx3_dead_logic or gx3_interlock_check.

    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 gives clear context for using the tool—whole-project static review, advisory findings, and a prerequisite ('Needs the index and xref DBs'). However, it does not explicitly name alternatives or state when not to use it, so an agent must infer when to choose gx3_lint over similar static-analysis siblings.

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

  • Behavior4/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 clearly discloses that the tool is read-only and touches no project, and it describes the output shape as a list of commands with one-line summaries. This is sufficient for a simple listing tool, though it could have been slightly richer about potential output formatting or error behavior.

    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 tight sentences: purpose, read-only safety, and use-before-run guidance. Every sentence earns its place, and the most important identifying information is front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter, read-only listing tool with no output schema, the description is complete. It tells the agent what the tool does, that it is safe, what output to expect, and when to invoke it relative to gx3_run_command.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has zero parameters, so there is no parameter behavior to document. The baseline for zero-parameter tools is 4, and the description appropriately avoids inventing parameter-like details.

    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?

    States a specific verb ('List') and resource ('every project-read-only GX3 CLI command this server will run') with a clear output promise ('one-line summary of each'). It also distinguishes itself from sibling tools by explicitly calling out that it does not run commands, separating it from gx3_run_command and the various inspection tools.

    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?

    Provides explicit when-to-use guidance: call this before gx3_run_command when no typed tool fits. It also explains the benefit—seeing what is actually available rather than guessing a command name—and implicitly directs users to use a specific sibling when one fits.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

gx-trace MCP server

Copy to your README.md:

Score Badge

gx-trace MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/agentthink/gx-trace'

If you have feedback or need assistance with the MCP directory API, please join our Discord server