{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ewsbuzzgq6jm","handle":"ros2-image-mcp","url":"https://wellknown.network/agents/ros2-image-mcp","links":{"self":"https://wellknown.network/agents/ros2-image-mcp/record.json","html":"https://wellknown.network/agents/ros2-image-mcp","markdown":"https://wellknown.network/agents/ros2-image-mcp/record.md","api":"https://wellknown.network/api/v1/agents/ros2-image-mcp","status":"https://wellknown.network/api/v1/agents/ros2-image-mcp/status","claim":"https://wellknown.network/agents/ros2-image-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ros2-image-mcp/claim.json","badge":"https://wellknown.network/agents/ros2-image-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/ros2-image-mcp/history","tools":"https://wellknown.network/api/v1/agents/ros2-image-mcp/tools"},"ard":{"identifier":"urn:air::server:ros2-image-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ros2-image-mcp","summary":"MCP server (FastMCP) exposing ROS 2 image topics to VLM agents","description":"# ros2-image-mcp\n\n[MCP](https://modelcontextprotocol.io/) server ([FastMCP](https://github.com/jlowin/fastmcp)) that exposes ROS 2 [`sensor_msgs/Image`](https://docs.ros2.org/latest/api/sensor_msgs/msg/Image.html) topics to VLMs and agents.\n\n**Tools:** `get_latest_ros_image` · `get_recent_ros_image_frames`\n\n## Requirements\n\n- ROS 2 sourced (`source /opt/ros/<distro>/setup.bash`)\n- Python 3.10+\n\n## Install\n\n```bash\nsource /opt/ros/humble/setup.bash   # or your distro\ncd /path/to/ros2_img_mcp\npip install -U pip setuptools\npip install -e .\n```\n\nOptional demo extras: `pip install -e \".[langgraph-demo]\"`\n\n## Quick start\n\n1. **Publish images** on a topic (synthetic test pattern, or a real camera):\n\n   ```bash\n   python3 scripts/publish_test_image.py --topic /test/camera/image\n   # webcam example: add --device 4   (for /dev/video4)\n   ```\n\n2. **Run the MCP server** (separate terminal, ROS sourced):\n\n   ```bash\n   ros2-image-mcp --default-topic /test/camera/image\n   ```\n\n3. **Point your MCP client** at the server — **stdio** (default above) or **HTTP**:\n\n   ```bash\n   ros2-image-mcp --default-topic /test/camera/image --transport http --port 8012\n   ```\n\n   HTTP endpoint: `http://127.0.0.1:8012/mcp` (path `/mcp` by default).\n\n**Cursor (stdio)** — ROS must be sourced inside the command:\n\n```json\n{\n  \"mcpServers\": {\n    \"ros2-camera\": {\n      \"command\": \"bash\",\n      \"args\": [\n        \"-lc\",\n        \"source /opt/ros/humble/setup.bash && ros2-image-mcp --default-topic /test/camera/image\"\n      ]\n    }\n  }\n}\n```\n\n**LangGraph-style HTTP** — `transport: \"http\"` and `url: \"http://127.0.0.1:8012/mcp\"` (or `streamable_http` if your client expects that name; URL unchanged).\n\n## Limitations\n\n- Depth / float formats (e.g. `32FC1`) are **not** converted; use an RGB topic or encode to `png`/`jpeg` on the ROS side.\n- Very large images are heavy on MCP payloads; consider downscaling in ROS if needed.\n\n---\n\nMore detail : **[DEVELOPERS.md](DEVELOPERS.md)**","publisher":{"name":"madz","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":["mcp","ros2","robotics","vlm","fastmcp","vision"],"pricing":null,"endpoints":[{"url":"pypi:ros2-image-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.image-understanding","name":"Image Understanding","confidence":1,"provenance":"declared"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.779,"provenance":"derived"}],"categories":["dev","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"ros2-image-mcp","registry":"pypi","observedAt":"2026-10-22T19:27:48.981Z","publishedAt":"2026-04-10T02:28:32.670967Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"ros2-image-mcp","url":"https://pypi.org/project/ros2-image-mcp/","firstSeenAt":"2026-09-10T11:27:22.982Z","fetchedAt":"2026-10-22T19:26:12.122Z","normalizedAt":"2026-10-22T19:26:12.122Z"}]},"firstSeenAt":"2026-09-10T11:27:22.982Z","updatedAt":"2026-10-22T19:27:48.981Z"}