MCP server for Universal Robots control
Project description
Universal Robot MCP Server
A Model Context Protocol (MCP) server that provides AI assistants and LLM applications with secure, controlled access to Universal Robots functionality. This server enables real-time robot control, status monitoring, and motion planning through a standardized MCP interface.
Features
- Robot Connection Management - Connect/disconnect from UR robots safely
- Real-time Status Monitoring - Get joint positions, poses, and robot health
- Joint Motion Control - Precise angular movement with safety limits
- Linear Motion Control - Cartesian path planning and execution
- Simulation Mode - Test and develop without physical hardware
- Safety First - Built-in collision detection and movement validation
Installation
Quick Start with uvx (Recommended)
uvx universal-robot-mcp
Install via pip
pip install universal-robot-mcp
Development Installation
git clone <repository-url>
cd universal-robot-mcp
pip install -e .
Usage
AI Assistant Integration
Claude Desktop
{
"mcpServers": {
"universal-robot": {
"command": "uvx",
"args": ["universal-robot-mcp"]
}
}
}
Cursor / Other MCP Clients
{
"mcpServers": {
"universal-robot": {
"command": "universal-robot-mcp"
}
}
}
VS Code with MCP
{
"mcp.servers": {
"universal-robot": "uvx universal-robot-mcp"
}
}
Direct Usage
# Run the server directly
python -m universal_robot_mcp.server
# Or use the installed script
universal-robot-mcp
Available Tools
| Tool | Description | Parameters |
|---|---|---|
connect_robot |
Establish connection to UR robot | robot_ip (default: 192.168.1.100) |
disconnect_robot |
Safely disconnect from robot | None |
get_robot_status |
Get current joint positions and pose | None |
move_robot_joints |
Move to specific joint angles | joint1-6, acceleration, velocity |
move_robot_linear |
Linear movement in Cartesian space | x,y,z,rx,ry,rz, acceleration, velocity |
Example Conversations
Once configured with your AI assistant:
- "Connect to the robot and show me its current status"
- "Move the robot to home position safely"
- "Execute a pick and place motion from coordinates X to Y"
- "What are the current joint angles?"
- "Move the robot 10cm up in the Z direction"
Robot Configuration
Network Setup
- Default robot IP:
192.168.1.100 - Ensure robot is connected to your network
- Verify robot is in Remote Control mode
Safety Features
- Automatic TCP and payload configuration
- Movement speed and acceleration limits
- Connection timeout handling
- Emergency stop capabilities
Supported Platforms
- AI Assistants: Claude Desktop, Cursor, Roo Code, Cline
- IDEs: VS Code, JetBrains IDEs (with MCP plugins)
- Platforms: macOS, Linux, Windows
- Python: 3.8, 3.9, 3.10, 3.11
License
GPL-3.0
Contributing
Contributions welcome! See our contributing guide for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file universal_robot_mcp-0.1.4.tar.gz.
File metadata
- Download URL: universal_robot_mcp-0.1.4.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea6db95e0906db185a920a87367055cab3b14383c9a87642bb038937448b0bd1
|
|
| MD5 |
9d94ed291f7ff4fab7d853cdbbb80102
|
|
| BLAKE2b-256 |
f7d0e9f961d1ac06258100e55a1027531f8928664933659cdb3729e7d5379a48
|
File details
Details for the file universal_robot_mcp-0.1.4-py3-none-any.whl.
File metadata
- Download URL: universal_robot_mcp-0.1.4-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bd27c6e8f37086a44259b2b86b59e7df8383174b8bad3bbbc64a30affdedae1
|
|
| MD5 |
5cb6b7de730dc58cf5be3936f0418592
|
|
| BLAKE2b-256 |
a14ec7e620435b37cee222eb858d90ab6a2a27b8aa95e2f3909603e2ef7f0bb9
|