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. |
Capabilities
Features and capabilities supported by this server
| 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
- 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