> Fetch https://askmiles.ai/llms.txt first: it indexes every public Miles capability. This file is the markdown twin of https://askmiles.ai/docs/agents/openclaw.

# OpenClaw

Connect an OpenClaw agent to Miles two ways: the wallet over MCP, and Miles' chat answers as a skill.

## Two connections

One Miles account supports two connections. The MCP server gives your agent access to your wallet: read by default, writes only if you switch them on. The ask-miles skill gives it Miles' chat answers. Use both when your agent needs the wallet and a complete answer.

Requires a free Miles account. The wallet connection is copy-paste; the skill needs one API key, minted in Settings in a click.

### MCP

Your cards, valuations, and Miles' transfer math, as tools your agent calls directly. Add the server:

```bash
openclaw mcp set miles '{"url":"https://mcp.askmiles.ai/mcp","transport":"streamable-http","auth":"oauth"}'
```

```bash
openclaw mcp login miles
```

That prints an approval link and exits; it does not wait. Open the link, approve, and the browser lands on a localhost address that will not connect. That is expected: copy the `code` parameter from the page's address bar and finish with `openclaw mcp login miles --code <code>`.

The approval screen lists exactly what the app can see. Read access is what you are approving; changes to your wallet are a separate toggle on that screen, off unless you turn it on.

### mcporter

Managing your agent's MCP servers with mcporter? Same server, same approval screen. Run both commands from the same directory: mcporter keeps its config relative to where you run it. This flow finishes on its own once you approve in the browser:

```bash
mcporter config add miles --url https://mcp.askmiles.ai/mcp --auth oauth
```

```bash
mcporter auth miles
```

### Skill

The skill lets your agent ask Miles directly. It returns the same wallet-aware answer askmiles.ai gives, in one call. Read-only, always. Paste this to your agent:

```text
Fetch https://askmiles.ai/skills/ask-miles.md and install it as a skill named ask-miles. Then tell me what one-time authorization step I need to complete.
```

Sign-in is a personal API key you mint at [Settings → API keys](https://askmiles.ai/settings#api-keys) and paste in; the skill walks your agent through it, and through the OAuth alternative if your agent has to reach someone else's account. Or read the file itself at [https://askmiles.ai/skills/ask-miles.md](https://askmiles.ai/skills/ask-miles.md). The URL is stable; re-fetching it is the upgrade path.

### ClawHub

The same skill is listed on ClawHub, OpenClaw's own skill registry, if you would rather install it than paste a prompt:

```bash
clawhub install ask-miles
```

Identical bytes either way. The registry copy is pinned to a version, though, so the file above is the one that is always current; re-fetch it if the two ever disagree.

### Managing

The wallet connection and the skill are separate today; authorizing one does not authorize the other. The wallet connection is a grant: it appears, and can be paused or disconnected, at [Settings → Connected AI Apps](https://askmiles.ai/settings#connected-ai-apps). So is an OAuth chat grant, if your agent uses one.

A personal API key is managed next door, at [Settings → API keys](https://askmiles.ai/settings#api-keys), where you can see when each was last used and revoke it. The Connected AI Apps switch still governs it: paused there, a key stops authenticating too.

Connecting a different AI app? The server URL is the same everywhere: `https://mcp.askmiles.ai/mcp`. Claude, Codex, and ChatGPT are on [Connect](https://askmiles.ai/connect).
