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检查器 使用此命令:
npx @modelcontextprotocol/inspector uv --directory /home/borges/dev/bullet-mcp-server run bullet-mcp-server启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。
