Descripción general
El servidor ROS MCP está diseñado para ayudar a los robots a realizar tareas complejas y adaptarse eficazmente a diversos entornos. Para ello, proporciona un conjunto de funciones que transforman los comandos de lenguaje natural, introducidos por el usuario a través de un LLM, en comandos ROS para el control del robot. Además, al utilizar rosbridge , está configurado para funcionar con sistemas ROS y ROS2 , y su comunicación basada en WebSockets permite una amplia aplicabilidad en diversas plataformas.
La investigación basada en este proyecto se puede encontrar en el vídeo enlazado a continuación.
Related MCP server: ROS2 MCP Server
Tipos admitidos
mensajes_de_geometría/Twist
sensor_msgs/Image
sensor_msgs/EstadoConjunto
Características
Compatibilidad universal basada en WebSocket : se comunica con los sistemas ROS y ROS2 mediante rosbridge, lo que permite una integración perfecta independientemente de la versión de ROS.
Compatibilidad multiplataforma : funciona en Linux, Windows y MacOS, lo que lo hace adecuado para diversos entornos de desarrollo e implementación.
Fácil integración con sistemas LLM e IA : los comandos de lenguaje natural se pueden traducir directamente en acciones de robot a través de funciones MCP.
Conjunto de funciones extensibles : agregue fácilmente nuevas funciones de control de robot o sensores ampliando la interfaz de la herramienta MCP.
No se requiere modificación del nodo ROS : interactúa con temas y servicios ROS/ROS2 existentes sin cambiar el código central de su robot.
Compatibilidad con comandos nativos ROS/ROS2 : admite opcionalmente el uso de bibliotecas ROS/ROS2 locales, de modo que puede ejecutar comandos y herramientas nativos de ROS junto con el control basado en WebSocket.
Contribuyendo
¡Las contribuciones son bienvenidas!
Ya sea que esté corrigiendo un error tipográfico, agregando una nueva función o sugiriendo mejoras, su ayuda es apreciada.
Siga las pautas de contribución para obtener más detalles sobre cómo contribuir a este proyecto.
Instalación
Instalación mediante herrería
Para instalar ros-mcp-server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claudeInstalación local
Instalación uv
Para instalar
uv, puedes utilizar el siguiente comando:
curl -LsSf https://astral.sh/uv/install.sh | sho
pip install uvCrear entorno virtual y activarlo (Opcional)
uv venv
source .venv/bin/activateConfiguración del servidor MCP
Establezca la configuración de MCP en mcp.json.
"ros-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-mcp-server",,
"run",
"server.py"
]
}Si usa Claude Desktop, puede encontrar mcp.json usando el siguiente comando:
MacOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonVentanas
code $env:AppData\Claude\claude_desktop_config.jsonFunciones MCP
Puede encontrar la lista de funciones en MCPFUNCTIONS.md .
Cómo utilizar
1. Configure la IP y el puerto para conectarse a Rosbridge.
Abra
server.pyy cambieLOCAL_IP,ROSBRIDGE_IPyROSBRIDGE_PORT. (El valor predeterminado deROSBRIDGE_PORTes9090).
2. Ejecute el servidor rosbridge.
ROS 1
roslaunch rosbridge_server rosbridge_websocket.launchROS 2
ros2 launch rosbridge_server rosbridge_websocket_launch.xml3. Ejecute cualquier sistema de IA que haya importado ros-mcp-server .
4. Escribe "Hacer que el robot avance".
5. Verifique rosbridge_server y ros topic .
rosbridge_serverros topic
Prueba de simulación
Control basado en MCP utilizando el manipulador móvil MOCA dentro del entorno de simulación NVIDIA Isaac Sim.