使用说明
PyBullet MCP服务器
使用PyBullet提供物理仿真功能的模型上下文协议(MCP)服务器。该服务器允许外部应用程序通过标准化的MCP协议端点与PyBullet物理模拟进行交互。
特性
🎯 物理模拟:创建和管理3D物理模拟 🧊 对象管理:加载URDF对象、设置颜色、施加力 ⚡ 实时控制:步进模拟、设置速度、重置姿势 📊 状态监测:查询仿真状态和对象信息 🎲 场景生成:使用多个对象创建随机测试场景
组件
资源
服务器通过自定义bullet://URIs提供对仿真数据的访问:
bullet://simulation/status-当前仿真状态和参数bullet://simulation/objects-模拟中所有对象的列表bullet://simulation/physics_params-物理世界配置bullet://objects/{id}-单个对象详细信息和当前状态
工具
服务器实现了全面的物理模拟工具:
-
创建_模拟:初始化或重置物理世界
- 配置重力、时间步长、实时模式
- 在GUI或无头(DIRECT)模式之间进行选择
-
load_object:将URDF对象加载到模拟中
- 支持标准PyBullet对象(立方体、球体、r2d2等)
- 可配置的位置、方向、缩放和名称
-
set_object_color:更改对象外观
- 设置RGBA颜色值以进行视觉自定义
-
应用力:对物体施加力
- 世界框架或连杆框架力应用
- 可配置的力矢量和施力点
-
set_速度:控制对象运动
- 直接设置线速度和角速度
-
step_模拟:推进物理模拟
- 单个或多个模拟步骤
- 尊重实时约束
-
get_object_info:查询详细对象状态
- 位置、方向、速度和元数据
-
创建随机场景:生成测试场景
- 可配置的对象数量和区域大小
- 随机位置、方向和颜色
-
reset_object_pose:重置对象位置
- 精确的位置和方向控制
安装
- 克隆或下载此MCP服务器
- 使用uv安装依赖项:
uv sync --dev --all-extras
用法
使用克劳德桌面
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"bullet-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/bullet-mcp-server",
"run",
"bullet-mcp-server"
]
}
}
}
发展
直接运行服务器:
uv run bullet-mcp-server
或者在开发模式下:
uv run python -m bullet_mcp_server.server
示例用法
连接到Claude Desktop后,您可以:
-
创造一个物理世界: “使用标准重力创建新的物理模拟”
-
加载对象: 在[0,0,2]位置加载立方体,在[1,1,3]位置加载球体
-
应用物理学: “向立方体施加[10,0,0]的力,并将模拟步进100次”
-
创建场景: “在10x10区域中创建一个包含15个对象的随机场景”
-
监视状态: “显示所有物体的当前位置和速度”
发展
服务器是使用以下方式构建的:
- PyBullet:物理模拟引擎
- MCP-SDK:模型上下文协议实现
- 紫外线:快速Python包管理器
- Python 3.8+:现代Python功能
项目结构
bullet-mcp-server/
├── src/bullet_mcp_server/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── .github/
│ └── copilot-instructions.md
├── .vscode/
│ └── mcp.json # VS Code MCP configuration
├── pyproject.toml # Project configuration
└── README.md
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
这个项目是开源的。有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 查看PyBullet文档:https://pybullet.org/
- 审查MCP协议文件:https://modelcontextprotocol.io/
- 在此存储库中打开问题
]
}
}
Published Servers Configuration
``` "mcpServers": { "bullet-mcp-server": { "command": "uvx", "args": [ "bullet-mcp-server" ] } } ```发展
建筑与出版
准备分发包裹:
- 同步依赖关系并更新锁文件:
uv sync
- 构建包分发:
uv build
这将在 dist/ 目录。
- 发布到PyPI:
uv publish
注意:您需要通过环境变量或命令标志设置PyPI凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.
您可以通过以下方式启动MCP检查器 npm 使用此命令:
npx @modelcontextprotocol/inspector uv --directory /home/borges/dev/bullet-mcp-server run bullet-mcp-server
启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。