Autoware MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROS_DOMAIN_ID | Yes | The ROS 2 domain ID for communication with Autoware nodes. |
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": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Get complete health status of the Autoware MCP server. Returns comprehensive health information including:
|
| get_system_statusA | Get current system resource usage and status. Returns:
|
| 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:
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:
Returns:
|
| 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:
Returns:
|
| get_configurationA | Get current MCP server configuration. Returns all configuration parameters including:
|
| 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:
|
| set_operation_modeA | Change vehicle operation mode. Modes:
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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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