Five debugging tools
zenoh_info, zenoh_get, zenoh_put, zenoh_subscribe, and
zenoh_list_keys — reachability, queries, publishing, topic taps, and
discovery.
zenoh-mcp is a single static Rust binary that speaks the Model Context Protocol over stdio and exposes a small set of Zenoh operations as tools an agent can call. It is built for debugging an existing Zenoh network — point it at a router and ask “what’s on this topic right now?”.
It is pinned to zenoh = 1.8.0 so it is wire-compatible with a 1.8.0 router
and with ROS2 Kilted’s rmw_zenoh_cpp. No Python, no pip — just a binary.
Five debugging tools
zenoh_info, zenoh_get, zenoh_put, zenoh_subscribe, and
zenoh_list_keys — reachability, queries, publishing, topic taps, and
discovery.
ROS2 decoding built in
rmw_zenoh CDR payloads are decoded to JSON automatically using typed
structs — the same output as ros2 topic echo.
Stateless & safe
Every call opens a short-lived client-mode session, does one operation, and closes. Safe to point at any router on the network.
Version-aligned
Pinned to zenoh 1.8.0 to stay on the same wire format as the router and
ROS2 rmw_zenoh, avoiding cross-version surprises.
As of mid-2026 there is no common, mature MCP server for Zenoh. The only
comparable effort is the (unreleased, dormant) gabrik/zenoh-plugin-mcp, a
heavyweight zenohd plugin served over HTTP/SSE. zenoh-mcp takes the opposite
approach: a lightweight stdio tool focused on debugging, that an agent runner can
spawn directly.