OmniSim MCP

The OmniSim MCP server gives an agent 46 robot simulator tools: loading worlds, pausing, single-stepping and debugging.

  • 192 ★ on the repository
  • Last commit
MCP serverOfficial

Extended access

Why this level

  • The server drives a local simulator over HTTP and can run robot controllers and machine programs in simulation.
  • An installed simulator is required, and it also runs code on your machine.
All reasons and checks

omnilink-tech/omnisim

Install

Manual install

{"mcpServers": {"omnisim": {"command": "python", "args": ["-m", "omnisim_mcp"], "env": {"PYTHONPATH": "packages/omnisim-mcp/src", "OMNISIM_HARNESS_URL": "http://127.0.0.1:6789"}}}}

The configuration from the repository's `.mcp.json`: Claude Code loads it when the project directory is opened, and the server runs without installation.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server drives a local simulator over HTTP and can run robot controllers and machine programs in simulation.
  • An installed simulator is required, and it also runs code on your machine.

This is third-party code. Review the repository files before installing.

What it does

OmniSim is an open robotics workshop where an agent works with a physics simulator. The repository's MCP server `omnisim-mcp` proxies the World Harness tools: load a world, run it, inspect it and find out what happened. Claude Code, Claude Desktop, Cursor and other MCP clients run robots, set `sim_pause` and `sim_break` and read contacts, joint limits and events from one stream. The instruments say when they cannot see: `get_contacts` returns completeness and reasons for an empty result, while `get_capabilities` lists what the simulator refuses to do. Digital twins of a CNC router, laser cutter and 3D printer and a Codex plugin sit alongside.

Who it is for. Roboticists and students who debug robots in simulation together with an agent and have no access to hardware.

Good fit when

  • A simulated robot behaves oddly and you need a breakpoint on a contact event.
  • An agent builds a world and runs a controller from a plain-language command.
  • You need to see which joints hit limits and when.
  • A robot part is made on a CNC twin before the real machine.
  • A design is tested in a realistic simulator while hardware is unavailable.

Not a fit when

  • You need a simple documentation server; these MCP tools drive the simulator itself.
  • The computer runs macOS, which the project does not support.
  • Verification on a real robot is required; the author has not yet run the bridge on a real GRBL board.

Example request

Load the manipulator world, break on the first contact and show which joints reached their limits.

MCP

Transport
stdio
Authentication
not required

Environment variables

OMNISIM_HARNESS_URL
Simulator harness URL, default http://127.0.0.1:6789

Limitations

The server is only a proxy: the simulator and its harness on port 6789 start first with `python -m omnisim harness`. A prebuilt package exists only for Windows 10 and 11, while on Ubuntu 24.04 and 22.04 the project builds from source in 25–45 minutes, and macOS is unsupported. The `omnisim-mcp` package is not on PyPI at the moment, so the server runs from the project directory through `python -m omnisim_mcp`. Outside a pause, event detection follows the supervisor tick and can miss an event: use `sim_pause` first, then `sim_step`. Some commands require an OmniKey.

How to disable. Remove the `omnisim` entry from the client's MCP configuration and stop the harness. The project is removed with its install directory.

FAQ

How do I connect OmniSim MCP to Claude Code?

Open the project directory: the `.mcp.json` at its root registers the server with no install. First start the harness with `python -m omnisim harness`.

Which clients are supported?

Claude Code, Claude Desktop, Cursor and any MCP client. Cursor and Claude Desktop have separate config snippets in the package documentation.

How many tools does the server have?

46. Each makes one HTTP call to the simulator harness that a human drives too.

How do I pause and step?

`sim_pause` holds the engine across calls under a lease, 30 seconds by default, `sim_step` advances the simulation and `sim_break` stops it on an event.

Does it work on macOS?

No. There is no package or verified build and Newton physics is unverified. Use Windows or Ubuntu 24.04.

Discussion

No questions or reviews yet.

Official

An MCP server for ROS 2: the agent inspects robot topics, services and actions, reads maps and point clouds and can drive it

MCP serverBroad access99Repository stars

Robotics skills for Claude Code, Codex, Gemini CLI and Cursor: ROS 2, simulators, navigation and runnable demos.

SkillExtended access108Repository stars

The openmcp CLI and a VS Code extension for debugging MCP servers: tools, prompts and resources, chat with a model, test cases

CLIExtended access750Repository stars

MCP server for CODESYS V3.5: Claude reads and edits Structured Text, compiles with the real compiler and runs the simulation.

MCP serverBroad access131Repository stars

A transparent proxy between an AI client and an MCP server: shows every JSON-RPC frame in the terminal, checks a capture in CI and exports spans

CLIBroad access368Repository stars

VS Code extension for finding and installing MCP servers and skills for GitHub Copilot, Claude Code and Codex CLI

PluginBroad access508Repository stars

README in short

The repository describes the whole simulator: physics, machine digital twins, assembling a robot from a concept sketch and comparison with other simulators. The MCP server is a separate package that only forwards agent calls to the harness.

README badge

Report a problem