{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-robotmcp-ros-mcp-server","slug":"mcp-robotmcp-ros-mcp-server","name":"ros-mcp-server","type":"mcp","url":"https://github.com/robotmcp/ros-mcp-server","page_url":"https://unfragile.ai/mcp-robotmcp-ros-mcp-server","categories":["mcp-servers"],"tags":["mcp","mcp-server","modelcontextprotocol","ros","ros-mcp-server","ros2","ros2-mcp-server"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-robotmcp-ros-mcp-server__cap_0","uri":"capability://tool.use.integration.mcp.to.ros.protocol.translation.with.bidirectional.tool.registration","name":"mcp-to-ros protocol translation with bidirectional tool registration","description":"Implements a FastMCP server that registers ROS operations (topics, services, parameters) as MCP tools, enabling LLMs to invoke robot commands through standardized tool-calling semantics. The server.py module acts as a central coordinator that dynamically discovers ROS system state and exposes it as callable MCP tools, translating natural language requests into ROS API calls via the rosbridge WebSocket interface without modifying existing robot code.","intents":["Connect Claude or GPT to a ROS robot system without writing custom integration code","Enable an LLM to discover and call available ROS topics, services, and parameters as tools","Translate natural language commands into ROS API calls automatically","Build a robot control interface that works with any MCP-compatible LLM client"],"best_for":["Roboticists integrating LLMs into existing ROS1/ROS2 systems","Teams building natural language robot control interfaces","Developers prototyping multi-robot coordination with LLM agents"],"limitations":["Requires rosbridge_server running on the ROS system — adds WebSocket latency (~50-200ms per call)","No built-in persistence or state caching — each tool call queries ROS directly","Limited to ROS message types that serialize cleanly to JSON; complex nested messages may require custom handlers","Single-threaded MCP server — concurrent tool calls are queued sequentially"],"requires":["Python >=3.10","ROS1 or ROS2 distribution with rosbridge_server installed and running","MCP-compatible LLM client (Claude Desktop, Gemini-CLI, or custom MCP client)","Network connectivity between MCP server and ROS system (same machine or networked)"],"input_types":["Natural language commands from LLM","ROS topic/service names (strings)","ROS message payloads (JSON-serialized)"],"output_types":["MCP tool definitions (JSON schema)","ROS topic data (JSON)","Service call results (JSON)","Parameter values (JSON)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_1","uri":"capability://memory.knowledge.real.time.ros.topic.subscription.and.streaming.to.llm.context","name":"real-time ros topic subscription and streaming to llm context","description":"Implements subscribe_to_topic() tool that establishes persistent WebSocket subscriptions to ROS topics via rosbridge, streaming sensor data and state updates into the LLM's context window. The WebSocket manager maintains active subscriptions and buffers incoming messages, allowing the LLM to observe robot state changes in real-time and make decisions based on current sensor readings without polling.","intents":["Stream camera images, lidar scans, or sensor data from a robot to Claude for real-time perception","Monitor robot state (position, velocity, battery) and trigger LLM-based decisions when thresholds are crossed","Build feedback loops where the LLM observes topic data and adjusts control commands accordingly","Implement reactive robot behaviors driven by continuous sensor observation"],"best_for":["Real-time robot perception tasks (vision-based navigation, obstacle avoidance)","Feedback control loops where LLM decisions depend on current sensor state","Monitoring and diagnostics applications that need continuous system observation"],"limitations":["WebSocket subscriptions add ~100-300ms latency per message depending on network and message size","No built-in message buffering or history — only the most recent message is available to the LLM","Image topics require base64 encoding, increasing context window usage significantly","Subscriptions are not persisted across MCP server restarts — require re-subscription"],"requires":["rosbridge_server running with WebSocket support","Valid ROS topic name and message type known in advance","Network connectivity to rosbridge WebSocket endpoint (default localhost:9090)"],"input_types":["ROS topic name (string)","ROS message type (string, e.g., 'sensor_msgs/Image')"],"output_types":["Streamed ROS message data (JSON)","Base64-encoded image data for vision topics","Sensor readings (floats, arrays, nested structures)"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_10","uri":"capability://tool.use.integration.claude.desktop.and.gemini.cli.client.integration.with.mcp.protocol.compliance","name":"claude desktop and gemini-cli client integration with mcp protocol compliance","description":"Implements full MCP protocol compliance enabling the server to integrate with MCP-compatible LLM clients including Claude Desktop and Gemini-CLI. The server exposes tools, resources, and prompts through the MCP protocol, allowing these clients to discover and invoke ROS operations through their native tool-calling interfaces.","intents":["Use Claude Desktop to control robots through the MCP server","Integrate Gemini-CLI with ROS systems for command-line robot control","Enable any MCP-compatible LLM client to access ROS operations","Build LLM-based robot control interfaces using standard MCP clients"],"best_for":["Teams using Claude Desktop for AI applications","Command-line workflows with Gemini-CLI","Organizations standardizing on MCP for LLM integrations"],"limitations":["MCP protocol overhead adds ~50-100ms per tool call compared to direct API access","Client-specific features (Claude's artifact system, Gemini's multimodal input) may not be fully utilized","Tool discovery and registration happens at server startup — dynamic tool addition is not supported","No built-in authentication or authorization — all tools are accessible to any connected client"],"requires":["Claude Desktop 0.1.0+ or Gemini-CLI with MCP support","MCP server configuration in client settings (Claude: claude_desktop_config.json)","Network connectivity between client and MCP server"],"input_types":["Natural language commands from LLM client","Tool invocations with parameters"],"output_types":["Tool results (JSON)","Error messages","Status updates"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_11","uri":"capability://automation.workflow.docker.based.simulation.environment.with.turtlesim.and.limo.robot.examples","name":"docker-based simulation environment with turtlesim and limo robot examples","description":"Provides Docker configurations and example scripts for running the ROS-MCP-Server with Turtlesim (simple 2D turtle simulator) and LIMO mobile robot simulator, enabling developers to test and prototype robot control without physical hardware. The examples include pre-configured ROS environments, rosbridge setup, and sample LLM prompts for controlling simulated robots.","intents":["Test ROS-MCP-Server integration without physical robots","Learn how to use the server with concrete examples (Turtlesim, LIMO)","Prototype robot control behaviors before deploying to real hardware","Set up a development environment quickly using Docker"],"best_for":["Developers learning ROS-MCP-Server without robot hardware","Prototyping and testing before real robot deployment","CI/CD pipelines that need to test robot control logic"],"limitations":["Simulation does not capture real-world physics or sensor noise — behaviors may not transfer to real robots","Docker overhead adds latency compared to native ROS execution","Turtlesim is a toy simulator — only suitable for basic testing","LIMO simulator may not accurately model real robot dynamics"],"requires":["Docker and Docker Compose installed","Sufficient disk space for Docker images (~2-5GB)","X11 or VNC for GUI display (if running on remote machine)"],"input_types":["Docker Compose configuration","LLM prompts for controlling simulated robots"],"output_types":["Simulated robot behavior (Turtlesim drawing, LIMO movement)","Sensor data from simulators"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_12","uri":"capability://automation.workflow.unitree.go2.quadruped.robot.integration.with.real.world.hardware.support","name":"unitree go2 quadruped robot integration with real-world hardware support","description":"Provides integration examples and documentation for controlling the Unitree GO2 quadruped robot through ROS-MCP-Server, including hardware-specific configuration, motion primitives (walk, trot, jump), and sensor access (IMU, cameras, lidar). The integration demonstrates how to adapt the server for real robot hardware with specific API requirements and safety constraints.","intents":["Control a Unitree GO2 quadruped robot using natural language commands","Access GO2 sensors (cameras, IMU, lidar) through the LLM interface","Implement complex behaviors (navigation, manipulation) on real quadruped hardware","Integrate GO2 with LLM-based decision making for autonomous tasks"],"best_for":["Researchers and developers working with Unitree GO2 robots","Quadruped robotics applications requiring LLM integration","Real-world robot deployment scenarios"],"limitations":["GO2-specific configuration required — not portable to other robot platforms without modification","Real robot safety constraints limit what the LLM can command — some operations may be restricted","Hardware latency (100-500ms) is higher than simulation — LLM decision loops must account for this","GO2 ROS drivers may have limited documentation or support"],"requires":["Unitree GO2 robot with ROS drivers installed","Network connectivity to GO2 (WiFi or Ethernet)","GO2-specific ROS packages and dependencies","Safety training and precautions for real robot operation"],"input_types":["Natural language commands for GO2 motion and actions","Sensor queries (camera, IMU, lidar)"],"output_types":["GO2 motion execution (walk, trot, jump)","Sensor data (images, IMU readings, lidar scans)","Status and feedback from robot"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_2","uri":"capability://tool.use.integration.ros.service.call.invocation.with.schema.based.parameter.binding","name":"ros service call invocation with schema-based parameter binding","description":"Implements call_service() tool that dynamically generates MCP tool schemas for ROS services by introspecting their request/response message types, then marshals LLM-provided parameters into ROS service calls via rosbridge. The server discovers service signatures at runtime and binds them to MCP tool definitions, enabling the LLM to invoke services with type-safe parameter passing without manual schema definition.","intents":["Invoke ROS services (e.g., move_base, grasp_object) with parameters specified in natural language","Enable the LLM to discover available services and their required parameters automatically","Execute one-off ROS operations that require request/response semantics (not pub/sub)","Build service-driven robot behaviors where each action is a discrete service call"],"best_for":["Action-oriented robot control (pick-and-place, navigation, manipulation)","Systems with well-defined ROS service interfaces","Scenarios where the LLM needs to invoke services with varying parameters"],"limitations":["Service call latency depends on ROS service implementation — can range from 10ms to several seconds","No timeout handling in the current implementation — long-running services may block the MCP server","Complex nested message types may not serialize cleanly to JSON; custom message handlers required","Service discovery happens at server startup — new services added to ROS require server restart"],"requires":["ROS service registered in the ROS system","rosbridge_server with service call support enabled","Service message types available in ROS message packages"],"input_types":["Service name (string)","Service request parameters (JSON object matching ROS message structure)"],"output_types":["Service response data (JSON)","Success/failure status","Error messages from ROS service"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_3","uri":"capability://data.processing.analysis.ros.parameter.server.read.write.with.type.inference","name":"ros parameter server read/write with type inference","description":"Implements get_param() and set_param() tools that interact with the ROS parameter server via rosbridge, automatically inferring parameter types (int, float, string, bool, list) from values. The server provides a unified interface for reading and modifying ROS parameters without requiring the LLM to specify types explicitly, enabling configuration changes and state inspection through natural language.","intents":["Read robot configuration parameters (max speed, sensor calibration values) from the parameter server","Modify robot behavior at runtime by setting parameters (e.g., change navigation speed, enable/disable features)","Inspect and modify ROS system settings without direct command-line access","Enable the LLM to adapt robot behavior based on task requirements"],"best_for":["Configuration management and tuning tasks","Runtime behavior modification without code redeployment","Systems where parameters drive robot behavior"],"limitations":["Parameter server is not designed for high-frequency updates — latency ~50-100ms per operation","Type inference is heuristic-based and may fail for complex types (lists of objects, nested structures)","No validation of parameter values — the LLM can set invalid values that break the robot","Parameter changes are not persisted across ROS system restarts unless explicitly saved"],"requires":["ROS parameter server running (standard in all ROS systems)","Parameter names and expected types known or discoverable","rosbridge_server with parameter service support"],"input_types":["Parameter name (string)","Parameter value (int, float, string, bool, or list)"],"output_types":["Parameter value (JSON)","Parameter type (inferred)","Success/failure status"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_4","uri":"capability://search.retrieval.ros.system.topology.discovery.and.introspection","name":"ros system topology discovery and introspection","description":"Implements list_topics(), list_services(), list_params(), and get_topic_type() tools that query the ROS master/parameter server to enumerate available topics, services, and parameters with their types and message structures. The server performs ROS system introspection at runtime, building a dynamic map of the ROS ecosystem that the LLM can query to understand available operations before invoking them.","intents":["Discover what topics, services, and parameters are available in a ROS system","Inspect topic and service message types to understand data structures","Enable the LLM to explore the ROS ecosystem and make informed decisions about which operations to invoke","Build dynamic robot control interfaces that adapt to the available ROS system"],"best_for":["Exploratory robot control where the LLM needs to understand available operations","Multi-robot systems where available topics/services vary per robot","Debugging and diagnostics where understanding ROS topology is critical"],"limitations":["Introspection queries add ~50-200ms latency per call; caching would improve performance but is not implemented","Large ROS systems with hundreds of topics/services may return unwieldy lists","Message type introspection requires ROS message packages to be available — custom messages may not be discoverable","No filtering or search capabilities — the LLM receives the full list and must parse it"],"requires":["ROS master running (standard in all ROS systems)","rosbridge_server with topic/service/parameter listing support","Network access to ROS master"],"input_types":["Topic/service/parameter name (optional, for filtering)"],"output_types":["List of topic names (strings)","List of service names (strings)","List of parameter names (strings)","Topic/service message type definitions (JSON schema)"],"categories":["search-retrieval","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_5","uri":"capability://automation.workflow.network.connectivity.testing.and.robot.reachability.validation","name":"network connectivity testing and robot reachability validation","description":"Implements connect_to_robot() and test_connectivity() tools that use ping_ip_and_port() utility to verify network connectivity to the ROS system before attempting operations. The server performs TCP/IP connectivity checks to validate that the rosbridge endpoint is reachable, providing diagnostic feedback to the LLM and preventing failed operations due to network issues.","intents":["Verify that the robot/ROS system is reachable before attempting to control it","Diagnose network connectivity issues between the MCP server and ROS system","Provide feedback to the LLM when the robot is offline or unreachable","Enable the LLM to handle network failures gracefully"],"best_for":["Remote robot control scenarios where network connectivity is variable","Debugging and diagnostics for connectivity issues","Systems that need to validate robot availability before executing commands"],"limitations":["Ping-based connectivity checks only verify TCP/IP reachability, not ROS system health","No persistent connection pooling — each connectivity check creates a new socket","Timeout values are hardcoded and may not be appropriate for all network conditions","Does not detect partial failures (e.g., rosbridge running but ROS master down)"],"requires":["Network access to the ROS system IP and rosbridge port (default 9090)","Python socket library (standard)"],"input_types":["Robot IP address (string)","rosbridge port (integer, default 9090)"],"output_types":["Connectivity status (boolean)","Latency measurement (milliseconds)","Error messages if unreachable"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_6","uri":"capability://tool.use.integration.websocket.based.asynchronous.message.serialization.and.deserialization","name":"websocket-based asynchronous message serialization and deserialization","description":"Implements the WebSocket manager (utils/websocket_manager.py) that handles bidirectional JSON serialization/deserialization for ROS messages over WebSocket connections to rosbridge. The manager maintains persistent WebSocket connections, marshals Python objects to JSON for transmission, and unmarshals incoming JSON back to Python objects, providing a transparent abstraction over the WebSocket protocol.","intents":["Establish and maintain persistent WebSocket connections to rosbridge without manual socket management","Serialize ROS messages to JSON for transmission and deserialize incoming JSON back to Python objects","Handle WebSocket protocol details (framing, reconnection, error handling) transparently","Enable asynchronous message handling without blocking the MCP server"],"best_for":["Systems requiring persistent connections to ROS (topic subscriptions, long-running operations)","Scenarios where message serialization/deserialization overhead must be minimized","Multi-connection scenarios where the server manages multiple robot connections"],"limitations":["JSON serialization adds overhead for large messages (images, point clouds) — base64 encoding increases size by ~33%","No built-in message compression — large messages consume significant bandwidth","WebSocket connections are not pooled or reused — each subscription creates a new connection","Error handling is basic — connection failures may not be detected immediately"],"requires":["rosbridge_server running with WebSocket support (default port 9090)","Python websockets library (included in dependencies)","Network connectivity to rosbridge endpoint"],"input_types":["ROS messages (Python objects)","JSON-serialized ROS messages (from rosbridge)"],"output_types":["JSON-serialized ROS messages (to rosbridge)","Python objects (from incoming JSON)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_7","uri":"capability://image.visual.image.topic.capture.and.base64.encoding.for.llm.vision.processing","name":"image topic capture and base64 encoding for llm vision processing","description":"Implements image processing capabilities that capture frames from ROS image topics (sensor_msgs/Image, sensor_msgs/CompressedImage) and encode them as base64 strings for transmission to vision-capable LLMs. The server handles image format conversion (RGB, BGR, grayscale) and compression, enabling the LLM to process robot camera feeds for perception tasks.","intents":["Stream camera images from a robot to Claude or GPT for real-time vision analysis","Enable the LLM to perform object detection, scene understanding, or visual navigation","Capture and analyze robot-mounted camera feeds for debugging or monitoring","Build vision-based robot control loops where the LLM makes decisions based on camera input"],"best_for":["Vision-based robot control and perception tasks","Real-time object detection and scene understanding","Debugging and monitoring robot camera feeds"],"limitations":["Base64 encoding increases context window usage by ~33% compared to raw binary","Image topics must be published at reasonable frame rates — high-frequency topics will overwhelm the LLM","Compressed image formats (JPEG, PNG) require decompression before encoding, adding latency","No built-in image resizing or quality adjustment — large images consume significant context"],"requires":["ROS image topic publishing camera frames (sensor_msgs/Image or sensor_msgs/CompressedImage)","Vision-capable LLM client (Claude with vision, GPT-4V, etc.)","Python image processing libraries (cv2, PIL)"],"input_types":["ROS image topic name (string)","Image format (RGB, BGR, grayscale)"],"output_types":["Base64-encoded image data (string)","Image metadata (width, height, encoding)"],"categories":["image-visual","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_8","uri":"capability://automation.workflow.multi.robot.system.support.with.configurable.ros.bridge.endpoints","name":"multi-robot system support with configurable ros bridge endpoints","description":"Supports connecting to multiple ROS systems or robots by allowing configuration of different rosbridge endpoints (IP, port) per robot. The server can be deployed as a single MCP instance serving multiple robots, or multiple instances can be deployed with different configurations, enabling centralized control of multi-robot systems through a single LLM interface.","intents":["Control multiple robots from a single LLM interface","Coordinate actions across multiple ROS systems (e.g., multi-robot manipulation, fleet management)","Deploy a single MCP server that serves multiple robot endpoints","Enable the LLM to switch between robots or coordinate multi-robot behaviors"],"best_for":["Multi-robot systems where coordination is required","Fleet management and monitoring applications","Scenarios where a single LLM needs to control multiple robots"],"limitations":["No built-in robot selection or context switching — the LLM must explicitly specify which robot to control","Concurrent operations on multiple robots are serialized — no true parallelism","No transaction support — multi-robot operations cannot be atomically committed or rolled back","Configuration changes require server restart — dynamic robot addition is not supported"],"requires":["Multiple ROS systems with rosbridge_server running on each","Configuration file or environment variables specifying robot endpoints","Network connectivity to all robot endpoints"],"input_types":["Robot identifier or endpoint (string)","ROS operation (topic, service, parameter)"],"output_types":["Results from the specified robot"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-robotmcp-ros-mcp-server__cap_9","uri":"capability://automation.workflow.ros1.and.ros2.compatibility.with.abstracted.api.layer","name":"ros1 and ros2 compatibility with abstracted api layer","description":"Provides a unified MCP interface that abstracts differences between ROS1 and ROS2 APIs, enabling the same LLM prompts and tool calls to work with both ROS versions. The server detects the ROS version at startup and uses version-appropriate APIs for topic/service/parameter operations, hiding version-specific details from the LLM.","intents":["Control ROS1 or ROS2 robots without version-specific prompting","Migrate robot systems from ROS1 to ROS2 without changing LLM integration","Build LLM interfaces that work across heterogeneous ROS environments","Enable the LLM to operate on both legacy ROS1 and modern ROS2 systems"],"best_for":["Organizations with mixed ROS1/ROS2 deployments","Migration scenarios where ROS version compatibility is critical","Systems requiring long-term compatibility across ROS versions"],"limitations":["Some ROS2-specific features (QoS policies, DDS configuration) are not exposed to the LLM","ROS1 and ROS2 message formats differ slightly — custom messages may not be fully compatible","Version detection is automatic but may fail in edge cases (e.g., ROS1 bridge running on ROS2)","Performance characteristics differ between ROS1 and ROS2 — latency expectations may vary"],"requires":["ROS1 or ROS2 distribution installed and running","rosbridge_server compatible with the ROS version","Python ROS client libraries (rospy for ROS1, rclpy for ROS2)"],"input_types":["ROS operations (topics, services, parameters) — same interface for both versions"],"output_types":["Results from ROS operations — format consistent across versions"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":44,"verified":false,"data_access_risk":"high","permissions":["Python >=3.10","ROS1 or ROS2 distribution with rosbridge_server installed and running","MCP-compatible LLM client (Claude Desktop, Gemini-CLI, or custom MCP client)","Network connectivity between MCP server and ROS system (same machine or networked)","rosbridge_server running with WebSocket support","Valid ROS topic name and message type known in advance","Network connectivity to rosbridge WebSocket endpoint (default localhost:9090)","Claude Desktop 0.1.0+ or Gemini-CLI with MCP support","MCP server configuration in client settings (Claude: claude_desktop_config.json)","Network connectivity between client and MCP server"],"failure_modes":["Requires rosbridge_server running on the ROS system — adds WebSocket latency (~50-200ms per call)","No built-in persistence or state caching — each tool call queries ROS directly","Limited to ROS message types that serialize cleanly to JSON; complex nested messages may require custom handlers","Single-threaded MCP server — concurrent tool calls are queued sequentially","WebSocket subscriptions add ~100-300ms latency per message depending on network and message size","No built-in message buffering or history — only the most recent message is available to the LLM","Image topics require base64 encoding, increasing context window usage significantly","Subscriptions are not persisted across MCP server restarts — require re-subscription","MCP protocol overhead adds ~50-100ms per tool call compared to direct API access","Client-specific features (Claude's artifact system, Gemini's multimodal input) may not be fully utilized","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.45432208308908706,"quality":0.35,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.065Z","last_scraped_at":"2026-05-03T14:23:38.364Z","last_commit":"2026-05-03T09:13:43Z"},"community":{"stars":1199,"forks":176,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-robotmcp-ros-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=mcp-robotmcp-ros-mcp-server"}},"signature":"STdUKMjzu94aSZEbQqY8Q/FU6Sahe6ku6UU520NEea62w7s+qf0f6/F1y5sXO6Cl4AvQLsuPqU1Pg3/0W5cwBQ==","signedAt":"2026-06-21T04:30:15.065Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-robotmcp-ros-mcp-server","artifact":"https://unfragile.ai/mcp-robotmcp-ros-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-robotmcp-ros-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}