ROS 2 Medkit MCP Server

ROS 2 gateway data and operation management through a direct MCP interface.

Data last scanned today · Reviewed today

334 dangerous tools20 tools6PythonApache-2.0

Overview

This server acts as a thin adapter between LLMs and the SOVD HTTP API provided by ros2_medkit. It enables your AI to interface with a running ros2_medkit gateway, facilitating discovery of robot component data, configuration of ROS 2 parameters, and execution of services or actions. The implementation utilizes an asynchronous HTTP client with Pydantic validation for configuration models. It supports both stdio and streamable-http transport mechanisms, offering flexibility for different environment requirements and deployment setups.

Our verdict

With a high-risk security score of 33/100, users should exercise caution. A primary concern is the lack of a read-only mode, as every installation provides the AI with full write access to the underlying gateway. This tool is best suited for controlled development or experimental environments where the risk of unintended state changes in the ROS 2 system can be strictly managed.

  • Supports both stdio and streamable-http transport layers
  • Uses Pydantic for robust configuration and model validation
  • Zero direct dependencies reduce the supply-chain surface area
  • Operates with full write access to the target gateway
  • Community-maintained project with a single primary contributor
  • Authentication mechanisms have not yet been editorially reviewed

Tools

ToolDescriptionRisk
sovd_versionGet the SOVD API version information.low
sovd_entities_listList all SOVD entities (areas, components, apps, and functions) with optional filtering.low
sovd_entities_getGet a specific entity by ID with live data if available.low
sovd_faults_listList faults for a specific component.low
sovd_faults_getGet a specific fault by ID.low
sovd_faults_clearClear (acknowledge/dismiss) a fault.high
sovd_area_componentsList all components within a specific area.low
sovd_entity_dataRead all topic data from an entity (component or app).low
sovd_entity_topic_dataRead data from a specific topic within an entity.low
sovd_publish_topicPublish data to a component's topic.medium

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

Does this server implement the SOVD protocol itself?

No, it does not implement SOVD. It acts as an MCP adapter that calls the existing HTTP endpoints of a running ros2_medkit gateway.

What are the core prerequisites to run the server?

You need Python 3.11+, Poetry or uv, and a pre-existing, running ros2_medkit gateway instance.

Can the server authenticate with the ROS 2 gateway?

Yes, you can configure an optional Bearer token by setting the ROS2_MEDKIT_BEARER_TOKEN environment variable.

How do I specify the connection URL for my ROS 2 gateway?

You can set the ROS2_MEDKIT_BASE_URL environment variable, which defaults to http://localhost:8080/api/v1.

Does the server support different transport methods?

Yes, it provides dual transport support for both stdio, typically used with Claude Desktop, and streamable-http.

How can I verify the server is running correctly when using Docker?

You can perform a health check by executing a curl request to http://localhost:8765/health, which should return a status of healthy.

Badge

ROS 2 Medkit MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.