Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ __pycache__

# node env (used by devcontainers cli)
node_modules
package.json
package-lock.json
/package.json
/package-lock.json

# Ignore build artifacts
dist/
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Dimensional is agent native -- "vibecode" your robots in natural language and bu
<tr>
<td align="center" width="50%">
<h3><a href="docs/capabilities/agents/readme.md">Agentive Control, MCP</a></h3>
"hey Robot, go find the kitchen"<br><a href="https://x.com/stash_pomichter/status/2015912688854200322">Watch video</a>
"hey Robot, go find the kitchen"<br><a href="https://x.com/stash_pomichter/status/2015912688854200322">Watch video</a><br><a href="dimos/agents/mcp/README.md">Run with OpenClaw</a>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Roboclaw"

</td>
<td align="center" width="50%">
<h3>Spatial Memory</a></h3>
Expand Down
127 changes: 107 additions & 20 deletions dimos/agents/mcp/README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,142 @@
# DimOS MCP Server
# DimOS MCP Server with OpenClaw
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dimOS MCP Server OR openclaw. we support mcp wihtout openclaw of course need to make clear


Expose DimOS robot skills to Claude Code via Model Context Protocol.
The OpenClaw plugin lives at `dimos/web/plugin_openclaw/`. It bridges DimOS MCP tools into the OpenClaw agent system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't have Openclaw take over the MCP readme. Revert all the changes to this file and add "Roboclaw" readme to the botton or put roboclaw readme as a seperate readme.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pushed MCP readme to bottom and added Openclaw instructions on the top. Nothing is removed.
Readme is 2 parts - MCP with Openclaw, and MCP with ClaudeCode.
Maybe, I can add a section at the top specifying this


## Setup
## How It Works

1. DimOS starts a FastAPI MCP server on port 9990, exposing robot skills as JSON-RPC tools
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no need to mention FastAPI. It would be more useful to mention the transport used.

DimOS starts an MCP server on port 9990 using the SSE transport (HTTP), exposing robot skills as tools.

2. The OpenClaw plugin discovers these tools on startup and registers them with the OpenClaw agent
3. User sends natural language commands via OpenClaw, which the agent translates into MCP tool calls
4. Flow: User → OpenClaw Agent → Plugin → HTTP/JSON-RPC → DimOS MCP → Robot

## Prerequisites

If you haven't cloned and installed DimOS yet, follow the [main README](../../README.md) first.

Install pnpm:

```bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
```

## Terminal 1 — DimOS MCP server

Install dependencies:

```bash
uv sync --extra base --extra unitree
```

Add to Claude Code (one command)
For hardware (set `ROBOT_IP` in your environment):

```bash
claude mcp add --transport http --scope project dimos http://localhost:9990/mcp
export ROBOT_IP=<YOUR_ROBOT_IP>
uv run dimos run unitree-go2-agentic-mcp
```

For simulation:

```bash
uv run dimos --simulation run unitree-go2-agentic-mcp
```

Verify that it was added:
## Terminal 2 — OpenClaw gateway

First time only — install and configure the plugin:
Comment on lines +43 to +45
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Em dashes are signs that the docs were AI generated.

Suggested change
## Terminal 2 OpenClaw gateway
First time only — install and configure the plugin:
## Terminal 2: OpenClaw gateway
Install and configure the plugin:


```bash
claude mcp list
cd dimos/web/plugin_openclaw
pnpm install
pnpm openclaw plugins install -l .
pnpm openclaw config set plugins.entries.dimos.enabled true
pnpm openclaw config set gateway.mode local
```

## MCP Inspector
Set your API keys (first time only):

If you want to inspect the server manually, you can use MCP Inspector.
```bash
echo "ANTHROPIC_API_KEY=<YOUR_KEY>" >> ~/.openclaw/.env
echo "OPENCLAW_GATEWAY_TOKEN=<YOUR_TOKEN>" >> ~/.openclaw/.env # can be any string, e.g. "test1"
```

Install it:
Start the gateway:

```bash
npx -y @modelcontextprotocol/inspector
cd dimos/web/plugin_openclaw
pnpm openclaw gateway run --port 18789 --verbose
```

You should see `dimos: discovered <N> tool(s)` confirming the plugin loaded.

## Terminal 3 — Send commands

```bash
cd dimos/web/plugin_openclaw
pnpm openclaw agent --session-id dimos-test --message "move forward 1 meter"
```

Or use the interactive TUI:

```bash
cd dimos/web/plugin_openclaw
pnpm openclaw tui
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isnt it just openclaw tui?

Copy link
Contributor Author

@ruthwikdasyam ruthwikdasyam Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that works if openclaw is installed globally. we install it locally via pnpm install in plugin dir. so need to pnpm openclaw tui to run it from local node_modules
if we do pnpm add -g openclaw sets global_path, then openclaw tui works

```

It will open a browser window.
# DimOS MCP Server with Claude Code
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# is h1 so you can only have one per page. Maybe you should have # Model Context Protocol at the top of the page and add an extra # to all titles.


## How It Works

1. DimOS starts a FastAPI MCP server on port 9990, exposing robot skills as JSON-RPC tools
2. Claude Code connects directly to the MCP server over HTTP
3. User sends natural language commands, which Claude translates into MCP tool calls

## Prerequisites

If you haven't cloned and installed DimOS yet, follow the [main README](../../README.md) first.

## Terminal 1 — DimOS MCP server

Change **Transport Type** to "Streamable HTTP", change **URL** to `http://localhost:9990/mcp`, and **Connection Type** to "Direct". Then click on "Connect".
Install dependencies:

## Usage
```bash
uv sync --extra base --extra unitree
```

For hardware (set `ROBOT_IP` in your environment):

**Terminal 1** - Start DimOS:
```bash
export ROBOT_IP=<YOUR_ROBOT_IP>
uv run dimos run unitree-go2-agentic-mcp
```

**Claude Code** - Use robot skills:
For simulation:

```bash
uv run dimos --simulation run unitree-go2-agentic-mcp
```

## Terminal 2 — Claude Code

Add the MCP server (one-time):

```bash
claude mcp add --transport http --scope project dimos http://localhost:9990/mcp
```

Use robot skills:

```
> move forward 1 meter
> go to the kitchen
> tag this location as "desk"
```

## How It Works
# MCP Inspector

For manual inspection:

```bash
npx -y @modelcontextprotocol/inspector
```

1. `McpServer` in the blueprint starts a FastAPI server on port 9990
2. Claude Code connects directly to `http://localhost:9990/mcp`
3. Skills are exposed as MCP tools (e.g., `relative_move`, `navigate_with_text`)
Change **Transport Type** to "Streamable HTTP", **URL** to `http://localhost:9990/mcp`, and **Connection Type** to "Direct". Click "Connect".
Loading
Loading