# Reported issues for ros-mcp-server

Pod holds 23 of 46 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [ros-mcp-server](/mcp/ros-mcp-server).

## Most discussed

### publish_for_durations works not as expected by name

publish_for_durations really not for publish for durations but publish with intervals.
See inside implementation:
https://github.com/robotmcp/ros-mcp-server/blob/199d21908a936d17fc8f02a318cf7758ab619376/ros_mcp/tools/topics.py#L651

The problem is that with this implementation, it's impossible to send commands continuously over any period of time. For example, to perform a 90-degree rotation through a diff_drive_controller that receives data in radians per second.
So, I need to send the command 

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/242) · 2026-02-05 · closed · external user · 5 comments

### Any way to work image recognition with Ollama Qwen-3-vl

I tryed various variants of MCP tool output for image for Ollama can recognize it but no one work.
Ollama describes gotten image as default (just base on system prompt not base on image).

Any help how it posible to return image for Ollama from MCP tool.

I use: Langflow + Ollama + ros-mcp-server + camera in Gazebo on robot.

Some of my tryings:

```
def _encode_image_to_imagecontent(image) -> Image:
    """
    Encodes a PIL Image to a format compatible with ImageContent.

    Args:
        ima

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/208) · 2025-12-03 · closed · external user · 6 comments

### unitree Go2 can't work any action at all.

Hi, author

Thank you for great work. I've been trying this repo. I could make sure that I can see ros2 topic list on Claude-desktop while my laptop connects to Go2 Jetson with wired-LAN.
I've tried such the prompt orders as "sit down" or "go forward". Then Claude made some messages and sent them to Go2. But Go2 couldn't work at all.
I would like you to give me any help to solve this issue.

Thanks,

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/206) · 2025-12-01 · closed · external user · 6 comments

### Add CLI Client Examples and Support for Custom LLM Providers

Currently, the examples and code snippets provided in the repository mainly focus on **Claude**, **OpenAI**, and **Cursor** integrations.
To make the project more flexible and accessible, I propose adding examples and documentation for **CLI-based clients** that can integrate with **custom LLM providers** of the user’s choice.

This would enable developers to:

* Use the MCP server with any LLM (not just OpenAI or Claude).
* Easily integrate MCP capabilities into their own applications or workfl

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/154) · 2025-10-07 · closed · outside contributor · 5 comments

### Refactor needed for more standard python package structure

The current package structure limits some functionality in how the server can be called when installed via pip. Specifically having our entrypoint in the root directory of the package. 

Putting down a proposed structure that can be discussed and implemented if there is agreement. 

```
ros-mcp-server/
├── pyproject.toml              # Package metadata & build config
├── MANIFEST.in                 # Additional file includes
├── README.md
├── LICENSE
├── server.json                 # MCP server

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/148) · 2025-10-07 · closed · outside contributor · 5 comments

### Adding devcontainer.json and Dockerfile to ease development in VSCode

Hello,

I recently tried out the ROS MCP server from an Ubuntu 20.04 machine with ROS2 through a container and realized that having a docker file specific for the same to enable development in Ubuntu 22.04 container with ROS2. I'd like to volunteer to add a `devcontainer.json` and `Dockerfile`  along with a README/example to show how to start development easily in VSCode. 

If that sounds good, could you assign this task to me? If you have any other suggestions related to this, I'd like to addre

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/93) · 2025-09-19 · closed · outside contributor · 7 comments

### ros-mcp-server not visible in Claude Desktop tools list

After following the build instructions from https://github.com/aaddrick/claude-desktop-debian, i successfully installed claude desktop and also check it by launching it. 

Then i modified/created  ~/.config/Claude/claude_desktop_config.json and inserted the data as per instructions in https://github.com/robotmcp/ros-mcp-server/blob/main/docs/installation.md
{
  "mcpServers": {
    "ros-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/awais/ros-mcp-serve

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/65) · 2025-09-11 · closed · external user · 6 comments

### Support for ROS Actions

ROS actions are a essential part of the workflow for several ROS enabled robots. 
The MCP server needs to enable access to these in order to fully support them

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/40) · 2025-09-05 · closed · outside contributor · 6 comments

## Most recent

### Security scan results for ros-mcp-server — MCPSafe AIVSS 83/100 (Grade B)

Hi team 👋

I ran a free deep security scan of **robotmcp/ros-mcp-server** using [MCPSafe](https://mcpsafe.io) — a purpose-built scanner for MCP servers using a 5-LLM consensus panel to detect prompt injection risks, over-scoped tool schemas, supply chain issues, and more.

## Results: 83/100 · Grade B

| Severity | Count |
|----------|-------|
| 🔴 Critical | 0 |
| 🟠 High | 0 |
| 🟡 Medium | 30 |
| 🟢 Low | 9 |

**Summary:** 30 medium-severity findings around ROS tool schemas and robot command perm

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/324) · 2026-05-12 · closed · external user · 1 comment

### Security reporting contact

Hi, I could not find a SECURITY.md or private security contact for this repository.
Could you please open a GitHub Security Advisory so I can submit a potential vulnerability report privately?

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/323) · 2026-05-08 · closed · external user · 0 comments

### docs: macOS Claude Desktop config fails because zsh -lc does not source .zshrc

## Description

The macOS installation guide in `docs/installation.md` configures the Claude Desktop MCP server as:

```json
{
  "mcpServers": {
    "ros-mcp-server": {
      "command": "zsh",
      "args": ["-lc", "uvx ros-mcp --transport=stdio"]
    }
  }
}
```

This configuration fails on macOS because `zsh -lc` starts a **login, non-interactive** shell that sources `~/.zprofile` but **not** `~/.zshrc`. The `uv` installer adds `~/.local/bin` to `PATH` in `~/.zshrc` only, so `uvx` is not found

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/310) · 2026-03-30 · closed · outside contributor · 1 comment

### fix: devcontainer fails to start on macOS due to --gpus=all and X11 configuration

## Description                                                                                                                                                                                               
   
  The devcontainer configuration (`.devcontainer/devcontainer.json`) fails to start on macOS for three reasons:                                                                                                
                                                                                  

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/302) · 2026-03-30 · open · outside contributor · 0 comments

### Image saving fails in uvx execution due to relative path dependency (./camera)

### Description

When running the MCP server using packaged execution:

```bash
uvx ros-mcp --transport=stdio
```

image subscription fails with the following error:

```
Permission denied: './camera'
```

However, the same functionality works correctly when running the server locally:

```bash
cd ~/ros-mcp-server && uv run server.py --transport=stdio
```

This results in inconsistent behavior depending on how the server is executed.

### Environment

- OS: Windows 11  
- WSL: Ubuntu 24.04 (WSL

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/301) · 2026-03-30 · open · outside contributor · 1 comment

### docs: 8_images README missing macOS/Docker setup instructions

### Problem
The tutorial for `examples/8_images` assumes a native Linux environment with `apt install` for all ROS2 packages. macOS (and Windows without WSL) users have no way to follow this tutorial.

### What's Missing
- **No Docker-based alternative**: The entire tutorial depends on `sudo apt install ros-*` commands — unavailable on macOS
- **No macOS guidance in Troubleshooting**: The "Display Issues" section mentions WSL, remote connections, and Docker, but gives no macOS-specific advice (e

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/294) · 2026-03-30 · closed · outside contributor · 0 comments

### docs: 6_chatgpt README missing macOS setup instructions

### Problem
The tutorial for `examples/6_chatgpt` only covers Windows (PowerShell) and Linux (WSL/Ubuntu) setups. macOS users are left without guidance, despite the FAQ stating "Linux and macOS users can run directly."

### What's Missing
- No "Option C: macOS" for installing `uv`, `ngrok`, or running the MCP server
- No guidance on running ROS2 on macOS (which requires Docker since ROS2 is Linux-native)
- The FAQ acknowledges macOS support but the step-by-step tutorial doesn't include any macOS

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/292) · 2026-03-30 · closed · outside contributor · 0 comments

### Documentation typos and bugs across example READMEs

## Description

While running through examples 5 (Docker Turtlesim), 6 (ChatGPT), and 7 (Cursor), I found several documentation typos and bugs that could confuse users or cause errors.

## Issues Found

### 1. 5_docker_turtlesim/README.md - Typo in script path (line 58)
- **Current:** ./scrips/launch.sh
- **Expected:** ./scripts/launch.sh
- Missing letter 't' in 'scripts'

### 2. 5_docker_turtlesim/README.md - Trailing $ in shell variable (lines 108, 264, 286)
- **Current:** source /opt/ros/${RO

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/287) · 2026-03-29 · closed · outside contributor · 0 comments

### docs: Fix typo in Docker Turtlesim README — "./scrips/launch.sh" should be "./scripts/launch.sh"

### Description

In `examples/5_docker_turtlesim/README.md`, the Quick Start section (line 58) contains a typo in the launch script path:

**Current (incorrect):** `./scrips/launch.sh`
**Expected (correct):** `./scripts/launch.sh`

The actual directory in the repository is `scripts/`, not `scrips/`. This causes a "file not found" error for users who copy-paste the command.

### Additional finding

In `examples/2_gemini/README.md` (line 5), there is also a typo:

**Current:** `...follow, this tot

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/285) · 2026-03-29 · closed · outside contributor · 0 comments

### Security: Unrestricted ROS service calls via MCP tool — prompt injection → robot control

Hi @robotmcp,

While researching MCP server security, I scanned ros-mcp-server and found a few things worth flagging.

### Findings

| # | Issue | Severity | Location |
|---|-------|----------|----------|
| 1 | Unrestricted ROS service calls — any service callable via prompt injection | HIGH | `ros_mcp/tools/services.py:260` |
| 2 | No input validation on service request parameters | MEDIUM | `ros_mcp/tools/services.py:290` |
| 3 | Network scanning via user-controlled IP in ping tool | LOW | `ro

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/283) · 2026-03-27 · open · external user · 0 comments

### [Security] AgentWard Audit: Physical robot actuation without approval gates — safety-critical gap

Hey — I reviewed ros-mcp-server and wanted to flag something important around physical safety.

Your README already notes "Permission controls — upcoming" (line 71), so I know this is on your radar. Wanted to share specifics that might help prioritize.

## TL;DR

An agent can publish velocity commands to `/cmd_vel`, trigger arbitrary ROS services, and send action goals — all without approval gates or argument validation. This is a physical safety hazard: a prompt injection in sensor data or a ha

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/264) · 2026-03-11 · closed · external user · 0 comments

### Add option for local ROS 2 connection without ROSBridge

Hi, I have a different use-case than that this MCP is meant for. I'm running an AI agent on my ROS 2 robot, and have the MCP installed directly on the robot. It is a bit annoying that I need to use rosbridge as a middleman when I can talk to ROS 2 directly. 

My proposal:

Option 1:
- add a check for rosbridge
- if rosbridge connection is not found, look for local ROS 2 using rclpy
- establish direct ROS 2 communication

PS. I don't want to support ROS1 since it is EOL. And since I don't use it,

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/248) · 2026-02-27 · open · external user · 3 comments

### Building skills.md for the ROS-MCP server for personal agents like OpenClaw

Currently the `ROS-MCP-server` loads up the context every-time the server is started by the client, including the base context, tools description and robot specifications. This could lead to context bloating, and increased token usage. 

As personal agents like ClaudeCode and OpenClaw rely more on skills, we should build `skills/ros-control` for the ros-mcp server. The skills will contain all the information about the server. Any specific or custom workflow can easily be added by the user by def

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/247) · 2026-02-25 · open · outside contributor · 0 comments

### how to config n8n or Dify to use this ros-mcp-server?

How to config other agent orchestrator like n8n or Dify to use the ros-mcp-server?

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/240) · 2026-02-03 · closed · external user · 2 comments

### Version mismatch in uv.lock (3.0.0 vs 3.0.1)

## Description

After PR #236 merge, there will be a version mismatch between package files.

## Current State

- `pyproject.toml`: version `3.0.1`
- `server.json`: version `3.0.1`
- `uv.lock`: version `3.0.0`

## Fix

Run `uv lock` to regenerate the lock file with the correct version.

[Read the thread](https://github.com/robotmcp/ros-mcp-server/issues/239) · 2026-02-01 · closed · outside contributor · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/robotmcp/ros-mcp-server/issues).
