Skip to main content
Glama
Lynn-hh

io.github.Lynn-hh/armguard-mcp

list_ros_graph

Read-onlyIdempotent

Lists ROS 2 nodes, topics, services, and actions visible to the server, enabling read-only inspection of the available robot graph before planning or executing motions.

Instructions

ROS 2 nodes, topics, services and actions visible to the server. Read-only; you cannot publish or call arbitrary services through this server.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
nodesYes
topicsYes
actionsYes
servicesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the bar is lower, yet the description still adds a non-obvious scope constraint: this server cannot publish or invoke arbitrary services. That prevents a plausible agent error (assuming this tool could trigger ROS services) and is genuine value beyond the structured data. It does not discuss return shape or visibility edge cases (e.g. namespace filtering), which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the resource enumeration front-loaded and the constraint appended, which is the right ordering. Nothing is wasted, though the wording is terse enough that a slightly more explicit verb ('Lists') would have cost no length and improved scanability.

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?

An output schema exists, so return-value explanation is not required, and annotations cover the safety profile. The description supplies the resource scope plus the key capability limit, which is sufficient for an agent to call it correctly. Minor gap: no mention of whether results are filtered by namespace or refreshed live versus cached.

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 tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. Schema coverage is 100% and the empty argument object matches the description's implied no-arg invocation.

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 the specific resource (ROS 2 nodes, topics, services, actions) and the scope qualifier 'visible to the server', which tells the agent this is a discovery/listing operation. The verb is implicit from the name rather than stated, and there is no explicit differentiation from siblings like list_controllers or lookup_transform, though the resource is distinct enough to disambiguate in practice.

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 scope note 'visible to the server' and the read-only constraint imply this is the entry point for enumerating the ROS graph, so usage is inferable. However, there is no explicit 'use this when...' or 'use X instead' routing against siblings such as list_controllers or get_robot_state, which overlap conceptually.

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