Metadata-Version: 2.4
Name: isaacsim-mcp
Version: 0.1.0
Summary: MCP server that bridges MCP Client to a running NVIDIA Isaac Sim instance
Project-URL: Homepage, https://github.com/mochan-b/isaacsim-mcp
Project-URL: Issues, https://github.com/mochan-b/isaacsim-mcp/issues
Author: Mochan Shrestha
License: MIT
Keywords: isaac-sim,mcp,nvidia,robotics,simulation
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: mcp>=1.26.0
Description-Content-Type: text/markdown

# isaacsim-mcp

MCP server that lets MCP Client execute Python code inside a running [NVIDIA Isaac Sim](https://developer.nvidia.com/isaac-sim) instance and read its console output.

It uses the `Isaac Sim VS Code Edition` extension's code executor API to send code to Isaac Sim and read the log file directly for console output. This allows you to run arbitrary Python code in Isaac Sim and get its results back in your MCP Client.

## Prerequisites

- NVIDIA Isaac Sim with the **Isaac Sim VS Code Edition** extension enabled (`isaacsim.code_editor.vscode`)
- The extension's code executor must be running and reachable on `127.0.0.1:8226` (default)

## Installation

```bash
pip install isaacsim-mcp
```

Or for an editable local install:

```bash
git clone https://github.com/mochan-b/isaacsim-mcp
cd isaacsim-mcp
pip install -e .
```

In Isaac Sim, enable the `isaacsim.code_editor.vscode` extension.

![alt text](docs/images/vscode.png)

#### Add to your MCP client. 

For example, assuming your virtual environment is located at `.venv`, in Codex:
```bash
codex mcp add isaacsim-mcp -- .venv/bin/isaac-mcp-server
```
and Claude
```bash
claude mcp add isaacsim-mcp -- .venv/bin/isaac-m
```

## Tools exposed to MCP Client

| Tool | Description |
|------|-------------|
| `check_isaac_connection` | Test whether Isaac Sim's executor is reachable |
| `execute_isaac_code` | Run Python code inside Isaac Sim and return its output |
| `get_isaac_console_errors_warnings` | Read warnings and errors from the Isaac Sim log |

### Timeouts

`execute_isaac_code` has a `timeout` parameter (default 10 s). For long-running operations such as loading a USD stage or running a simulation loop, pass a larger value:

```
execute_isaac_code(code="...", timeout=60)
```

The MCP server is launched by the MCP client.

## Standalone CLI

Both helper modules can be used directly without Claude:

```bash
# Send code to Isaac Sim
python -m isaac_send --code "import omni; print(omni.__version__)"
python -m isaac_send --file my_script.py
python -m isaac_send --timeout 30 --file long_running.py

# Read Isaac Sim log
python -m isaac_console                          # last 50 warnings/errors
python -m isaac_console -n 100 -e               # last 100 errors only
python -m isaac_console --since 2026-03-01T12:00:00Z
```
## Usage

![alt text](docs/images/isaacsim.png)

## License

MIT
