Pybullet MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with PyBullet physics simulations. Build physics-based projects through

Local serverstdioPython

What is the Pybullet MCP server?

A Model Context Protocol (MCP) server that enables AI assistants to interact with PyBullet physics simulations. Build physics-based projects through natural language interactions with AI agents. Exposed over MCP by the pybullet mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

  • 37 MCP Tools — Comprehensive API for physics simulation control including robot joint control
  • Simulation Management — Create and manage multiple independent physics simulations with configurable gravity
  • Object Manipulation — Add primitive shapes (box, sphere, cylinder, capsule) and URDF models with full property control
  • Robot Control — Query joint information, control motors (position/velocity/torque), and calculate inverse kinematics
  • Physics Control — Apply forces, torques, and step through simulations with configurable timesteps
  • State Persistence — Save and load complete simulation states to/from JSON files

Its toolset

Everything the assistant can do here goes through one of these:

  • Parameters — gravity (list[float], default: [0, 0, -9.81]), gui (bool, default: false)
  • Returns — simulation_id, gravity, gui_enabled
  • Note — "revolute" is NOT supported here — use generate_revolute_joint + load_urdf instead
  • Prerequisites — The Prerequisites tool exposed by this server

Adding it to your client

The server ships on PyPI as fastmcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Configuration

  • Python 3.9 or higher - pip package manager - Virtual environment (recommended)

When to reach for it

This sits in the planning and project tracking group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Pybullet's toolset — Parameters, Returns, Note and 1 more — is a fair guide to whether it matches your workflow. It is maintained by m1ndsmith; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the pybullet mcp server does with a few real requests.

Available tools

ToolWhat it does
Parametersgravity (list[float], default: [0, 0, -9.81]), gui (bool, default: false)
Returnssimulation_id, gravity, gui_enabled
Note"revolute" is NOT supported here — use generate_revolute_joint + load_urdf instead.
PrerequisitesThe Prerequisites tool exposed by this server.

How to install the Pybullet MCP server

{
  "mcpServers": {
    "pybullet": {
      "command": "uvx",
      "args": ["fastmcp"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Python 3.9 or higher - pip package manager - Virtual environment (recommended)

Example prompts to try

  • Use Pybullet to Parameters.
  • Use Pybullet to Returns.
  • Use Pybullet to Note.

Frequently asked questions

It connects Pybullet to MCP-compatible AI assistants such as Claude and Cursor, exposing 4 tools (Parameters, Returns, Note, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Pybullet directly.