@buildaureon/mcp 0.1.2 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -19
- package/dist/index.js +297 -11
- package/dist/index.js.map +1 -1
- package/docs/agent-guide.md +192 -8
- package/docs/architecture.md +7 -7
- package/docs/auth.md +15 -13
- package/docs/security.md +5 -5
- package/docs/setup.md +18 -17
- package/docs/tools.md +223 -11
- package/examples/claude-desktop.json +0 -1
- package/examples/cursor.mcp.json +0 -1
- package/package.json +66 -62
package/docs/auth.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authentication Guide
|
|
2
2
|
|
|
3
|
-
How **`@buildaureon/mcp`** `v0.1.1` authenticates to the live AUREON API — aligned with `@buildaureon/sdk`, safe for humans and for agents that call the **
|
|
3
|
+
How **`@buildaureon/mcp`** `v0.1.1` authenticates to the live AUREON API — aligned with `@buildaureon/sdk`, safe for humans and for agents that call the **43** stdio tools.
|
|
4
4
|
|
|
5
5
|
Related docs: [Setup](./setup.md) · [Tools](./tools.md) · [Agent guide](./agent-guide.md) · [Architecture](./architecture.md) · [Security](./security.md) · [Package README](../README.md)
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ If you have not configured the host yet, start with [./setup.md](./setup.md), th
|
|
|
19
19
|
|
|
20
20
|
## Goals of MCP auth
|
|
21
21
|
|
|
22
|
-
1. Reach `
|
|
22
|
+
1. Reach the resolved API (default local mainnet `http://127.0.0.1:8788` / 4663). Opt in to the public host with `AUREON_NETWORK=testnet` (still 46630).
|
|
23
23
|
2. Bind control-plane actions to a wallet identity (issued key or Bearer session).
|
|
24
24
|
3. Keep signing and broadcasting of on-chain vault steps **outside** MCP.
|
|
25
25
|
4. Prefer a long-lived issued key for always-on agents over interactive wallet handshakes.
|
|
@@ -49,9 +49,10 @@ Plain language:
|
|
|
49
49
|
|
|
50
50
|
| Variable | Role |
|
|
51
51
|
| --- | --- |
|
|
52
|
-
| `AUREON_API_KEY` | Preferred. Issued developer key
|
|
52
|
+
| `AUREON_API_KEY` | Preferred. Issued developer key. |
|
|
53
53
|
| `AUREON_AUTH_TOKEN` | Optional Bearer. Use when you intentionally want a session without (or in addition to) a key — see conflict rules below. |
|
|
54
|
-
| `
|
|
54
|
+
| `AUREON_NETWORK` | Optional. Omit for mainnet (4663 / 8788). Set `testnet` for the public host (still 46630). |
|
|
55
|
+
| `AUREON_API_URL` | Optional override. Must match `AUREON_NETWORK` if both are set. |
|
|
55
56
|
|
|
56
57
|
Startup rule: at least one of `AUREON_API_KEY` or `AUREON_AUTH_TOKEN` must be set or the MCP process exits with a clear error.
|
|
57
58
|
|
|
@@ -65,18 +66,18 @@ This is the default for Cursor, Claude, and other always-on agents.
|
|
|
65
66
|
|
|
66
67
|
### Steps
|
|
67
68
|
|
|
68
|
-
1.
|
|
69
|
+
1. Issue a key on the **same** API you will call. Local mainnet: Developers on `http://127.0.0.1:5174`. Public testnet: [app.aureonlabs.network](https://app.aureonlabs.network) (still 46630).
|
|
69
70
|
2. Connect the wallet that should own objectives and Capital Book state.
|
|
70
71
|
3. Open **Developers** and create a key (name it after the host, e.g. `cursor-mcp`).
|
|
71
72
|
4. Copy the secret once into the host MCP `env` as `AUREON_API_KEY`.
|
|
72
73
|
5. Do **not** set `AUREON_AUTH_TOKEN` unless you have a specific reason.
|
|
73
74
|
6. Restart the host and call `aureon_ping` then `aureon_me`.
|
|
74
75
|
|
|
75
|
-
Minimal env:
|
|
76
|
+
Minimal env (local mainnet 8788 / 4663):
|
|
76
77
|
|
|
77
78
|
```bash
|
|
78
|
-
AUREON_API_URL=https://api.aureonlabs.network
|
|
79
79
|
AUREON_API_KEY=aureon_....
|
|
80
|
+
# AUREON_NETWORK=testnet # only for the public host (still 46630)
|
|
80
81
|
```
|
|
81
82
|
|
|
82
83
|
With only the issued key, agents can sync portfolio, create objectives, fetch restore plans, restore, refresh watchdog, and manage developer keys — without an interactive signature each session.
|
|
@@ -218,9 +219,9 @@ Never paste a private key into MCP tool arguments or host env “for convenience
|
|
|
218
219
|
| `401` Unauthorized | Key revoked/paused, Bearer expired, or typo | Rotate key or re-verify wallet |
|
|
219
220
|
| Wrong wallet on `aureon_me` | Bearer winning over key | `aureon_logout`; remove env Bearer; restart |
|
|
220
221
|
| `aureon_verify_wallet` fails | Bad signature, stale nonce, or missing invite | New nonce; re-sign; supply `inviteCode` if required |
|
|
221
|
-
| `aureon_dev_login` fails on live API | Expected | Use issued key
|
|
222
|
+
| `aureon_dev_login` fails on live API | Expected | Use an issued key. Public host is still 46630. |
|
|
222
223
|
| Prepare tools succeed but funds do not move | Unsigned steps not broadcast | Sign outside MCP with a real wallet |
|
|
223
|
-
| Agent invents a local API URL | Misconfigured override |
|
|
224
|
+
| Agent invents a local API URL | Misconfigured override | Omit `AUREON_API_URL` for 8788, or set `AUREON_NETWORK=testnet` |
|
|
224
225
|
|
|
225
226
|
Map structured SDK errors in tool output to the same categories; do not retry blindly on `401` without rotating credentials.
|
|
226
227
|
|
|
@@ -247,13 +248,14 @@ Map structured SDK errors in tool output to the same categories; do not retry bl
|
|
|
247
248
|
MCP host (Cursor / Claude)
|
|
248
249
|
│ stdio
|
|
249
250
|
▼
|
|
250
|
-
@buildaureon/mcp (
|
|
251
|
+
@buildaureon/mcp (54 tools, no private key)
|
|
251
252
|
│
|
|
252
253
|
▼
|
|
253
254
|
@buildaureon/sdk (HTTP, retries, types)
|
|
254
|
-
│
|
|
255
|
+
│ HTTP(S) + API key and/or Bearer
|
|
255
256
|
▼
|
|
256
|
-
|
|
257
|
+
default http://127.0.0.1:8788 (4663)
|
|
258
|
+
opt-in https://api.aureonlabs.network (still 46630)
|
|
257
259
|
│
|
|
258
260
|
├── control plane (objectives, portfolio, restore, …)
|
|
259
261
|
└── prepare vault steps → human/agent signs elsewhere
|
|
@@ -318,7 +320,7 @@ Do not reuse the compromised secret “temporarily.” Treat rotation as mandato
|
|
|
318
320
|
|
|
319
321
|
- Issued key → API key header / client option
|
|
320
322
|
- Bearer → access token via the session provider
|
|
321
|
-
- Base URL → `
|
|
323
|
+
- Base URL → `http://127.0.0.1:8788` by default (4663). Public host is `AUREON_NETWORK=testnet` (still 46630).
|
|
322
324
|
|
|
323
325
|
If a typed SDK script works with your issued key but MCP fails, compare env names (`AUREON_API_KEY` vs hard-coded client options) and confirm the host actually injects env into the stdio child process.
|
|
324
326
|
|
package/docs/security.md
CHANGED
|
@@ -15,12 +15,12 @@ This document is for operators configuring agent hosts and for AI agents that mu
|
|
|
15
15
|
| Private key | Never enters MCP env or process | Full fund theft if combined with broadcast capability |
|
|
16
16
|
| Host LLM / agent | Can call any enabled tool | Prompt injection or confused deputy may trigger writes |
|
|
17
17
|
| Operator utility | Separate wallet-Bearer UI | Unrelated to MCP, but same API identity if same wallet |
|
|
18
|
-
|
|
|
18
|
+
| HTTP(S) to API | Default local 8788 (4663). Public host TLS is `https://api.aureonlabs.network` (still 46630) | MITM if URL pointed at attacker |
|
|
19
19
|
|
|
20
20
|
```mermaid
|
|
21
21
|
flowchart LR
|
|
22
22
|
Host[MCP_host_and_LLM] -->|tool_calls_stdio| MCP[local_MCP_adapter]
|
|
23
|
-
MCP -->|API_key_and_optional_Bearer| API[
|
|
23
|
+
MCP -->|API_key_and_optional_Bearer| API[8788_or_public_testnet_host]
|
|
24
24
|
MCP -.->|never_holds| PK[private_keys]
|
|
25
25
|
Human[Human_operator] -->|reviews_and_signs| Chain[Robinhood_Chain]
|
|
26
26
|
API --> Vault[Smart_Vault]
|
|
@@ -171,7 +171,7 @@ MCP hosts typically store command + env in a JSON (or UI) config. Hygiene rules:
|
|
|
171
171
|
1. **Secrets only in env fields** managed by the host — not in chat history, not in repo files checked into git.
|
|
172
172
|
2. **Do not commit** MCP config files that contain live keys. Prefer redacted examples in docs (see package `examples/`).
|
|
173
173
|
3. **Restrict workspace access** — anyone who can edit MCP config can point the agent at their own key or change the API base URL.
|
|
174
|
-
4. **Watch `AUREON_API_URL` overrides** — only use non-default
|
|
174
|
+
4. **Watch `AUREON_API_URL` overrides** — only use a non-default base when you intentionally target a documented other host (local 8788 is the omitted default; public `api.aureonlabs.network` is still testnet 46630). A malicious override is a credential phishing vector.
|
|
175
175
|
5. **Browser vs agent hosting** — browser-based agent products may persist configs in cloud profiles; treat those as higher risk than a local desktop host you control. Prefer short-lived keys and aggressive revoke there.
|
|
176
176
|
6. **Disable MCP** when not needed — reduce accidental write tool invocation.
|
|
177
177
|
7. **Never ask the model to echo env** — including “debug by printing AUREON_API_KEY.”
|
|
@@ -207,7 +207,7 @@ Use this before enabling `@buildaureon/mcp` on a machine that can affect real ca
|
|
|
207
207
|
- [ ] Issued API key created specifically for this host
|
|
208
208
|
- [ ] Key stored only in host secret/env config (not in git)
|
|
209
209
|
- [ ] Private keys absent from MCP env and agent-accessible storage
|
|
210
|
-
- [ ] Default API
|
|
210
|
+
- [ ] Default API is local 8788 / 4663 unless `AUREON_NETWORK=testnet` (public host still 46630)
|
|
211
211
|
- [ ] Host is local stdio — not published as an open network service
|
|
212
212
|
- [ ] Write tools understood by operators (`create`, `restore`, `prepare`, key CRUD)
|
|
213
213
|
- [ ] Prepare → human sign → broadcast workflow documented for the team
|
|
@@ -332,4 +332,4 @@ Follow AUREON’s published support / security channels on the product site; inc
|
|
|
332
332
|
|
|
333
333
|
## 15. Summary
|
|
334
334
|
|
|
335
|
-
Treat `@buildaureon/mcp` as a **local, non-custodial stdio adapter** over `@buildaureon/sdk
|
|
335
|
+
Treat `@buildaureon/mcp` as a **local, non-custodial stdio adapter** over `@buildaureon/sdk`. Default API is `http://127.0.0.1:8788` (4663); the public host is still testnet 46630. Protect issued keys like passwords, keep private keys out of the MCP process, require human (or hardened external) signing for deposit/withdraw broadcast, rotate and revoke quickly, and assume the LLM is not a security boundary — configuration hygiene and least privilege are.
|
package/docs/setup.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Complete installation and host configuration for **`@buildaureon/mcp`** `v0.1.1` against the live AUREON API.
|
|
4
4
|
|
|
5
|
-
This package is a **stdio** [Model Context Protocol](https://modelcontextprotocol.io) server. It wraps [`@buildaureon/sdk`](https://github.com/buildaureon/aureon-sdk) and exposes **
|
|
5
|
+
This package is a **stdio** [Model Context Protocol](https://modelcontextprotocol.io) server. It wraps [`@buildaureon/sdk`](https://github.com/buildaureon/aureon-sdk) and exposes **54 tools** so Cursor, Claude Desktop, and other MCP hosts can call the Financial Compass control plane.
|
|
6
6
|
|
|
7
7
|
Related docs: [Authentication](./auth.md) · [Tools](./tools.md) · [Agent guide](./agent-guide.md) · [Architecture](./architecture.md) · [Security](./security.md) · [Package README](../README.md)
|
|
8
8
|
|
|
@@ -28,8 +28,8 @@ If you only want auth semantics (key vs Bearer vs private key), skip ahead to [.
|
|
|
28
28
|
| Requirement | Notes |
|
|
29
29
|
| --- | --- |
|
|
30
30
|
| **Node.js 20+** | ESM runtime. Check with `node -v`. |
|
|
31
|
-
| **Issued developer API key** |
|
|
32
|
-
| **Network access** |
|
|
31
|
+
| **Issued developer API key** | Issue the key on the **same** API you will call. Local mainnet: Developers on `http://127.0.0.1:5174`. Public testnet: [app.aureonlabs.network](https://app.aureonlabs.network) → **Developers** (still chain 46630). Plaintext is shown once. |
|
|
32
|
+
| **Network access** | Default is local mainnet `http://127.0.0.1:8788` (chain 4663). Optional `AUREON_NETWORK=testnet` uses `https://api.aureonlabs.network` (still 46630). |
|
|
33
33
|
| **MCP host** | Cursor, Claude Desktop, or any client that can launch a stdio MCP server. |
|
|
34
34
|
|
|
35
35
|
You do **not** need a wallet Bearer token for day-to-day control-plane tools when you use an issued key.
|
|
@@ -48,8 +48,8 @@ The MCP server never custodies funds and never signs chain transactions.
|
|
|
48
48
|
| Version | `0.1.1` |
|
|
49
49
|
| Depends on | `@buildaureon/sdk` |
|
|
50
50
|
| Transport | stdio MCP (JSON-RPC over stdin/stdout) |
|
|
51
|
-
| Tool count |
|
|
52
|
-
|
|
|
51
|
+
| Tool count | 47 |
|
|
52
|
+
| Default API | `http://127.0.0.1:8788` (4663). Public host is opt-in testnet 46630. |
|
|
53
53
|
| Console | [app.aureonlabs.network](https://app.aureonlabs.network) |
|
|
54
54
|
|
|
55
55
|
Primary launch command (recommended for hosts):
|
|
@@ -68,11 +68,12 @@ The process reads these at startup. Put them in your MCP host `env` block (Curso
|
|
|
68
68
|
| --- | --- | --- | --- |
|
|
69
69
|
| `AUREON_API_KEY` | **Preferred** | — | Issued developer key (`aureon_…`). Product access **and** wallet identity for control-plane tools. |
|
|
70
70
|
| `AUREON_AUTH_TOKEN` | Optional | — | Wallet Bearer session. Wins over key identity when both are present on a request. |
|
|
71
|
-
| `
|
|
71
|
+
| `AUREON_NETWORK` | Optional | `mainnet` | Omit for local mainnet 4663 / 8788. Set `testnet` for the public host (still 46630). |
|
|
72
|
+
| `AUREON_API_URL` | Optional | mainnet `http://127.0.0.1:8788` | Override URL. Must match `AUREON_NETWORK` if both are set. |
|
|
72
73
|
|
|
73
74
|
At least one of `AUREON_API_KEY` or `AUREON_AUTH_TOKEN` must be set or the server refuses to start.
|
|
74
75
|
|
|
75
|
-
**Recommendation:** set only `AUREON_API_KEY`
|
|
76
|
+
**Recommendation:** set only `AUREON_API_KEY` for local mainnet. Add `AUREON_NETWORK=testnet` only if you want the public host (still 46630).
|
|
76
77
|
|
|
77
78
|
Never put a wallet private key in MCP env. Prepare tools return unsigned calldata; the host wallet signs elsewhere.
|
|
78
79
|
|
|
@@ -105,7 +106,6 @@ Create or edit `.cursor/mcp.json` in the project, or merge into your user MCP co
|
|
|
105
106
|
"command": "npx",
|
|
106
107
|
"args": ["-y", "@buildaureon/mcp"],
|
|
107
108
|
"env": {
|
|
108
|
-
"AUREON_API_URL": "https://api.aureonlabs.network",
|
|
109
109
|
"AUREON_API_KEY": "aureon_...."
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -117,6 +117,8 @@ Restart Cursor (or reload MCP servers). Confirm **aureon** appears under MCP / t
|
|
|
117
117
|
|
|
118
118
|
Ask a smoke prompt such as: *“Use aureon_ping, then aureon_me.”*
|
|
119
119
|
|
|
120
|
+
Issue the key on the same network this process will call. A public-console key does not authenticate the local 8788 mainnet API. To hit the public host (still 46630), add `"AUREON_NETWORK": "testnet"`.
|
|
121
|
+
|
|
120
122
|
### Option B — from a local build
|
|
121
123
|
|
|
122
124
|
Use this only when you are iterating on a clone of the package. Replace the working directory with your own clone path.
|
|
@@ -129,7 +131,6 @@ Use this only when you are iterating on a clone of the package. Replace the work
|
|
|
129
131
|
"args": ["dist/index.js"],
|
|
130
132
|
"cwd": "/path/to/your/clone/mcp",
|
|
131
133
|
"env": {
|
|
132
|
-
"AUREON_API_URL": "https://api.aureonlabs.network",
|
|
133
134
|
"AUREON_API_KEY": "aureon_...."
|
|
134
135
|
}
|
|
135
136
|
}
|
|
@@ -154,7 +155,6 @@ Merge the same shape into Claude Desktop’s MCP config file (location depends o
|
|
|
154
155
|
"command": "npx",
|
|
155
156
|
"args": ["-y", "@buildaureon/mcp"],
|
|
156
157
|
"env": {
|
|
157
|
-
"AUREON_API_URL": "https://api.aureonlabs.network",
|
|
158
158
|
"AUREON_API_KEY": "aureon_...."
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -176,8 +176,8 @@ From a terminal, with the key in the environment:
|
|
|
176
176
|
|
|
177
177
|
```bash
|
|
178
178
|
export AUREON_API_KEY=aureon_....
|
|
179
|
-
#
|
|
180
|
-
export
|
|
179
|
+
# omit AUREON_API_URL for local mainnet 8788 / 4663
|
|
180
|
+
# export AUREON_NETWORK=testnet # public host, still 46630
|
|
181
181
|
|
|
182
182
|
npx -y @buildaureon/mcp
|
|
183
183
|
```
|
|
@@ -186,7 +186,8 @@ On Windows PowerShell:
|
|
|
186
186
|
|
|
187
187
|
```powershell
|
|
188
188
|
$env:AUREON_API_KEY = "aureon_...."
|
|
189
|
-
|
|
189
|
+
# omit AUREON_API_URL for local mainnet 8788 / 4663
|
|
190
|
+
# $env:AUREON_NETWORK = "testnet" # public host, still 46630
|
|
190
191
|
npx -y @buildaureon/mcp
|
|
191
192
|
```
|
|
192
193
|
|
|
@@ -258,7 +259,7 @@ For write workflows (create objective, restore, prepare vault), see [./agent-gui
|
|
|
258
259
|
|
|
259
260
|
## Verify the tool surface
|
|
260
261
|
|
|
261
|
-
A healthy install exposes auth, read, objective, portfolio, execution, market, vault prepare, and developer key tools — **
|
|
262
|
+
A healthy install exposes auth, read, objective, portfolio, execution, market, vault prepare, and developer key tools — **47** in total.
|
|
262
263
|
|
|
263
264
|
You do not need every tool on day one. Start with:
|
|
264
265
|
|
|
@@ -280,7 +281,7 @@ Vault **prepare** tools return unsigned steps only. Signing and broadcasting sta
|
|
|
280
281
|
| Startup error about missing credentials | Neither key nor Bearer set | Set `AUREON_API_KEY` in the host `env` block |
|
|
281
282
|
| `401` / unauthorized on tools | Bad, paused, or revoked key | Create a new issued key; update config |
|
|
282
283
|
| `npx` hangs or fails | Network / registry issue | Retry; ensure Node 20+; try `npm view @buildaureon/mcp version` |
|
|
283
|
-
| Tools listed but every call fails | Wrong `AUREON_API_URL`
|
|
284
|
+
| Tools listed but every call fails | Wrong URL / mixed network | Omit `AUREON_API_URL` for 8788, or set `AUREON_NETWORK=testnet` for the public host (still 46630) |
|
|
284
285
|
| `aureon_me` shows unexpected wallet | Bearer also set and winning | Clear `AUREON_AUTH_TOKEN` / logout; prefer key-only — see [./auth.md](./auth.md) |
|
|
285
286
|
| Local `node dist/index.js` fails | Missing build | Run `pnpm build` so `dist/index.js` exists |
|
|
286
287
|
| Deposit / withdraw “not signed” | Expected | MCP returns unsigned steps; sign outside MCP |
|
|
@@ -306,7 +307,7 @@ No. Keep private keys out of MCP. Use them only in a separate signing host when
|
|
|
306
307
|
|
|
307
308
|
### Does MCP talk to a local backend?
|
|
308
309
|
|
|
309
|
-
|
|
310
|
+
Default (omit `AUREON_API_URL`) is local mainnet `http://127.0.0.1:8788` (chain 4663). Set `AUREON_NETWORK=testnet` only for the public host (still 46630). Do not map mainnet to `api.aureonlabs.network`.
|
|
310
311
|
|
|
311
312
|
### How is this different from `@buildaureon/sdk`?
|
|
312
313
|
|
|
@@ -328,7 +329,7 @@ Node.js **20 or newer**. Older runtimes are unsupported.
|
|
|
328
329
|
- [ ] Issued key created on the Developers page
|
|
329
330
|
- [ ] Host config uses `npx -y @buildaureon/mcp` (or local `node dist/index.js` with a placeholder cwd)
|
|
330
331
|
- [ ] `AUREON_API_KEY` set in host `env` (no private key)
|
|
331
|
-
- [ ] `AUREON_API_URL` omitted
|
|
332
|
+
- [ ] `AUREON_API_URL` omitted (mainnet 8788). Optional `AUREON_NETWORK=testnet` for the public host (still 46630)
|
|
332
333
|
- [ ] Host restarted; aureon server shows connected
|
|
333
334
|
- [ ] `aureon_ping` succeeds
|
|
334
335
|
- [ ] `aureon_me` returns the expected wallet
|
package/docs/tools.md
CHANGED
|
@@ -6,9 +6,9 @@ Each tool maps to one public method on the `@buildaureon/sdk` client. Handlers v
|
|
|
6
6
|
|
|
7
7
|
For request/response shapes, error codes, and HTTP contracts, see the **@buildaureon/sdk documentation**.
|
|
8
8
|
|
|
9
|
-
**Tool count:**
|
|
9
|
+
**Tool count:** 52.
|
|
10
10
|
|
|
11
|
-
**API:** `https://api.aureonlabs.network` (
|
|
11
|
+
**API:** default local mainnet `http://127.0.0.1:8788` (chain 4663). Optional `AUREON_NETWORK=testnet` uses `https://api.aureonlabs.network` (still 46630).
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -20,19 +20,19 @@ These conventions apply to every tool below.
|
|
|
20
20
|
| --- | --- |
|
|
21
21
|
| Issued API key | Set `AUREON_API_KEY` to an issued Developers key. That key is product access **and** wallet identity for control-plane calls. |
|
|
22
22
|
| Optional Bearer | You may also supply a wallet Bearer (`AUREON_AUTH_TOKEN` or `aureon_verify_wallet`). If both key and Bearer are present, Bearer wins. |
|
|
23
|
-
|
|
|
23
|
+
| Default network | Local mainnet 8788 / 4663. Optional `AUREON_NETWORK=testnet` for the public host (still 46630). |
|
|
24
24
|
| Private key outside MCP | Deposit and withdraw **prepare** tools return unsigned steps. Signing and broadcast happen in the host wallet — never inside the MCP process. |
|
|
25
25
|
| Default automation | `aureon_create_objective` defaults `automationMode` to `"auto"`. |
|
|
26
26
|
| Locked at create | `targetSymbol` and `automationMode` are immutable after create. Recreate the objective to change them. |
|
|
27
27
|
| Unsigned prepare | `aureon_prepare_vault_deposit` and `aureon_prepare_vault_withdraw` never broadcast. |
|
|
28
28
|
| Settlement honesty | Restore / execution receipts may show `settlement: "vault"` (on-chain) or `"staged"` (ledger-local). Label them honestly. |
|
|
29
29
|
|
|
30
|
-
The catalog includes `aureon_dev_login` for preview APIs only. On
|
|
30
|
+
The catalog includes `aureon_dev_login` for preview APIs only. On hosted APIs it fails by design — agents should use an issued key (or optional Bearer) instead. The public host is still testnet 46630, not 4663.
|
|
31
31
|
|
|
32
32
|
### Auth bootstrap (agents)
|
|
33
33
|
|
|
34
34
|
1. Create an issued key in the operator utility **Developers** console.
|
|
35
|
-
2. Configure the MCP host with `AUREON_API_URL
|
|
35
|
+
2. Configure the MCP host with `AUREON_API_KEY`. Omit `AUREON_API_URL` for local mainnet 8788. Set `AUREON_NETWORK=testnet` only for the public host (still 46630).
|
|
36
36
|
3. Call tools. Day-to-day agent work does **not** require a wallet handshake.
|
|
37
37
|
|
|
38
38
|
Optional wallet path: `aureon_get_auth_nonce` → host signs → `aureon_verify_wallet`. Prefer issued keys for always-on agents.
|
|
@@ -47,8 +47,8 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
47
47
|
| --- | --- |
|
|
48
48
|
| Health | `aureon_ping` |
|
|
49
49
|
| Auth & identity | `aureon_get_auth_nonce`, `aureon_verify_wallet`, `aureon_dev_login`, `aureon_logout`, `aureon_me` |
|
|
50
|
-
| Dashboard & read | `aureon_get_overview`, `aureon_get_portfolio`, `aureon_list_objectives`, `aureon_get_objective`, `aureon_get_health`, `aureon_list_timeline`, `aureon_list_market_presets`, `aureon_get_restore_plan`, `aureon_list_executions`, `aureon_get_vault`, `aureon_get_vault_status` |
|
|
51
|
-
| Objectives | `aureon_create_objective`, `aureon_update_objective`, `aureon_pause_objective`, `aureon_resume_objective` |
|
|
50
|
+
| Dashboard & read | `aureon_get_overview`, `aureon_get_allocation_vs_target`, `aureon_get_objective_portfolio_flow`, `aureon_get_drift_restore_flow`, `aureon_get_receipt_verification_flow`, `aureon_get_portfolio_watch_flow`, `aureon_get_full_aureon_loop_flow`, `aureon_get_portfolio`, `aureon_list_objectives`, `aureon_get_objective`, `aureon_get_health`, `aureon_list_timeline`, `aureon_list_market_presets`, `aureon_get_restore_plan`, `aureon_list_executions`, `aureon_get_vault`, `aureon_get_vault_status` |
|
|
51
|
+
| Objectives | `aureon_create_objective`, `aureon_apply_financial_intent`, `aureon_run_drift_restore_demo`, `aureon_run_receipt_verification_demo`, `aureon_run_portfolio_watch_demo`, `aureon_run_full_aureon_loop_demo`, `aureon_update_objective`, `aureon_pause_objective`, `aureon_resume_objective` |
|
|
52
52
|
| Portfolio write | `aureon_set_portfolio`, `aureon_clear_portfolio`, `aureon_sync_portfolio` |
|
|
53
53
|
| Execution | `aureon_run_execution`, `aureon_restore_objective` |
|
|
54
54
|
| Market | `aureon_apply_market_event`, `aureon_refresh_watchdog` |
|
|
@@ -148,6 +148,154 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
148
148
|
|
|
149
149
|
**Caveats:** Overview is a summary. Drill into `aureon_get_health` / `aureon_get_objective` for policy decisions.
|
|
150
150
|
|
|
151
|
+
### `aureon_get_allocation_vs_target`
|
|
152
|
+
|
|
153
|
+
**Purpose:** Objective vs actual portfolio — current weight vs policy target per active objective, plus a green-book/off-plan paradox flag.
|
|
154
|
+
|
|
155
|
+
**Typical args:** none.
|
|
156
|
+
|
|
157
|
+
**When to use:** demos; explain when the book is up but objectives are in warning/violation; avoid stitching overview + health manually.
|
|
158
|
+
|
|
159
|
+
**Returns:** `{ rows, paradox, overview }` — see `@buildaureon/sdk` `getAllocationVsTarget()`.
|
|
160
|
+
|
|
161
|
+
**Caveats:** Paradox detection uses 24h book change when available. Pair with `aureon_apply_market_event` (`autoRestore: false`) for rehearsal demos.
|
|
162
|
+
|
|
163
|
+
### `aureon_get_objective_portfolio_flow`
|
|
164
|
+
|
|
165
|
+
**Purpose:** Read AI → objective → portfolio flow for active objectives (intent summary, objective, health, portfolio snapshot).
|
|
166
|
+
|
|
167
|
+
**Typical args:**
|
|
168
|
+
|
|
169
|
+
| Arg | Required | Notes |
|
|
170
|
+
| --- | --- | --- |
|
|
171
|
+
| `objectiveId` | no | Filter to one objective; omit for all active |
|
|
172
|
+
|
|
173
|
+
**When to use:** — confirm intent is linked to live portfolio after `aureon_apply_financial_intent`; read-only refresh without creating a new objective.
|
|
174
|
+
|
|
175
|
+
**Returns:** Array of flow objects — see `@buildaureon/sdk` `getObjectivePortfolioFlow()`.
|
|
176
|
+
|
|
177
|
+
**Caveats:** Only active objectives are included. Pair with `aureon_get_allocation_vs_target` for ongoing objective vs actual tracking.
|
|
178
|
+
|
|
179
|
+
### `aureon_run_drift_restore_demo`
|
|
180
|
+
|
|
181
|
+
**Purpose:** Run drift → detection → restore demo in one call (seed book, create stable objective, NVDA rally with `autoRestore: false`, manual restore).
|
|
182
|
+
|
|
183
|
+
**Typical args:** none.
|
|
184
|
+
|
|
185
|
+
**When to use:** Content Arc Day 4; teach the full loop without stitching portfolio, market, plan, and restore tools.
|
|
186
|
+
|
|
187
|
+
**Returns:** `DriftRestoreFlow` — see `@buildaureon/sdk` `runDriftRestoreDemo()`.
|
|
188
|
+
|
|
189
|
+
**Caveats:** Mutates portfolio and creates a new objective. Settlement may be `vault` or `staged`. Controlled rehearsal — not discretionary trading.
|
|
190
|
+
|
|
191
|
+
### `aureon_get_drift_restore_flow`
|
|
192
|
+
|
|
193
|
+
**Purpose:** Read drift → detection → restore flow for active objectives (health, allocation row, restore plan when off-plan, latest receipt).
|
|
194
|
+
|
|
195
|
+
**Typical args:**
|
|
196
|
+
|
|
197
|
+
| Arg | Required | Notes |
|
|
198
|
+
| --- | --- | --- |
|
|
199
|
+
| `objectiveId` | no | Filter to one objective; omit for all active |
|
|
200
|
+
|
|
201
|
+
**When to use:** Confirm three-beat arc after manual steps in workflow J; read-only monitoring.
|
|
202
|
+
|
|
203
|
+
**Returns:** Array of `DriftRestoreFlow` — see `@buildaureon/sdk` `getDriftRestoreFlow()`.
|
|
204
|
+
|
|
205
|
+
**Caveats:** Inferred phases when historical aligned/drift snapshots are not stored; pair with `aureon_list_timeline` for audit trail.
|
|
206
|
+
|
|
207
|
+
### `aureon_run_receipt_verification_demo`
|
|
208
|
+
|
|
209
|
+
**Purpose:** Run receipt → verification demo (drift-restore + validate receipt + settlement lookup + timeline).
|
|
210
|
+
|
|
211
|
+
**Typical args:** none.
|
|
212
|
+
|
|
213
|
+
**When to use:** Content Arc Day 5; teach claim vs validation vs chain proof without stitching restore, validate, and settlement tools.
|
|
214
|
+
|
|
215
|
+
**Returns:** `ReceiptVerificationFlow` — see `@buildaureon/sdk` `runReceiptVerificationDemo()`.
|
|
216
|
+
|
|
217
|
+
**Caveats:** Mutates portfolio via embedded drift-restore. Validator is local — does not re-query chain. Staged receipts validate but are not chain-verified.
|
|
218
|
+
|
|
219
|
+
### `aureon_get_receipt_verification_flow`
|
|
220
|
+
|
|
221
|
+
**Purpose:** Read receipt → verification flow for execution receipts (claim, validation result, settlement lookup, timeline).
|
|
222
|
+
|
|
223
|
+
**Typical args:**
|
|
224
|
+
|
|
225
|
+
| Arg | Required | Notes |
|
|
226
|
+
| --- | --- | --- |
|
|
227
|
+
| `executionId` | no | Filter to one execution; omit for five most recent |
|
|
228
|
+
|
|
229
|
+
**When to use:** Confirm verification tier after manual steps in workflow K.
|
|
230
|
+
|
|
231
|
+
**Returns:** Array of `ReceiptVerificationFlow` — see `@buildaureon/sdk` `getReceiptVerificationFlow()`.
|
|
232
|
+
|
|
233
|
+
**Caveats:** Pair with `aureon_validate_receipt` for local checks; use `aureon_get_execution_settlement` for vault chain proof.
|
|
234
|
+
|
|
235
|
+
### `aureon_run_portfolio_watch_demo`
|
|
236
|
+
|
|
237
|
+
**Purpose:** Run portfolio watch demo (brief → Automatic objective → while-away market event with auto restore → return briefing).
|
|
238
|
+
|
|
239
|
+
**Typical args:**
|
|
240
|
+
|
|
241
|
+
| Arg | Required | Notes |
|
|
242
|
+
| --- | --- | --- |
|
|
243
|
+
| `brief` | no | User wording; default watch-while-away brief |
|
|
244
|
+
| `host` | no | `cursor` \| `claude` \| `mcp` for briefing labels |
|
|
245
|
+
|
|
246
|
+
**When to use:** Content Arc Day 6; Claude/Cursor + AUREON agent-in-host teaching.
|
|
247
|
+
|
|
248
|
+
**Returns:** `PortfolioWatchFlow` — see `@buildaureon/sdk` `runPortfolioWatchDemo()`.
|
|
249
|
+
|
|
250
|
+
**Caveats:** Mutates portfolio and objectives. Uses `autoRestore: true`. Not unsupervised trading — registered Automatic policy only.
|
|
251
|
+
|
|
252
|
+
### `aureon_get_portfolio_watch_flow`
|
|
253
|
+
|
|
254
|
+
**Purpose:** Read portfolio watch briefing for Automatic objectives.
|
|
255
|
+
|
|
256
|
+
**Typical args:**
|
|
257
|
+
|
|
258
|
+
| Arg | Required | Notes |
|
|
259
|
+
| --- | --- | --- |
|
|
260
|
+
| `objectiveId` | no | Filter to one objective |
|
|
261
|
+
| `brief` | no | User brief for summary lines |
|
|
262
|
+
| `host` | no | Agent host label |
|
|
263
|
+
|
|
264
|
+
**When to use:** Confirm briefing after manual steps in workflow L.
|
|
265
|
+
|
|
266
|
+
**Returns:** Array of `PortfolioWatchFlow` — see `@buildaureon/sdk` `getPortfolioWatchFlow()`.
|
|
267
|
+
|
|
268
|
+
### `aureon_run_full_aureon_loop_demo`
|
|
269
|
+
|
|
270
|
+
**Purpose:** Run Content Arc full AUREON loop (intent → plan check with autoRestore false → restore → receipt verification).
|
|
271
|
+
|
|
272
|
+
**Typical args:**
|
|
273
|
+
|
|
274
|
+
| Arg | Required | Notes |
|
|
275
|
+
| --- | --- | --- |
|
|
276
|
+
| `brief` | no | User wording; default full-loop brief |
|
|
277
|
+
|
|
278
|
+
**When to use:** Content Arc Day 7; positioning demo — not a portfolio tracker.
|
|
279
|
+
|
|
280
|
+
**Returns:** `FullAureonLoopFlow` — see `@buildaureon/sdk` `runFullAureonLoopDemo()`.
|
|
281
|
+
|
|
282
|
+
**Caveats:** Mutates portfolio. Uses `autoRestore: false` then manual restore. Staged receipts validate but are not chain-verified.
|
|
283
|
+
|
|
284
|
+
### `aureon_get_full_aureon_loop_flow`
|
|
285
|
+
|
|
286
|
+
**Purpose:** Read full AUREON loop for active objectives that already have an execution receipt.
|
|
287
|
+
|
|
288
|
+
**Typical args:**
|
|
289
|
+
|
|
290
|
+
| Arg | Required | Notes |
|
|
291
|
+
| --- | --- | --- |
|
|
292
|
+
| `objectiveId` | no | Filter to one objective |
|
|
293
|
+
| `brief` | no | User brief for teaching shape |
|
|
294
|
+
|
|
295
|
+
**When to use:** Confirm closed loop after manual steps in workflow M.
|
|
296
|
+
|
|
297
|
+
**Returns:** Array of `FullAureonLoopFlow` — see `@buildaureon/sdk` `getFullAureonLoopFlow()`.
|
|
298
|
+
|
|
151
299
|
### `aureon_get_portfolio`
|
|
152
300
|
|
|
153
301
|
**Purpose:** Current Capital Book snapshot — positions, marks, and weights.
|
|
@@ -333,6 +481,28 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
333
481
|
|
|
334
482
|
**Caveats:** Agents should use **Automatic** (`auto`) unless the human explicitly wants Manual Approve. To change symbol or mode later, create a new objective (pause or leave the old one).
|
|
335
483
|
|
|
484
|
+
### `aureon_apply_financial_intent`
|
|
485
|
+
|
|
486
|
+
**Purpose:** Register user/agent intent as an Automatic objective and return the full AI → objective → portfolio flow in one call.
|
|
487
|
+
|
|
488
|
+
**Typical args:**
|
|
489
|
+
|
|
490
|
+
| Arg | Required | Notes |
|
|
491
|
+
| --- | --- | --- |
|
|
492
|
+
| `brief` | yes | What the user wants their money to do — agent-extracted wording |
|
|
493
|
+
| `kind` | yes | `stable_allocation` \| `balanced_portfolio` \| `risk_ceiling` \| `reward_reinvestment` |
|
|
494
|
+
| `targetWeight` | yes | 0–1 |
|
|
495
|
+
| `tolerance` | yes | Drift band 0–1 |
|
|
496
|
+
| `targetSymbol` | no | Asset symbol for `balanced_portfolio` |
|
|
497
|
+
| `name` | no | Display name override |
|
|
498
|
+
| `priority` | no | `low` \| `medium` \| `high` \| `critical` |
|
|
499
|
+
|
|
500
|
+
**When to use:** turn structured agent intent into persistent policy without stitching create + health + portfolio calls.
|
|
501
|
+
|
|
502
|
+
**Returns:** `{ intent, objective, health, portfolio, message }` — see `@buildaureon/sdk` `applyFinancialIntent()`.
|
|
503
|
+
|
|
504
|
+
**Caveats:** Agent must supply structured fields; `brief` is for audit/teaching, not autonomous NLU. Creates a new objective each call.
|
|
505
|
+
|
|
336
506
|
### `aureon_update_objective`
|
|
337
507
|
|
|
338
508
|
**Purpose:** Partial update of mutable fields (name, weight, tolerance, priority, optional risk/reinvest fields).
|
|
@@ -389,13 +559,44 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
389
559
|
|
|
390
560
|
### `aureon_restore_objective`
|
|
391
561
|
|
|
392
|
-
**Purpose:** Run
|
|
562
|
+
**Purpose:** Run restorative execution for an objective outside policy. Not always vault-backed.
|
|
393
563
|
|
|
394
564
|
**Typical args:** `objectiveId` (required).
|
|
395
565
|
|
|
396
|
-
**When to use:** After a clear breach and a reviewed restore plan
|
|
566
|
+
**When to use:** After a clear breach and a reviewed restore plan.
|
|
567
|
+
|
|
568
|
+
**Caveats:** Automatic + configured vault that cannot execute returns 409 — it does not stage a fake restore. Manual may stage. Empty vault blocks Automatic on-chain restore. Confirm with `aureon_list_timeline` / `aureon_list_executions`. Read `settlement`, `verifiedOnChain`, `explorerUrl`, and `registryRef` on every receipt.
|
|
569
|
+
|
|
570
|
+
### How to read a receipt (agents)
|
|
571
|
+
|
|
572
|
+
1. Call `aureon_list_executions` or use the receipt from restore/run.
|
|
573
|
+
2. Check **`settlement`**: `vault` vs `staged` — never claim on-chain for `staged`.
|
|
574
|
+
3. If **`explorerUrl`** is present, the vault tx can be verified on the explorer.
|
|
575
|
+
4. If **`registryRef`** is present, the objective was registered on ObjectiveRegistry.
|
|
576
|
+
5. Match **`aureon_list_timeline`** events via `payload.executionId === receipt.id`.
|
|
577
|
+
6. For vault receipts, check **`verifiedOnChain`**. When true, cite **`settlementRecord`** or call **`aureon_get_execution_settlement`**. Never invent chain proof when `verifiedOnChain` is false.
|
|
578
|
+
|
|
579
|
+
### `aureon_get_execution_settlement`
|
|
397
580
|
|
|
398
|
-
**
|
|
581
|
+
**Purpose:** Returns the durable on-chain settlement record for a vault execution when the API listener observed a `Rebalanced` event.
|
|
582
|
+
|
|
583
|
+
**When to use:** After a vault restore when you need independent chain proof (tx hash, block, token pair, amounts).
|
|
584
|
+
|
|
585
|
+
**Caveats:** Staged executions return `verifiedOnChain: false` with no settlement. Vault without listener confirmation is **not** chain-verified — say “vault submitted, not yet observed on-chain.”
|
|
586
|
+
|
|
587
|
+
### `aureon_list_settlements`
|
|
588
|
+
|
|
589
|
+
**Purpose:** Lists settlement records for the wallet (optional `objectiveId` filter). May include orphans — observed vault events not yet bound to an execution.
|
|
590
|
+
|
|
591
|
+
**When to use:** Audit trail review; cross-check multiple restores. Read `status` and `executionId` before claiming proof.
|
|
592
|
+
|
|
593
|
+
### `aureon_validate_receipt`
|
|
594
|
+
|
|
595
|
+
**Purpose:** Validates an execution receipt locally (no API call). Returns `{ valid, issues }`.
|
|
596
|
+
|
|
597
|
+
**When to use:** After `aureon_restore_objective` or `aureon_list_executions` — confirm the receipt is honest before reporting to the operator.
|
|
598
|
+
|
|
599
|
+
**Caveats:** Validation is schema + policy only; it does not re-fetch chain state. If `valid: false`, quote `issues` and do not claim on-chain settlement.
|
|
399
600
|
|
|
400
601
|
---
|
|
401
602
|
|
|
@@ -511,6 +712,16 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
511
712
|
|
|
512
713
|
**Caveats:** Toggled-off keys fail subsequent control-plane calls until re-enabled.
|
|
513
714
|
|
|
715
|
+
### `aureon_get_audit_trail`
|
|
716
|
+
|
|
717
|
+
**Purpose:** Export one objective’s financial audit trail — registry, receipts, settlements, timeline — in a single object.
|
|
718
|
+
|
|
719
|
+
**Typical args:** `objectiveId` (required).
|
|
720
|
+
|
|
721
|
+
**When to use:** “Did this restore actually happen?” / follow intent → receipt → settlement without stitching four tools.
|
|
722
|
+
|
|
723
|
+
**Caveats:** Missing proof is labeled as a gap. Staged receipts are never on-chain. Do not invent explorer links or `verifiedOnChain`. Testnet only.
|
|
724
|
+
|
|
514
725
|
---
|
|
515
726
|
|
|
516
727
|
## Prompt → tool mapping
|
|
@@ -525,6 +736,7 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
525
736
|
| “Why is health red?” | `aureon_get_health`, `aureon_list_timeline` |
|
|
526
737
|
| “Show the restore plan” | `aureon_get_restore_plan` |
|
|
527
738
|
| “Execute restore” | `aureon_restore_objective` |
|
|
739
|
+
| “Export the audit trail” | `aureon_get_audit_trail` |
|
|
528
740
|
| “Simulate −10% TSLA” | `aureon_apply_market_event` |
|
|
529
741
|
| “Prepare 0.1 ETH deposit” | `aureon_prepare_vault_deposit` then host signs |
|
|
530
742
|
| “Rotate my agent key” | `aureon_create_api_key` (+ secure store), optional `aureon_revoke_api_key` |
|
|
@@ -550,4 +762,4 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
550
762
|
- Prepare tools are safe to call with an API key; broadcasting is a separate host step.
|
|
551
763
|
- When summarizing restores, always include settlement type when the receipt provides it.
|
|
552
764
|
|
|
553
|
-
This reference is the canonical MCP tool surface for live agents: **
|
|
765
|
+
This reference is the canonical MCP tool surface for live agents: **54 tools**, live API, issued key (optional Bearer), and private key only outside MCP for broadcast.
|