ROS 2 Workspace Inspector MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_workspaceA | Scan the configured ROS 2 workspace for packages and basic package.xml metadata. This read-only tool does not build, run, or modify the workspace, and it does not perform full dependency, launch, interface, or robot-description analysis. |
| inspect_packageA | Statically inspect one package selected by package_name or workspace-relative path. Returns detailed manifest, build, executable, and file metadata without importing, building, running, or modifying package code. |
| analyze_dependenciesA | Parse package.xml dependency declarations and build a deterministic workspace graph. With no selector it analyzes the workspace; with package_name or relative_path it analyzes that package scope. It does not run rosdep, query the network, or install anything. |
| inspect_interfacesA | 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. |
| analyze_launch_fileA | Statically analyze one workspace-relative Python, XML, or YAML ROS 2 launch file. Returns declared nodes, includes, arguments, environment changes, and processes; Python uses AST and YAML uses safe loading. It never executes launch actions or commands. |
| inspect_robot_descriptionA | Statically inspect one workspace-relative URDF or Xacro file. URDF returns links, joints, kinematic validation, and mesh references; Xacro returns an explicitly unexpanded macro/property/include summary. It never runs xacro or ROS. |
| diagnose_workspaceA | Run a bounded, read-only diagnosis of the configured workspace by reusing package, dependency, interface, launch, and robot-description analyzers. Returns compact severity summaries and deduplicated issues; it does not build, execute, or modify files. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_ros2_workspace | Guide a layered read-only review using the seven static analysis tools. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| workspace-summary | Compact, read-only static overview of the configured ROS 2 workspace. |
TDQS
Scored across 7 tools
Each tool targets a distinct aspect of ROS 2 workspace inspection: workspace-level scanning, package-level metadata, dependencies, interfaces, launch files, robot descriptions, and a cross-cutting diagnosis. No two tools overlap in purpose; even the diagnosis tool explicitly reuses the others but provides a different aggregated output.
All tool names follow a consistent verb_noun pattern in snake_case (scan_workspace, inspect_package, analyze_dependencies, inspect_interfaces, analyze_launch_file, inspect_robot_description, diagnose_workspace). The verbs vary semantically but the structural consistency and clear object nouns make prediction easy.
Seven tools is an appropriate scope for a static analysis inspector, covering the key artifacts without fragmentation. Each tool has a clearly separate responsibility, and none feel redundant or extraneous.
The surface covers the major static analysis needs of a ROS 2 workspace: packages, dependencies, interfaces, launch files, and robot descriptions, plus a diagnostic aggregator. For a read-only inspection tool, there are no obvious missing operations that would cause dead ends.