Metadata-Version: 2.5
Name: openbot-mcp
Version: 0.1.0.dev0
Summary: MCP server for OpenBot: robot data audit, training readiness and Catalog tools for AI agents.
Project-URL: Homepage, https://openbot.ai
Project-URL: Repository, https://github.com/openbotai/openbot-mcp
Project-URL: Issues, https://github.com/openbotai/openbot-mcp/issues
Author-email: "OpenBot.ai" <hello@openbot.ai>
License: MIT
License-File: LICENSE
Keywords: AI agents,LeRobot,MCP,Model Context Protocol,OpenBot.ai,embodied AI,physical AI,robotics
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: mcp<3,>=2.2
Provides-Extra: dev
Requires-Dist: anyio>=4.0.0; extra == 'dev'
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: mypy>=1.11.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.6.0; extra == 'dev'
Requires-Dist: twine>=6.2.0; extra == 'dev'
Description-Content-Type: text/markdown

# openbot-mcp

`openbot-mcp` is the [Model Context Protocol](https://modelcontextprotocol.io) server for
[OpenBot.ai](https://openbot.ai). It lets AI agents such as Claude Code, Cursor and Claude Desktop
use OpenBot tools for physical AI data work.

> Status: **skeleton.** PyPI has only the pre-release `0.1.0.dev0`, published to reserve the name;
> `pip install openbot-mcp` does not select it. Only the `server_status` tool exists. Data audit,
> training readiness, Catalog and judgment tools are being designed.

## Run from source

```bash
pip install -e ".[dev]"
OPENBOT_MCP_ROOTS=/path/to/data openbot-mcp
```

Claude Code:

```bash
claude mcp add openbot -e OPENBOT_MCP_ROOTS=/path/to/data -- openbot-mcp
```

Other MCP clients use the same command in their MCP configuration file:

```json
{
  "mcpServers": {
    "openbot": {
      "command": "openbot-mcp",
      "env": { "OPENBOT_MCP_ROOTS": "/path/to/data" }
    }
  }
}
```

## Configuration

| Variable | Required | Description |
|---|---|---|
| `OPENBOT_MCP_ROOTS` | Yes, for local tools | Directories the server may read, separated by the OS path separator. Paths outside them, including symlinks that point outside, are rejected. |
| `OPENBOT_MCP_OUTPUT_DIR` | No | Where artifacts are written. Default `./openbot-output`. |
| `OPENBOT_BASE_URL` | No | OpenBot API base URL. Default `https://api.openbot.ai/v1`. |
| `OPENBOT_MCP_REDACT_PATHS` | No | Default `true`: replace file paths with episode-relative ids in evidence sent to paid APIs. |
| `OPENBOT_MCP_PAID_TOOLS` | No | Default `false`: paid tools stay hidden until they are available. |

## Data boundary

Local tools only read the directories in `OPENBOT_MCP_ROOTS` and only write to the output
directory. The server never modifies source data, never runs shell commands and collects no
telemetry.

## Development

```bash
pip install -e ".[dev]"
python scripts/check_version.py
pytest -v
ruff check src tests scripts
mypy src
python -m build
```

`VERSION` is the package version source of truth. To release, update `VERSION` and
`CHANGELOG.md`, verify locally, then publish a GitHub Release whose tag is `v<version>`. The
release workflow tests every supported Python, builds the distributions and publishes to PyPI
through a trusted publisher.

## Package boundaries

- `openbot-mcp`: MCP server for AI agents.
- `openbot-data`: local robot/ego data processing library.
- `openbot-sdk`: OpenBot platform API client.

## License

MIT
