bullet-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bullet-mcp-serverCreate a simulation with gravity and load a cube at (0,0,2)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PyBullet MCP Server
A Model Context Protocol (MCP) server that provides physics simulation capabilities using PyBullet. This server allows external applications to interact with PyBullet physics simulations through standardized MCP protocol endpoints.
Features
šÆ Physics Simulation: Create and manage 3D physics simulations š§ Object Management: Load URDF objects, set colors, apply forces ā” Real-time Control: Step simulation, set velocities, reset poses š State Monitoring: Query simulation status and object information š² Scene Generation: Create random test scenes with multiple objects
Components
Resources
The server provides access to simulation data through custom bullet:// URIs:
bullet://simulation/status- Current simulation state and parametersbullet://simulation/objects- List of all objects in the simulationbullet://simulation/physics_params- Physics world configurationbullet://objects/{id}- Individual object details and current state
Tools
The server implements comprehensive physics simulation tools:
create_simulation: Initialize or reset the physics world
Configure gravity, time step, real-time mode
Choose between GUI or headless (DIRECT) mode
load_object: Load URDF objects into the simulation
Support for standard PyBullet objects (cube, sphere, r2d2, etc.)
Configurable position, orientation, scaling, and name
set_object_color: Change object appearance
Set RGBA color values for visual customization
apply_force: Apply forces to objects
World frame or link frame force application
Configurable force vector and application point
set_velocity: Control object motion
Set linear and angular velocities directly
step_simulation: Advance the physics simulation
Single or multiple simulation steps
Respects real-time constraints
get_object_info: Query detailed object state
Position, orientation, velocities, and metadata
create_random_scene: Generate test scenarios
Configurable number of objects and area size
Random positions, orientations, and colors
reset_object_pose: Reset object positions
Precise position and orientation control
Installation
Clone or download this MCP server
Install dependencies using uv:
uv sync --dev --all-extras
Usage
With Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"bullet-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/bullet-mcp-server",
"run",
"bullet-mcp-server"
]
}
}
}Development
Run the server directly:
uv run bullet-mcp-serverOr in development mode:
uv run python -m bullet_mcp_server.serverExample Usage
Once connected to Claude Desktop, you can:
Create a physics world: "Create a new physics simulation with standard gravity"
Load objects: "Load a cube at position [0, 0, 2] and a sphere at [1, 1, 3]"
Apply physics: "Apply a force of [10, 0, 0] to the cube and step the simulation 100 times"
Create scenes: "Create a random scene with 15 objects in a 10x10 area"
Monitor state: "Show me the current positions and velocities of all objects"
Development
The server is built using:
PyBullet: Physics simulation engine
MCP SDK: Model Context Protocol implementation
uv: Fast Python package manager
Python 3.8+: Modern Python features
Project Structure
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.mdContributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is open source. See the license file for details.
Support
For issues and questions:
Check the PyBullet documentation: https://pybullet.org/
Review MCP protocol docs: https://modelcontextprotocol.io/
Open an issue in this repository ] } }
Development
Building and Publishing
To prepare the package for distribution:
Sync dependencies and update lockfile:
uv syncBuild package distributions:
uv buildThis will create source and wheel distributions in the dist/ directory.
Publish to PyPI:
uv publishNote: You'll need to set PyPI credentials via environment variables or command flags:
Token:
--tokenorUV_PUBLISH_TOKENOr username/password:
--username/UV_PUBLISH_USERNAMEand--password/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv --directory /home/borges/dev/bullet-mcp-server run bullet-mcp-serverUpon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devgabrielsborges/bullet-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server