Skip to main content
Glama
doer0312

ROS 2 Workspace Inspector MCP

by doer0312

inspect_interfaces

Parse .msg, .srv, and .action files in a ROS 2 package to validate syntax and classify type references, optionally filtering by interface name, without requiring a build or import.

Instructions

Statically parse .msg, .srv, and .action files in one package selected by name or relative path, optionally filtering by interface_name. It validates local syntax and classifies type references without ROS generators, imports, builds, or file changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
package_nameNo
relative_pathNo
interface_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully discloses that the tool is read-only ('without... file changes'), performs local validation, and classifies type references without requiring external tooling. This addresses key safety aspects, though it does not detail error behavior or output specifics (which might be covered by the output 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 two concise sentences with no redundant information. The main action and scope are front-loaded in the first sentence, and the second sentence efficiently adds the no-side-effects guarantee.

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

Completeness4/5

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

Given the tool's moderate complexity and the existence of an output schema, the description covers the essential context: input selection methods, optional filtering, and the side-effect-free nature of the analysis. It lacks some details about when to prefer relative_path over package_name, and the meaning of 'classifies type references' is not elaborated, but overall it is sufficiently complete for an agent to understand the tool's role.

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

Parameters3/5

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

The input schema provides only parameter names and types with 0% description coverage. The description compensates by explaining that package_name or relative_path are alternative selectors and interface_name is an optional filter, which adds meaning beyond the schema. However, it does not provide detailed semantics for each parameter, such as mutual exclusivity, path formats, or exact matching behavior, leaving some gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Statically parse') and the resource ('.msg, .srv, and .action files') within a single package, selected by name or relative path. This explicitly distinguishes it from siblings like inspect_package by focusing on interface definitions and by noting the lack of builds or imports.

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 clearly conveys when to use this tool: for static, side-effect-free parsing and validation of interface files, as it explicitly notes operating 'without ROS generators, imports, builds, or file changes'. However, it does not name sibling tools as alternatives or provide exclusionary phrasing like 'use inspect_package for broader package analysis'.

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

Install Server

Other Tools

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/doer0312/ros2-workspace-mcp'

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