PIB MCP 服务器
一个模型上下文协议(MCP)服务器,用于通过自然语言与LLM控制PIB机器人。
特性
- 🤖 逆运动学将机器人的手移动到所需的位置(x,y,z)
- 📐 正向运动学: 从关节角度计算最终效应器位置
- 🎯 关节控制设置特定的关节角度以实现精确控制
- 💬 LLM集成使用自然语言通过Claude,ChatGPT等控制机器人。
安装
1. 条件
- Python≥3.9
- 点
2、安装依赖关系
# Repository klonen oder in das Verzeichnis wechseln
cd pib-mcp
# Virtual Environment erstellen (empfohlen)
python -m venv venv
# Virtual Environment aktivieren
# Windows PowerShell:
.\venv\Scripts\Activate.ps1
# Windows CMD:
.\venv\Scripts\activate.bat
# Linux/Mac:
source venv/bin/activate
# Abhängigkeiten installieren
pip install mcp pib-sdk替代所有依赖关系 pyproject.toml:
pip install -e .使用
Als MCP服务器已启动
python -m pib_mcp_server.server与 Claude Desktop 集成
将以下配置添加到您的 Claude Desktop Config:
视窗: %APPDATA%\Claude\claude_desktop_config.json\ macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"pib-robot": {
"command": "python",
"args": [
"-m",
"pib_mcp_server.server"
],
"cwd": "
"
}
}
}注释: 替换 通过这个项目的绝对道路!
如果您使用虚拟环境,请使用venv中的Python解释器:
{
"mcpServers": {
"pib-robot": {
"command": "
/Scripts/python.exe",
"args": [
"-m",
"pib_mcp_server.server"
]
}
}
}视窗: venv\Scripts\python.exe\ macOS/Linux: venv/bin/python
重新启动 Claude Desktop
配置完成后,重新启动 Claude Desktop 以加载 MCP 服务器。
可用工具
1. move_hand_to_position
将机器人的手移动到3D空间中的特定位置。
参数:
arm(string):“left”或“right”x(数字):X坐标,单位为毫米y(数字):Y坐标,单位为毫米z(数字):Z坐标,单位为毫米roll(数字,可选):Grad中的卷扬机pitch(数字,可选):以Grad为单位的Pitch Winkelyaw(数字,可选):Yaw Winkel in Grad
Claude的例子:
Bewege die rechte Hand des PIB-Roboters zur Position x=150, y=0, z=3502. set_joint_angles
设置机器人臂的特定关节角度。
参数:
arm(string):“left”或“right”joint1到joint6(编号):格勒的格伦温克尔
Claude的例子:
Setze die Gelenkwinkel des rechten Arms auf: 0, 45, 0, 0, 90, 03. get_hand_position
从给定的关节角度计算最终效应位置。
参数:
arm(string):“left”或“right”joint1到joint6(编号):格勒的格伦温克尔
Claude的例子:
Wo befindet sich die Hand, wenn der rechte Arm folgende Winkel hat: 0, 45, 0, 0, 90, 0?与Claude的对话
成功集成后,您可以向 Claude 提供以下指令:
- “将右手移动到位置 x=200, y=50, z=300”
- Claude 使用 move_hand_to_position 并计算所需的关节角度
- “把左手举起来比现在的位置高100毫米”
- Claude可以查询当前位置并计算新位置
- “做一个握手动作”
- 克劳德可以计划一系列的动作
Docker部署
标签:Docker Desktop
确保 Docker Desktop 已安装并启动:
- Windows/macOS:
- Linux安装 Docker Engine
Docker镜像包
# Mit Docker Compose (empfohlen)
docker-compose build
# Oder direkt mit Docker
docker build -t pib-mcp-server:latest .使用 Docker Desktop 运行
选项1:Docker桌面GUI
- 打开 Docker Desktop
- 转到“图片”→搜索
pib-mcp-server:latest - 点击“运行” → 选择“交互式”模式
- 容器现在正在运行并准备好进行 MCP 通信
选项2:命令行
Windows(PowerShell/CMD):
# Image bauen
docker-compose build
# Container starten
docker run -i --rm pib-mcp-server:latest或者使用提供的脚本:
.\run-docker.batmacOS/Linux:
# Skript ausführbar machen
chmod +x run-docker.sh
# Container starten
./run-docker.sh集成克劳德桌面(Docker桌面)
构建映像后,将此配置添加到您的 Claude 桌面配置:
配置路径 :
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
方法 1:直接 Docker 命令(推荐)
{
"mcpServers": {
"pib-robot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pib-mcp-server:latest"
]
}
}
}方法2:使用Wrapper脚本(Windows)
{
"mcpServers": {
"pib-robot": {
"command": "
\\run-docker.bat"
}
}
}方法3:Mit-Python包装器
{
"mcpServers": {
"pib-robot": {
"command": "python",
"args": [
"
/run-docker.py"
]
}
}
}重要 :
- 使用 Docker Image 之前
docker-compose build正在建设 - Docker桌面必须打开
- 对代码进行更改时,必须重建映像:
docker-compose build
Docker桌面中的Docker镜像版本
在代码更改后重建图像:
docker-compose build --no-cache显示正在运行的容器 :
docker ps显示日志 :
docker logs pib-mcp-server停止容器 :
docker stop pib-mcp-server清理(删除旧图像/容器):
docker system prune -a使用 Docker Compose
# Starten
docker-compose up -d
# Logs anzeigen
docker-compose logs -f
# Stoppen
docker-compose down与 Claude Desktop (Docker) 集成
内置Claude桌面配置(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"pib-robot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pib-mcp-server"
]
}
}
}重要Docker 映像必须先建立!
使用 docker-compose:
{
"mcpServers": {
"pib-robot": {
"command": "docker-compose",
"args": [
"-f",
"
/docker-compose.yml",
"run",
"--rm",
"pib-mcp-server"
]
}
}
}肺炎球菌
执行测试
pip install -e ".[dev]"
pytest启用日志记录
服务器使用Python的日志记录。欲了解更多详情:
import logging
logging.basicConfig(level=logging.DEBUG)技术细节
- MCP-SDK使用 Model Context Protocol SDK
- pib sdk使用机器人工具箱进行前向/反向运动学
- 没有 ROS/Gazebo 依赖关系Pure Python 实现
许可证
AGPL-3.0(与 pib-sdk 相同的许可证)
说明
⚠️ 重要此服务器仅计算关节角度。机器人的实际运动必须通过机器人控制器进行。在完整的实现中,您将在这里向机器人发送角度。
