Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROS_DOMAIN_IDYesThe ROS 2 domain ID for communication with Autoware nodes.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
health_checkA

Get complete health status of the Autoware MCP server.

Returns comprehensive health information including:

  • System resources (CPU, memory, disk)

  • ROS2 status and active nodes/topics

  • Autoware workspace configuration

  • Overall health status

get_system_statusA

Get current system resource usage and status.

Returns:

  • CPU usage and frequency

  • Memory usage

  • Disk usage

  • Network interfaces

  • Process counts

list_ros2_nodesA

List all active ROS2 nodes in the system.

Returns list of node names with their namespaces.

list_ros2_topicsA

List all active ROS2 topics in the system.

Returns list of topic names.

get_node_infoA

Get detailed information about a specific ROS2 node.

Args: node_name: Full name of the node (including namespace)

Returns: Node information including publishers, subscribers, services, and parameters.

check_autoware_statusA

Check the current status of running Autoware components.

Analyzes the ROS2 graph to identify:

  • Active Autoware nodes by category (perception, planning, control, etc.)

  • Autoware-specific topics

  • Component health status

Returns detailed status of running Autoware components.

list_ros2_servicesB

List all active ROS2 services in the system.

Returns list of service names that can be called.

get_topic_infoA

Get detailed information about a specific ROS2 topic.

Args: topic_name: Name of the topic (e.g., "/tf", "/map")

Returns: Topic information including message type, publisher count, subscriber count.

get_topic_frequencyA

Measure the publishing frequency of a ROS2 topic.

Args: topic_name: Name of the topic to measure duration: How long to measure (default: 5 seconds)

Returns: Frequency information including average Hz.

echo_topic_messagesB

Capture and return messages from a ROS2 topic.

Args: topic_name: Name of the topic to echo count: Number of messages to capture (default: 1)

Returns: Captured messages from the topic.

call_ros2_serviceA

Call any ROS2 service directly.

This is a powerful generic tool that can call any ROS2 service in the system. Use 'list_ros2_services' to discover available services.

Examples:

  • Clear route: call_ros2_service("/api/routing/clear_route", "autoware_adapi_v1_msgs/srv/ClearRoute", {})

  • Enable control: call_ros2_service("/api/operation_mode/enable_autoware_control", "std_srvs/srv/Trigger", {})

  • Accept start: call_ros2_service("/api/motion/accept_start", "std_srvs/srv/Trigger", {})

Returns:

  • success: Whether the service call succeeded

  • response: The service response data

  • error: Error message if call failed

publish_to_topicA

Publish a message to any ROS2 topic.

This tool allows publishing to any ROS2 topic with the appropriate message type. Use 'get_topic_info' to discover the message type for a topic.

Examples:

  • Publish twist: publish_to_topic("/cmd_vel", "geometry_msgs/msg/Twist", {"linear": {"x": 1.0}, "angular": {"z": 0.5}})

  • Publish initial pose: publish_to_topic("/initialpose", "geometry_msgs/msg/PoseWithCovarianceStamped", {...})

Returns:

  • success: Whether the publish succeeded

  • error: Error message if publish failed

get_configurationA

Get current MCP server configuration.

Returns all configuration parameters including:

  • Autoware workspace path

  • ROS distribution

  • Server settings

verify_ros2_environmentA

Verify ROS2 environment is properly set up.

The MCP server expects users to source their ROS2/Autoware environment before starting the server. This tool checks if the environment is ready.

Returns:

  • ROS2 availability and version

  • Environment variables status

  • Whether system is ready for MCP operations

set_operation_modeA

Change vehicle operation mode.

Modes:

  • stop: Stop vehicle operation

  • autonomous: Switch to autonomous driving

  • local: Switch to local manual control

  • remote: Switch to remote control

Args: mode: Operation mode (stop, autonomous, local, remote) transition_time: Maximum time to wait for transition

Returns: Operation mode response with success status and current mode

monitor_operation_modeA

Monitor current operation mode state.

Returns: Current operation mode and control state

set_routeB

Set a route to a goal pose.

Args: goal_pose: Goal pose with position and orientation waypoints: Optional waypoints option: Route options

Returns: Route response with success status and route information

set_route_pointsB

Set a route with specific waypoints.

Args: waypoints: List of waypoints with position and orientation option: Optional route options

Returns: Route response with success status and route information

get_current_routeB

Get current route state.

Returns: Current route information including waypoints and progress

initialize_localizationC

Initialize localization with a pose.

Args: pose: Initial pose with position and orientation pose_with_covariance: Optional pose covariance matrix

Returns: Localization response with success status

monitor_localization_stateB

Monitor localization initialization state.

Returns: Current localization state and quality metrics

request_mrmC

Request a Minimum Risk Maneuver (MRM).

Args: behavior: MRM behavior type reason: Optional reason for MRM request

Returns: MRM response with success status and current state

list_mrm_behaviorsA

List available MRM behaviors.

Returns: List of available MRM behavior types

monitor_mrm_stateB

Monitor current MRM state.

Returns: Current MRM state and active behaviors

send_velocity_commandC

Send velocity control command.

Args: velocity: Target velocity in m/s

Returns: Command acknowledgment

send_acceleration_commandC

Send acceleration control command.

Args: acceleration: Target acceleration in m/s²

Returns: Command acknowledgment

send_steering_commandA

Send steering control command.

Args: steering_angle: Steering angle in radians

Returns: Command acknowledgment

send_pedals_commandC

Send pedals control command.

Args: throttle: Throttle position (0-1) brake: Brake position (0-1)

Returns: Command acknowledgment

monitor_motion_stateA

Monitor current motion state.

Returns: Current motion state and readiness

get_cooperation_policiesA

Get current cooperation policies.

Returns: Active cooperation policies

set_cooperation_policiesB

Set cooperation policies.

Args: policies: Cooperation policies configuration

Returns: Success status and active policies

send_cooperation_commandsB

Send cooperation commands.

Args: commands: Cooperation commands

Returns: Command acknowledgment

monitor_diagnosticsC

Get real-time diagnostics status.

Returns: Comprehensive diagnostics information

reset_diagnosticsB

Reset diagnostics.

Returns: Success status and message

monitor_system_heartbeatB

Monitor system heartbeat.

Returns: System heartbeat status

get_vehicle_stateA

Get comprehensive vehicle state including dimensions, status, and kinematics.

This unified tool combines vehicle dimensions, current status (speed, gear, steering), and kinematics (position, orientation, velocity) into a single response.

Returns: Complete vehicle state information including: - dimensions: Vehicle physical dimensions - status: Current gear, speed, steering angle - kinematics: Position, orientation, velocities - timestamp: When the data was collected

capture_camera_viewA

Capture current camera view and save as image file. Returns path to image that can be viewed with Read tool.

Args: camera: Camera to capture from (front, rear, left, right, traffic_light)

Returns: Dictionary with image_path that can be read with Read tool

visualize_lidar_sceneA

Create visualization of LiDAR pointcloud data. Returns image showing 3D scene from specified viewpoint.

Args: view_type: Visualization viewpoint (bev, front, side, rear)

Returns: Dictionary with visualization image path

get_perception_snapshotA

Get comprehensive perception snapshot with camera, LiDAR, and object detection overlays. Returns multiple images and object data.

Returns: Dictionary with multiple image paths and detection data

analyze_driving_sceneB

Analyze complete driving scene with all sensors. Returns annotated images, detected objects, traffic lights, and driving recommendations for AI decision making.

Returns: Complete scene analysis with images, objects, and recommendations

get_detected_objectsA

Get list of currently detected objects (vehicles, pedestrians, etc.) with positions, velocities, and classifications.

Args: object_type: Filter by object type (all, vehicle, pedestrian, bicycle, motorcycle)

Returns: List of detected objects with properties

start_launchA

Start a ROS2 launch file and track the session.

Creates a new launch session with PID/PGID tracking for proper cleanup. Sessions persist across MCP reconnections.

Args: launch_file: Path to the launch file parameters: Optional parameters to pass to launch launch_args: Optional command line arguments

Returns: Session information including ID, PID, PGID, and status

stop_launchA

Stop a launch session gracefully or forcefully.

Sends SIGTERM to process group, waits for timeout, then SIGKILL if needed.

Args: session_id: Session ID to stop force: If True, use SIGKILL immediately timeout: Timeout for graceful shutdown

Returns: Status of the stop operation

list_launch_sessionsA

List all launch sessions with their current status.

Returns comprehensive information about all tracked launch sessions.

Returns: List of session information dictionaries

get_session_statusB

Get detailed status of a specific launch session.

Args: session_id: Session ID to query

Returns: Detailed session status including PID/PGID, state, nodes

pause_launchB

Pause a running launch session using SIGSTOP.

Suspends all processes in the session's process group.

Args: session_id: Session ID to pause

Returns: Status of the pause operation

resume_launchA

Resume a paused launch session using SIGCONT.

Continues all processes in the session's process group.

Args: session_id: Session ID to resume

Returns: Status of the resume operation

restart_launchA

Restart a launch session (stop and start with same config).

Creates a new session with the same launch file and parameters.

Args: session_id: Session ID to restart

Returns: Status with old and new session IDs

get_session_logsA

Get buffered logs from a launch session.

Retrieves the last N lines from session log files.

Args: session_id: Session ID lines: Number of lines to retrieve stream: Log stream to read (stdout or stderr)

Returns: Log content and metadata

cleanup_orphansA

Clean up orphaned processes from stale MCP instances.

Scans for sessions from dead MCP servers and terminates them. Ensures no zombie processes remain after MCP crashes.

Returns: Information about cleaned up sessions

generate_launch_fileA

Generate a ROS2 launch file for AI development.

Creates launch files in .autoware-mcp/generated/launches/ with versioning. Templates available: perception_pipeline, planning_pipeline, control_pipeline

Args: name: Name for the launch file (without extension) components: List of components/nodes to include template: Optional template name includes: Other launch files to include remappings: Topic remappings parameters: Parameters to set

Returns: Path to generated launch file and metadata

validate_launch_fileA

Validate launch file syntax and structure.

Checks Python syntax and required functions.

Args: file_path: Path to launch file to validate

Returns: Validation results with success status and any errors

generate_node_configA

Generate configuration file for a ROS2 node.

Creates config files in .autoware-mcp/generated/configs/ with versioning.

Args: node_name: Name of the node parameters: Parameters to configure format: Config format (yaml or json)

Returns: Path to generated config file

generate_custom_nodeA

Generate a custom ROS2 node template.

Creates node files in .autoware-mcp/generated/nodes/ with versioning.

Args: name: Name of the node language: Programming language (python or cpp) node_type: Type of node (basic, service, action) interfaces: List of topics/services to interface with

Returns: Path to generated node file

test_launch_fileC

Test a launch file without fully starting nodes (dry-run).

Validates syntax and optionally attempts to start/stop.

Args: file_path: Path to launch file to test dry_run: If True, only validate without starting

Returns: Test results with any errors or warnings

get_launch_errorsB

Get error diagnostics from a launch session.

Retrieves error messages and stderr logs.

Args: session_id: Session ID to get errors from

Returns: Error information and diagnostics

list_generated_filesA

List all AI-generated files in the project.

Shows generated launches, nodes, and configs.

Returns: Dictionary of generated files by category

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/NEWSLabNTU/autoware-mcp'

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