ROS MCP Server

Serveur MCP par robotmcp

Connect LLMs to ROS and ROS 2 robots to work with topics, services, actions and parameters through rosbridge.

S’exécute en local (Tourne sur votre machine : sa page donne la commande d’installation)S’exécute avec uvx

Installer ROS MCP Server

Tourne sur votre machine. Votre client le lance avec cette commande :

uvx ros-mcp --transport=stdio

Nécessite uv (Python) sur votre ordinateur. Les étapes ci-dessous montrent où placer la commande dans chaque client.

Partager ce serveur

Ouvre cette page, avec la commande d’installation et les étapes de configuration.

mcp.tc/i/ros

Présentation

ROS MCP Server lets an AI assistant control and observe robots running ROS 1 or ROS 2. It can publish and subscribe to topics, call services and actions, set parameters, read sensor data and monitor robot state. It helps the model discover available topics, services and actions, including custom types, and use them with the right syntax.

It runs locally over stdio as the PyPI package ros-mcp, started with uvx. It talks to the robot through a rosbridge WebSocket node, so no changes to existing robot code are needed. No sign-in or API key is required. It works with MCP clients such as Claude Code, Claude Desktop, Cursor, Codex CLI and Gemini CLI.

Ce que vous pouvez faire

  • Publish and subscribe to ROS topics
  • Call ROS services and actions
  • Read and set robot parameters
  • Read sensor data and monitor robot state
  • Discover topics, services and custom message types
  • Works with ROS 1 and ROS 2 distributions

Outils

Les serveurs locaux présentent leurs outils une fois lancés, et celui-ci ne publie pas sa liste à l’avance. Votre client les affiche après l’ajout.

Exemples de prompts

  • List all topics available on my robot and show their message types.

  • Subscribe to the lidar topic and tell me if anything is close to the robot.

  • Call the gripper service and check whether the end effector responds correctly.

  • Read the current navigation parameters and summarize them.

Configuration

Chaque client lance ROS MCP Server sur votre machine avec la même commande. Choisissez le vôtre ; la page retient votre choix.

Claude Code

  1. Lancez ceci dans un terminal, dans le dossier de votre projet :
claude mcp add --transport stdio ros -- uvx ros-mcp --transport=stdio
  1. Démarrez Claude Code et tapez /mcp. ros devrait apparaître comme connecté.

Ajoutez --scope user pour le rendre disponible dans tous vos projets.

Claude Desktop

  1. Ouvrez Settings → Developer → Edit Config. Cela ouvre claude_desktop_config.json. Ajoutez :
claude_desktop_config.json
{
  "mcpServers": {
    "ros": {
      "command": "uvx",
      "args": [
        "ros-mcp",
        "--transport=stdio"
      ]
    }
  }
}
  1. Enregistrez le fichier et redémarrez Claude Desktop.

Nécessite uv (Python) sur votre ordinateur. Le fichier se trouve dans ~/Library/Application Support/Claude/ sous macOS et dans %APPDATA%\Claude\ sous Windows.

Cursor

Ou ajoutez-le à la main dans ~/.cursor/mcp.json (tous les projets) ou .cursor/mcp.json (ce projet) :

mcp.json
{
  "mcpServers": {
    "ros": {
      "command": "uvx",
      "args": [
        "ros-mcp",
        "--transport=stdio"
      ]
    }
  }
}

Nécessite uv (Python) sur votre ordinateur.

VS Code

Ou depuis un terminal :

code --add-mcp '{"name":"ros","type":"stdio","command":"uvx","args":["ros-mcp","--transport=stdio"]}'

Ou committez-le dans le dépôt, dans .vscode/mcp.json :

.vscode/mcp.json
{
  "servers": {
    "ros": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "ros-mcp",
        "--transport=stdio"
      ]
    }
  }
}

Nécessite uv (Python) sur votre ordinateur.

Devin Desktop

  1. Ajoutez-le à ~/.config/devin/mcp_config.json (macOS et Linux) ou %APPDATA%\devin\mcp_config.json (Windows) :
mcp_config.json
{
  "mcpServers": {
    "ros": {
      "command": "uvx",
      "args": [
        "ros-mcp",
        "--transport=stdio"
      ]
    }
  }
}
  1. Actualisez la liste des serveurs MCP dans Cascade.

Devin Desktop est le nouveau nom de Windsurf.

Codex

codex mcp add ros -- uvx ros-mcp --transport=stdio

Ou modifiez directement ~/.codex/config.toml :

config.toml
[mcp_servers.ros]
command = "uvx"
args = ["ros-mcp", "--transport=stdio"]

Nécessite uv (Python) sur votre ordinateur.

Gemini CLI

gemini mcp add ros uvx -- ros-mcp --transport=stdio

Cela l’ajoute au projet en cours. Ajoutez -s user pour l’utiliser partout.

Tout client

La plupart des clients qui lancent des serveurs locaux acceptent cette forme :

{
  "mcpServers": {
    "ros": {
      "command": "uvx",
      "args": [
        "ros-mcp",
        "--transport=stdio"
      ]
    }
  }
}

Zed place les serveurs sous context_servers dans ses réglages, avec les mêmes champs command, args et env.

Nécessite uv (Python) sur votre ordinateur.

FAQ

Puis-je coller mcp.tc/i/ros dans mon client MCP ?

Non. ROS MCP Server tourne sur votre propre ordinateur, lancé par votre client, il n’a donc pas d’adresse web à laquelle se connecter. Le lien rapide est la page à partager ; la commande d’installation est uvx ros-mcp --transport=stdio.

ROS MCP Server a-t-il besoin d’une clé API ?

Non. Il ne déclare ni clé ni variable d’environnement. Il s’exécute avec les droits de votre compte utilisateur, vérifiez donc ce que ses outils peuvent atteindre.

ROS MCP Server est-il un serveur distant ou local ?

Local. Votre client le lance comme un processus sur votre ordinateur avec uvx ros-mcp --transport=stdio, qui nécessite uv (Python).

Que peut faire ROS MCP Server ?

Vous pouvez publish and subscribe to ROS topics, call ROS services and actions et read and set robot parameters.

Quels clients peuvent l’utiliser ?

Tout client qui lance des serveurs locaux : Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed et d’autres. claude.ai et ChatGPT ne se connectent qu’à des serveurs distants.

Qui a rédigé cette page ?

Le robot de mcp.tc a lu les métadonnées publiques de ROS MCP Server (ses pages de paquet et de dépôt), et un modèle d’IA en a tiré le texte. Une personne examine tout ce que les vérifications ne peuvent pas confirmer. Le texte peut encore contenir des erreurs : si vous en repérez une, utilisez Signaler cette fiche sur cette page.

Intégrer

Affichez ROS MCP Server dans un README ou sur votre site. Chaque intégration renvoie à cette page, utilise la commande d’installation du serveur et ne dépose aucun cookie. Comment fonctionnent les intégrations

Badge pour README

Aperçu du badge, clairAperçu du badge, sombre
Markdown
[![ROS MCP Server on mcp.tc](https://mcp.tc/i/ros/badge.svg)](https://mcp.tc/i/ros)
HTML
<a href="https://mcp.tc/i/ros"><img src="https://mcp.tc/i/ros/badge.svg" alt="ROS MCP Server on mcp.tc" height="20"></a>

Il suit le mode clair ou sombre du lecteur. Ajoutez ?theme=light ou ?theme=dark pour le fixer, ou ?style=compact pour afficher le symbole sans le nom.

Carte pour site web

HTML
<script src="https://mcp.tc/w/ros.js" async></script>

La carte apparaît à l’endroit de la balise. Ajoutez data-theme="dark" ou data-size="compact" à la balise pour la modifier. Le fichier contient tout ce qu’il lui faut : il ne fait aucune autre requête et ne dépose aucun cookie.

iframe

HTML
<iframe src="https://mcp.tc/embed/ros" title="ROS MCP Server on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Utilisez-la sur les pages qui n’autorisent pas les scripts. Ajoutez ?theme=light ou ?theme=dark à l’adresse pour fixer les couleurs.

JSON

La fiche sous forme de données pour vos pages et vos outils : nom, accroche, commande d’installation, outils et liens « Add to ». N’importe quel site peut la lire (CORS ouvert).

https://mcp.tc/i/ros.json

Ce que signifie chaque champ

mcp.tc n’est pas affilié à robotmcp. Cette page a été construite à partir des métadonnées publiques de ROS MCP Server, vérifiées pour la dernière fois le 3 oct. 2026, et un modèle d’IA a rédigé la description : elle peut contenir des erreurs. Les noms et marques appartiennent à leurs propriétaires. Quelque chose cloche ? Signaler cette fiche.