@buildaureon/mcp 0.1.9 → 0.1.10
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/CHANGELOG.md +19 -0
- package/README.md +122 -37
- package/dist/index.js.map +1 -1
- package/docs/agent-guide.md +5 -5
- package/docs/architecture.md +22 -15
- package/docs/auth.md +25 -15
- package/docs/security.md +7 -7
- package/docs/setup.md +90 -31
- package/docs/tools.md +8 -6
- package/examples/cursor.hosted.mcp.json +7 -0
- package/examples/cursor.hosted.user.mcp.json +10 -0
- package/package.json +2 -2
package/docs/auth.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authentication Guide
|
|
2
2
|
|
|
3
|
-
How **`@buildaureon/mcp`** `v0.1.
|
|
3
|
+
How **`@buildaureon/mcp`** `v0.1.10` authenticates to the live AUREON API — aligned with `@buildaureon/sdk`, safe for humans and for agents that call the **54** tools over hosted HTTP or local stdio.
|
|
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
|
|
|
@@ -8,7 +8,7 @@ Related docs: [Setup](./setup.md) · [Tools](./tools.md) · [Agent guide](./agen
|
|
|
8
8
|
|
|
9
9
|
## Who this is for
|
|
10
10
|
|
|
11
|
-
- **Agent operators** wiring Cursor or Claude Desktop with an issued developer key
|
|
11
|
+
- **Agent operators** wiring Cursor or Claude Desktop to the hosted URL or to stdio with an issued developer key
|
|
12
12
|
- **Integrators** comparing MCP auth to the typed SDK client
|
|
13
13
|
- **Security reviewers** checking that private keys never enter the MCP process
|
|
14
14
|
- **Agents** reading this file as context before calling `aureon_me`, restore, or vault prepare tools
|
|
@@ -19,13 +19,22 @@ 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 the official API `https://api.aureonlabs.network`
|
|
22
|
+
1. Reach the official API `https://api.aureonlabs.network` on mainnet. Stay on testnet with `AUREON_NETWORK=testnet`. Public Living Capital is still the testnet console.
|
|
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.
|
|
26
26
|
|
|
27
27
|
The operator utility at [app.aureonlabs.network](https://app.aureonlabs.network) remains wallet-Bearer oriented for humans. MCP and the SDK share the issued-key path for automation.
|
|
28
28
|
|
|
29
|
+
### Hosted URL vs stdio
|
|
30
|
+
|
|
31
|
+
| How you connect | Where the issued key lives |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| `https://mcp.aureonlabs.network/mcp` | Optional. URL-only for open tools. Your wallet tools need `X-Aureon-Api-Key`. |
|
|
34
|
+
| `npx -y @buildaureon/mcp` | In the host `env` as `AUREON_API_KEY` (your Developers key). |
|
|
35
|
+
|
|
36
|
+
Private keys stay out of both. Hosted without a header is not your wallet. Hosted with `X-Aureon-Api-Key` is your issued key. Stdio identity is the key you set in env.
|
|
37
|
+
|
|
29
38
|
---
|
|
30
39
|
|
|
31
40
|
## Credential types
|
|
@@ -51,7 +60,7 @@ Plain language:
|
|
|
51
60
|
| --- | --- |
|
|
52
61
|
| `AUREON_API_KEY` | Preferred. Issued developer key. |
|
|
53
62
|
| `AUREON_AUTH_TOKEN` | Optional Bearer. Use when you intentionally want a session without (or in addition to) a key — see conflict rules below. |
|
|
54
|
-
| `AUREON_NETWORK` | Optional. Omit for official API /
|
|
63
|
+
| `AUREON_NETWORK` | Optional. Omit for official API / mainnet. Set `testnet` to stay on testnet. |
|
|
55
64
|
| `AUREON_API_URL` | Optional override of `https://api.aureonlabs.network`. |
|
|
56
65
|
|
|
57
66
|
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.
|
|
@@ -77,7 +86,7 @@ Minimal env (official API):
|
|
|
77
86
|
|
|
78
87
|
```bash
|
|
79
88
|
AUREON_API_KEY=aureon_....
|
|
80
|
-
# AUREON_NETWORK=
|
|
89
|
+
# AUREON_NETWORK=testnet # stay on testnet on the same official host
|
|
81
90
|
```
|
|
82
91
|
|
|
83
92
|
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.
|
|
@@ -115,7 +124,7 @@ Agent → aureon_verify_wallet(address, message, signature, inviteCode?)
|
|
|
115
124
|
Later tools use getAccessToken() from the in-process session provider.
|
|
116
125
|
```
|
|
117
126
|
|
|
118
|
-
|
|
127
|
+
`inviteCode` is only for the optional wallet Bearer handshake when the API asks for it. It is not required to use hosted MCP or stdio with an issued key.
|
|
119
128
|
|
|
120
129
|
You may also seed `AUREON_AUTH_TOKEN` in the host env if you already obtained a Bearer elsewhere. That token is loaded into the same in-process session provider at startup.
|
|
121
130
|
|
|
@@ -219,9 +228,9 @@ Never paste a private key into MCP tool arguments or host env “for convenience
|
|
|
219
228
|
| `401` Unauthorized | Key revoked/paused, Bearer expired, or typo | Rotate key or re-verify wallet |
|
|
220
229
|
| Wrong wallet on `aureon_me` | Bearer winning over key | `aureon_logout`; remove env Bearer; restart |
|
|
221
230
|
| `aureon_verify_wallet` fails | Bad signature, stale nonce, or missing invite | New nonce; re-sign; supply `inviteCode` if required |
|
|
222
|
-
| `aureon_dev_login` fails on live API | Expected | Use an issued key. Public
|
|
231
|
+
| `aureon_dev_login` fails on live API | Expected | Use an issued key. Public Living Capital is still the testnet console. |
|
|
223
232
|
| Prepare tools succeed but funds do not move | Unsigned steps not broadcast | Sign outside MCP with a real wallet |
|
|
224
|
-
| Agent invents a local API URL | Misconfigured override | Omit `AUREON_API_URL` for the official API, or set `AUREON_NETWORK=
|
|
233
|
+
| Agent invents a local API URL | Misconfigured override | Omit `AUREON_API_URL` for the official API, or set `AUREON_NETWORK=testnet` |
|
|
225
234
|
|
|
226
235
|
Map structured SDK errors in tool output to the same categories; do not retry blindly on `401` without rotating credentials.
|
|
227
236
|
|
|
@@ -235,7 +244,7 @@ Map structured SDK errors in tool output to the same categories; do not retry bl
|
|
|
235
244
|
4. **Call `aureon_me` once** after connect to confirm identity before write tools.
|
|
236
245
|
5. **On identity mismatch**, clear Bearer before creating objectives or restoring.
|
|
237
246
|
6. **Treat Developers keys like passwords** — rotate on leak; use labeled keys per host.
|
|
238
|
-
7. **
|
|
247
|
+
7. **Do not expose your stdio process** — use `https://mcp.aureonlabs.network/mcp` for the official host; do not publish your own child process.
|
|
239
248
|
8. **Read** [./agent-guide.md](./agent-guide.md) before multi-step restore or market-event rehearsals.
|
|
240
249
|
9. **Respect locked objective fields** — recreate rather than fighting update errors (see tools doc).
|
|
241
250
|
10. **Assume tool output may be logged** by the host; minimize secret material in responses.
|
|
@@ -246,16 +255,17 @@ Map structured SDK errors in tool output to the same categories; do not retry bl
|
|
|
246
255
|
|
|
247
256
|
```text
|
|
248
257
|
MCP host (Cursor / Claude)
|
|
249
|
-
│
|
|
258
|
+
│ Streamable HTTP https://mcp.aureonlabs.network/mcp
|
|
259
|
+
│ or stdio npx @buildaureon/mcp
|
|
250
260
|
▼
|
|
251
|
-
|
|
261
|
+
adapter (54 tools, no private key)
|
|
252
262
|
│
|
|
253
263
|
▼
|
|
254
264
|
@buildaureon/sdk (HTTP, retries, types)
|
|
255
265
|
│ HTTP(S) + API key and/or Bearer
|
|
256
266
|
▼
|
|
257
|
-
default https://api.aureonlabs.network (
|
|
258
|
-
opt-in AUREON_NETWORK=
|
|
267
|
+
default https://api.aureonlabs.network (mainnet)
|
|
268
|
+
opt-in AUREON_NETWORK=testnet (same host)
|
|
259
269
|
│
|
|
260
270
|
├── control plane (objectives, portfolio, restore, …)
|
|
261
271
|
└── prepare vault steps → human/agent signs elsewhere
|
|
@@ -320,11 +330,11 @@ Do not reuse the compromised secret “temporarily.” Treat rotation as mandato
|
|
|
320
330
|
|
|
321
331
|
- Issued key → API key header / client option
|
|
322
332
|
- Bearer → access token via the session provider
|
|
323
|
-
- Base URL → `https://api.aureonlabs.network` by default (
|
|
333
|
+
- Base URL → `https://api.aureonlabs.network` by default (mainnet). `AUREON_NETWORK=testnet` stays on testnet.
|
|
324
334
|
|
|
325
335
|
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.
|
|
326
336
|
|
|
327
|
-
Package version for this guide: **`@buildaureon/mcp` `v0.1.
|
|
337
|
+
Package version for this guide: **`@buildaureon/mcp` `v0.1.10`**.
|
|
328
338
|
|
|
329
339
|
---
|
|
330
340
|
|
package/docs/security.md
CHANGED
|
@@ -10,16 +10,16 @@ This document is for operators configuring agent hosts and for AI agents that mu
|
|
|
10
10
|
|
|
11
11
|
| Boundary | Assumption | Failure mode if broken |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| MCP process | Local stdio child of a trusted host |
|
|
13
|
+
| MCP process | Local stdio child of a trusted host, **or** the official hosted HTTP process | A leaked URL-plus-gate, or a published homemade stdio port, lets callers invoke every registered tool |
|
|
14
14
|
| Issued API key | Equivalent to “act as this developer / wallet scope” on the control plane | Attacker creates objectives, restores, prepares vault steps, manages keys |
|
|
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
|
-
| HTTP(S) to API | Default official host TLS is `https://api.aureonlabs.network` (
|
|
18
|
+
| HTTP(S) to API | Default official host TLS is `https://api.aureonlabs.network` (mainnet by omit) | MITM if URL pointed at attacker |
|
|
19
19
|
|
|
20
20
|
```mermaid
|
|
21
21
|
flowchart LR
|
|
22
|
-
Host[MCP_host_and_LLM] -->|
|
|
22
|
+
Host[MCP_host_and_LLM] -->|stdio_or_hosted_HTTP| MCP[MCP_adapter]
|
|
23
23
|
MCP -->|API_key_and_optional_Bearer| API[official_api_aureonlabs_network]
|
|
24
24
|
MCP -.->|never_holds| PK[private_keys]
|
|
25
25
|
Human[Human_operator] -->|reviews_and_signs| Chain[Robinhood_Chain]
|
|
@@ -207,8 +207,8 @@ 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 is `https://api.aureonlabs.network`
|
|
211
|
-
- [ ]
|
|
210
|
+
- [ ] Default API is `https://api.aureonlabs.network` on mainnet unless `AUREON_NETWORK=testnet`
|
|
211
|
+
- [ ] You use official hosted `https://mcp.aureonlabs.network/mcp` **or** local stdio — you did not publish your own stdio port
|
|
212
212
|
- [ ] Write tools understood by operators (`create`, `restore`, `prepare`, key CRUD)
|
|
213
213
|
- [ ] Prepare → human sign → broadcast workflow documented for the team
|
|
214
214
|
- [ ] Pause/revoke path tested once (know which tool/UI to use under stress)
|
|
@@ -261,7 +261,7 @@ Do not paste live secrets into tickets.
|
|
|
261
261
|
| Cloud / browser agent with remote tool runner | Broader persistence and sharing surfaces | Short-lived keys; revoke often; avoid high-value wallets |
|
|
262
262
|
| Shared demo machine | Key reuse across people | Unique keys; revoke after demo; no private keys nearby |
|
|
263
263
|
|
|
264
|
-
|
|
264
|
+
The official hosted URL is `https://mcp.aureonlabs.network/mcp`. Connect is URL-only. A server key is used only for open tools. Your wallet tools need `X-Aureon-Api-Key`. Do not treat a homemade public stdio port as equivalent. Keep private keys out of every host.
|
|
265
265
|
|
|
266
266
|
---
|
|
267
267
|
|
|
@@ -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
|
|
335
|
+
Treat AUREON MCP as a **non-custodial adapter** over `@buildaureon/sdk`: official hosted HTTP at `https://mcp.aureonlabs.network/mcp`, or local stdio via `@buildaureon/mcp`. Default API is `https://api.aureonlabs.network` on mainnet. Public Living Capital is still the testnet console. 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
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
# Setup Guide
|
|
2
2
|
|
|
3
|
-
Complete installation and host configuration for **`@buildaureon/mcp`** `v0.1.
|
|
3
|
+
Complete installation and host configuration for **`@buildaureon/mcp`** `v0.1.10` against the live AUREON API.
|
|
4
4
|
|
|
5
|
-
This package is
|
|
5
|
+
This package is the official [Model Context Protocol](https://modelcontextprotocol.io) adapter for AUREON. 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
|
+
|
|
7
|
+
There are two supported transports:
|
|
8
|
+
|
|
9
|
+
| Transport | Endpoint / command | Auth in the host |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| **Hosted HTTP** | `https://mcp.aureonlabs.network/mcp` | None required to connect. Optional `X-Aureon-Api-Key` for your wallet tools. |
|
|
12
|
+
| **Local stdio** | `npx -y @buildaureon/mcp` | Your issued `AUREON_API_KEY` in the host `env` block |
|
|
13
|
+
|
|
14
|
+
Both surfaces are the same 54 tools. Neither signs or broadcasts. Confirm hosted health at [https://mcp.aureonlabs.network/healthz](https://mcp.aureonlabs.network/healthz).
|
|
6
15
|
|
|
7
16
|
Related docs: [Authentication](./auth.md) · [Tools](./tools.md) · [Agent guide](./agent-guide.md) · [Architecture](./architecture.md) · [Security](./security.md) · [Package README](../README.md)
|
|
8
17
|
|
|
@@ -10,10 +19,11 @@ Related docs: [Authentication](./auth.md) · [Tools](./tools.md) · [Agent guide
|
|
|
10
19
|
|
|
11
20
|
## What this guide covers
|
|
12
21
|
|
|
22
|
+
- Hosted URL vs local stdio — which to pick
|
|
13
23
|
- What you need before connecting an agent
|
|
14
|
-
- Environment variables the
|
|
15
|
-
- How to create an issued developer API key
|
|
16
|
-
- Cursor and Claude Desktop config (published package
|
|
24
|
+
- Environment variables the **stdio** process reads
|
|
25
|
+
- How to create an issued developer API key (required for stdio; not pasted into Cursor for hosted)
|
|
26
|
+
- Cursor and Claude Desktop config (hosted URL first, then published package)
|
|
17
27
|
- Running via `npx` without a permanent install
|
|
18
28
|
- Building from a source clone (optional)
|
|
19
29
|
- Smoke prompts to verify the wire is live
|
|
@@ -28,9 +38,9 @@ If you only want auth semantics (key vs Bearer vs private key), skip ahead to [.
|
|
|
28
38
|
| Requirement | Notes |
|
|
29
39
|
| --- | --- |
|
|
30
40
|
| **Node.js 20+** | ESM runtime. Check with `node -v`. |
|
|
31
|
-
| **Issued developer API key** | Issue
|
|
32
|
-
| **Network access** | Default is the official API `https://api.aureonlabs.network`
|
|
33
|
-
| **MCP host** | Cursor, Claude Desktop, or any client that can
|
|
41
|
+
| **Issued developer API key** | Required for **stdio**. Issue it at [app.aureonlabs.network](https://app.aureonlabs.network) → **Developers**. Not pasted into Cursor when you use the hosted URL. |
|
|
42
|
+
| **Network access** | Default is the official API `https://api.aureonlabs.network` on mainnet. Optional `AUREON_NETWORK=testnet` stays on testnet on the same host. Public Living Capital is still the testnet console. |
|
|
43
|
+
| **MCP host** | Cursor, Claude Desktop, or any client that can attach to Streamable HTTP **or** spawn a stdio MCP server. |
|
|
34
44
|
|
|
35
45
|
You do **not** need a wallet Bearer token for day-to-day control-plane tools when you use an issued key.
|
|
36
46
|
|
|
@@ -45,11 +55,11 @@ The MCP server never custodies funds and never signs chain transactions.
|
|
|
45
55
|
| Item | Value |
|
|
46
56
|
| --- | --- |
|
|
47
57
|
| npm package | `@buildaureon/mcp` |
|
|
48
|
-
| Version | `0.1.
|
|
58
|
+
| Version | `0.1.10` |
|
|
49
59
|
| Depends on | `@buildaureon/sdk` |
|
|
50
|
-
|
|
|
60
|
+
| Transports | Hosted Streamable HTTP at `https://mcp.aureonlabs.network/mcp`, or local stdio (`npx -y @buildaureon/mcp`) |
|
|
51
61
|
| Tool count | 54 |
|
|
52
|
-
| Default API | `https://api.aureonlabs.network`
|
|
62
|
+
| Default API | `https://api.aureonlabs.network` on mainnet. `AUREON_NETWORK=testnet` stays on testnet. |
|
|
53
63
|
| Console | [app.aureonlabs.network](https://app.aureonlabs.network) |
|
|
54
64
|
|
|
55
65
|
Primary launch command (recommended for hosts):
|
|
@@ -68,12 +78,12 @@ The process reads these at startup. Put them in your MCP host `env` block (Curso
|
|
|
68
78
|
| --- | --- | --- | --- |
|
|
69
79
|
| `AUREON_API_KEY` | **Preferred** | — | Issued developer key (`aureon_…`). Product access **and** wallet identity for control-plane tools. |
|
|
70
80
|
| `AUREON_AUTH_TOKEN` | Optional | — | Wallet Bearer session. Wins over key identity when both are present on a request. |
|
|
71
|
-
| `AUREON_NETWORK` | Optional | `
|
|
81
|
+
| `AUREON_NETWORK` | Optional | `mainnet` | Omit for official API / mainnet. Set `testnet` to stay on testnet. |
|
|
72
82
|
| `AUREON_API_URL` | Optional | `https://api.aureonlabs.network` | Override the official host only if you must. |
|
|
73
83
|
|
|
74
84
|
At least one of `AUREON_API_KEY` or `AUREON_AUTH_TOKEN` must be set or the server refuses to start.
|
|
75
85
|
|
|
76
|
-
**Recommendation:** set only `AUREON_API_KEY`. The process uses the official API. Add `AUREON_NETWORK=
|
|
86
|
+
**Recommendation:** set only `AUREON_API_KEY`. The process uses the official API on mainnet. Add `AUREON_NETWORK=testnet` only to stay on testnet on that host.
|
|
77
87
|
|
|
78
88
|
Never put a wallet private key in MCP env. Prepare tools return unsigned calldata; the host wallet signs elsewhere.
|
|
79
89
|
|
|
@@ -82,7 +92,7 @@ Never put a wallet private key in MCP env. Prepare tools return unsigned calldat
|
|
|
82
92
|
## Create an issued developer API key
|
|
83
93
|
|
|
84
94
|
1. Open [https://app.aureonlabs.network](https://app.aureonlabs.network).
|
|
85
|
-
2.
|
|
95
|
+
2. Connect your wallet.
|
|
86
96
|
3. Open **Developers**.
|
|
87
97
|
4. Create a key with a clear label (for example `cursor-mcp` or `claude-desktop`).
|
|
88
98
|
5. Copy the secret immediately — plaintext is shown once.
|
|
@@ -95,7 +105,44 @@ That key binds control-plane calls to your wallet. You do not need a separate Be
|
|
|
95
105
|
|
|
96
106
|
## Cursor configuration
|
|
97
107
|
|
|
98
|
-
### Option A —
|
|
108
|
+
### Option A — official hosted URL (recommended first use)
|
|
109
|
+
|
|
110
|
+
No Node process. A user key is not required to connect. Merge [`../examples/cursor.hosted.mcp.json`](../examples/cursor.hosted.mcp.json):
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"mcpServers": {
|
|
115
|
+
"aureon": {
|
|
116
|
+
"url": "https://mcp.aureonlabs.network/mcp"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Restart Cursor. Confirm **aureon** appears under MCP / tools. Ask: *“Use aureon_ping.”*
|
|
123
|
+
|
|
124
|
+
Open tools without a key: `aureon_ping`, `aureon_list_market_presets`, `aureon_validate_receipt`.
|
|
125
|
+
|
|
126
|
+
For **your** wallet (`aureon_me`, portfolio, objectives, restore, vault prepare), add the header. Template: [`../examples/cursor.hosted.user.mcp.json`](../examples/cursor.hosted.user.mcp.json).
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"mcpServers": {
|
|
131
|
+
"aureon": {
|
|
132
|
+
"url": "https://mcp.aureonlabs.network/mcp",
|
|
133
|
+
"headers": {
|
|
134
|
+
"X-Aureon-Api-Key": "aureon_...."
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Health check: [https://mcp.aureonlabs.network/healthz](https://mcp.aureonlabs.network/healthz) must report `ok: true` and `tools: 54`.
|
|
142
|
+
|
|
143
|
+
Use Option B when you want the key in host env instead of an HTTP header.
|
|
144
|
+
|
|
145
|
+
### Option B — published stdio package (your issued key)
|
|
99
146
|
|
|
100
147
|
Create or edit `.cursor/mcp.json` in the project, or merge into your user MCP config:
|
|
101
148
|
|
|
@@ -117,9 +164,9 @@ Restart Cursor (or reload MCP servers). Confirm **aureon** appears under MCP / t
|
|
|
117
164
|
|
|
118
165
|
Ask a smoke prompt such as: *“Use aureon_ping, then aureon_me.”*
|
|
119
166
|
|
|
120
|
-
Issue the key at [app.aureonlabs.network](https://app.aureonlabs.network) → **Developers**. The official API is used when `AUREON_API_URL` is omitted. Add `"AUREON_NETWORK": "
|
|
167
|
+
Issue the key at [app.aureonlabs.network](https://app.aureonlabs.network) → **Developers**. Public Living Capital is still the testnet console. The official API is used when `AUREON_API_URL` is omitted (mainnet). Add `"AUREON_NETWORK": "testnet"` only to stay on testnet.
|
|
121
168
|
|
|
122
|
-
### Option
|
|
169
|
+
### Option C — from a local build
|
|
123
170
|
|
|
124
171
|
Use this only when you are iterating on a clone of the package. Replace the working directory with your own clone path.
|
|
125
172
|
|
|
@@ -140,13 +187,25 @@ Use this only when you are iterating on a clone of the package. Replace the work
|
|
|
140
187
|
|
|
141
188
|
Build first (`pnpm build` or `npm run build` inside the MCP package) so `dist/index.js` exists.
|
|
142
189
|
|
|
143
|
-
Prefer Option A for everyday agent use.
|
|
190
|
+
Prefer Option A for everyday agent use. Option B when you need your own key. Option C (`cwd`) is for contributors and package development.
|
|
144
191
|
|
|
145
192
|
---
|
|
146
193
|
|
|
147
194
|
## Claude Desktop configuration
|
|
148
195
|
|
|
149
|
-
|
|
196
|
+
If the host supports a remote MCP URL, use the same hosted endpoint as Cursor:
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"mcpServers": {
|
|
201
|
+
"aureon": {
|
|
202
|
+
"url": "https://mcp.aureonlabs.network/mcp"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Otherwise merge the stdio shape into Claude Desktop’s MCP config file (location depends on your OS; Claude’s docs describe where `claude_desktop_config.json` lives).
|
|
150
209
|
|
|
151
210
|
```json
|
|
152
211
|
{
|
|
@@ -164,9 +223,9 @@ Merge the same shape into Claude Desktop’s MCP config file (location depends o
|
|
|
164
223
|
|
|
165
224
|
Restart Claude Desktop after saving. In a new chat, ask the model to list AUREON tools or call `aureon_ping`.
|
|
166
225
|
|
|
167
|
-
For a from-source Claude entry, use `node` + `dist/index.js` with `"cwd": "/path/to/your/clone/mcp"` the same way as Cursor Option
|
|
226
|
+
For a from-source Claude entry, use `node` + `dist/index.js` with `"cwd": "/path/to/your/clone/mcp"` the same way as Cursor Option C.
|
|
168
227
|
|
|
169
|
-
Example templates
|
|
228
|
+
Example templates: [`examples/cursor.hosted.mcp.json`](../examples/cursor.hosted.mcp.json), [`examples/cursor.mcp.json`](../examples/cursor.mcp.json), [`examples/claude-desktop.json`](../examples/claude-desktop.json).
|
|
170
229
|
|
|
171
230
|
---
|
|
172
231
|
|
|
@@ -177,7 +236,7 @@ From a terminal, with the key in the environment:
|
|
|
177
236
|
```bash
|
|
178
237
|
export AUREON_API_KEY=aureon_....
|
|
179
238
|
# omit AUREON_API_URL for official API https://api.aureonlabs.network
|
|
180
|
-
# export AUREON_NETWORK=
|
|
239
|
+
# export AUREON_NETWORK=testnet # stay on testnet on the same official host
|
|
181
240
|
|
|
182
241
|
npx -y @buildaureon/mcp
|
|
183
242
|
```
|
|
@@ -187,7 +246,7 @@ On Windows PowerShell:
|
|
|
187
246
|
```powershell
|
|
188
247
|
$env:AUREON_API_KEY = "aureon_...."
|
|
189
248
|
# omit AUREON_API_URL for official API https://api.aureonlabs.network
|
|
190
|
-
# $env:AUREON_NETWORK = "
|
|
249
|
+
# $env:AUREON_NETWORK = "testnet" # stay on testnet on the same official host
|
|
191
250
|
npx -y @buildaureon/mcp
|
|
192
251
|
```
|
|
193
252
|
|
|
@@ -259,7 +318,7 @@ For write workflows (create objective, restore, prepare vault), see [./agent-gui
|
|
|
259
318
|
|
|
260
319
|
## Verify the tool surface
|
|
261
320
|
|
|
262
|
-
A healthy install exposes auth, read, objective, portfolio, execution, market, vault prepare, and developer key tools — **
|
|
321
|
+
A healthy install exposes auth, read, objective, portfolio, execution, market, vault prepare, and developer key tools — **54** in total.
|
|
263
322
|
|
|
264
323
|
You do not need every tool on day one. Start with:
|
|
265
324
|
|
|
@@ -281,7 +340,7 @@ Vault **prepare** tools return unsigned steps only. Signing and broadcasting sta
|
|
|
281
340
|
| Startup error about missing credentials | Neither key nor Bearer set | Set `AUREON_API_KEY` in the host `env` block |
|
|
282
341
|
| `401` / unauthorized on tools | Bad, paused, or revoked key | Create a new issued key; update config |
|
|
283
342
|
| `npx` hangs or fails | Network / registry issue | Retry; ensure Node 20+; try `npm view @buildaureon/mcp version` |
|
|
284
|
-
| Tools listed but every call fails | Wrong URL / mixed network | Omit `AUREON_API_URL` for the official API, or set `AUREON_NETWORK=
|
|
343
|
+
| Tools listed but every call fails | Wrong URL / mixed network | Omit `AUREON_API_URL` for the official API, or set `AUREON_NETWORK=testnet` to stay on testnet |
|
|
285
344
|
| `aureon_me` shows unexpected wallet | Bearer also set and winning | Clear `AUREON_AUTH_TOKEN` / logout; prefer key-only — see [./auth.md](./auth.md) |
|
|
286
345
|
| Local `node dist/index.js` fails | Missing build | Run `pnpm build` so `dist/index.js` exists |
|
|
287
346
|
| Deposit / withdraw “not signed” | Expected | MCP returns unsigned steps; sign outside MCP |
|
|
@@ -295,7 +354,7 @@ Still stuck? Confirm HTTPS reachability to the API, then re-check that the key s
|
|
|
295
354
|
|
|
296
355
|
### Do I need to install the package globally?
|
|
297
356
|
|
|
298
|
-
No. Prefer `npx -y @buildaureon/mcp` in the host config so the published `v0.1.
|
|
357
|
+
No. Prefer `npx -y @buildaureon/mcp` in the host config so the published `v0.1.10` (or newer) is fetched on demand.
|
|
299
358
|
|
|
300
359
|
### Is a Bearer token required?
|
|
301
360
|
|
|
@@ -307,11 +366,11 @@ No. Keep private keys out of MCP. Use them only in a separate signing host when
|
|
|
307
366
|
|
|
308
367
|
### Does MCP talk to a local backend?
|
|
309
368
|
|
|
310
|
-
Default (omit `AUREON_API_URL`) is the official API `https://api.aureonlabs.network`
|
|
369
|
+
Default (omit `AUREON_API_URL`) is the official API `https://api.aureonlabs.network` on mainnet. Set `AUREON_NETWORK=testnet` to stay on testnet on that same host.
|
|
311
370
|
|
|
312
371
|
### How is this different from `@buildaureon/sdk`?
|
|
313
372
|
|
|
314
|
-
The SDK is for typed TypeScript programs. MCP is the same surface as **named tools** for AI hosts
|
|
373
|
+
The SDK is for typed TypeScript programs. MCP is the same surface as **named tools** for AI hosts. Hosted HTTP and local stdio expose the same 54 tools. Both call the live API. Stdio authenticates with your issued key in host env. Hosted is URL-only for open tools; add `X-Aureon-Api-Key` for your wallet.
|
|
315
374
|
|
|
316
375
|
### Where do I rotate a leaked key?
|
|
317
376
|
|
|
@@ -327,9 +386,9 @@ Node.js **20 or newer**. Older runtimes are unsupported.
|
|
|
327
386
|
|
|
328
387
|
- [ ] Node 20+ installed (`node -v`)
|
|
329
388
|
- [ ] Issued key created on the Developers page
|
|
330
|
-
- [ ] Host config uses `npx -y @buildaureon/mcp`
|
|
331
|
-
- [ ] `AUREON_API_KEY` set in host `env` (no private key)
|
|
332
|
-
- [ ] `AUREON_API_URL` omitted (official API). Optional `AUREON_NETWORK=
|
|
389
|
+
- [ ] Host config uses `https://mcp.aureonlabs.network/mcp` **or** `npx -y @buildaureon/mcp`
|
|
390
|
+
- [ ] If stdio: `AUREON_API_KEY` set in host `env` (no private key)
|
|
391
|
+
- [ ] If stdio: `AUREON_API_URL` omitted (official API / mainnet). Optional `AUREON_NETWORK=testnet` to stay on testnet
|
|
333
392
|
- [ ] Host restarted; aureon server shows connected
|
|
334
393
|
- [ ] `aureon_ping` succeeds
|
|
335
394
|
- [ ] `aureon_me` returns the expected wallet
|
package/docs/tools.md
CHANGED
|
@@ -8,7 +8,9 @@ For request/response shapes, error codes, and HTTP contracts, see the **@buildau
|
|
|
8
8
|
|
|
9
9
|
**Tool count:** 54.
|
|
10
10
|
|
|
11
|
-
**API:** default official API `https://api.aureonlabs.network`
|
|
11
|
+
**API:** default official API `https://api.aureonlabs.network` on mainnet. Optional `AUREON_NETWORK=testnet` stays on testnet on the same host.
|
|
12
|
+
|
|
13
|
+
**Hosted URL:** `aureon_ping`, `aureon_list_market_presets`, and `aureon_validate_receipt` work without a user key. Every other tool needs `X-Aureon-Api-Key` (your issued Developers key) or stdio `AUREON_API_KEY`.
|
|
12
14
|
|
|
13
15
|
---
|
|
14
16
|
|
|
@@ -20,19 +22,19 @@ These conventions apply to every tool below.
|
|
|
20
22
|
| --- | --- |
|
|
21
23
|
| 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
24
|
| 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
|
-
| Default network | Official API /
|
|
25
|
+
| Default network | Official API / mainnet. Optional `AUREON_NETWORK=testnet` to stay on testnet. |
|
|
24
26
|
| 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
27
|
| Default automation | `aureon_create_objective` defaults `automationMode` to `"auto"`. |
|
|
26
28
|
| Locked at create | `targetSymbol` and `automationMode` are immutable after create. Recreate the objective to change them. |
|
|
27
29
|
| Unsigned prepare | `aureon_prepare_vault_deposit` and `aureon_prepare_vault_withdraw` never broadcast. |
|
|
28
30
|
| Settlement honesty | Restore / execution receipts may show `settlement: "vault"` (on-chain) or `"staged"` (ledger-local). Label them honestly. |
|
|
29
31
|
|
|
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.
|
|
32
|
+
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. Public Living Capital is still the testnet console.
|
|
31
33
|
|
|
32
34
|
### Auth bootstrap (agents)
|
|
33
35
|
|
|
34
36
|
1. Create an issued key in the operator utility **Developers** console.
|
|
35
|
-
2. Configure the MCP host with `AUREON_API_KEY`. Omit `AUREON_API_URL` to use the official API. Set `AUREON_NETWORK=
|
|
37
|
+
2. Configure the MCP host with `AUREON_API_KEY`. Omit `AUREON_API_URL` to use the official API (mainnet). Set `AUREON_NETWORK=testnet` only to stay on testnet.
|
|
36
38
|
3. Call tools. Day-to-day agent work does **not** require a wallet handshake.
|
|
37
39
|
|
|
38
40
|
Optional wallet path: `aureon_get_auth_nonce` → host signs → `aureon_verify_wallet`. Prefer issued keys for always-on agents.
|
|
@@ -85,7 +87,7 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
85
87
|
|
|
86
88
|
**When to use:** Optional wallet handshake only. Issued API keys usually skip this path.
|
|
87
89
|
|
|
88
|
-
**Caveats:** The message must be signed by the matching wallet.
|
|
90
|
+
**Caveats:** The message must be signed by the matching wallet. `inviteCode` is only if the API asks for it on this optional Bearer path. Hosted MCP and issued-key stdio do not use this tool.
|
|
89
91
|
|
|
90
92
|
### `aureon_verify_wallet`
|
|
91
93
|
|
|
@@ -748,7 +750,7 @@ Successful calls return structured JSON (formatted for agents). Failures return
|
|
|
748
750
|
- [Agent guide](./agent-guide.md) — read → decide → act playbooks
|
|
749
751
|
- [Auth](./auth.md) — issued key, optional Bearer, private-key boundary
|
|
750
752
|
- [Setup](./setup.md) — host configuration for Cursor / Claude Desktop
|
|
751
|
-
- [Security](./security.md) — stdio trust boundary and key hygiene
|
|
753
|
+
- [Security](./security.md) — hosted HTTP and stdio trust boundary and key hygiene
|
|
752
754
|
- **@buildaureon/sdk documentation** — typed client methods, data contracts, error model
|
|
753
755
|
|
|
754
756
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buildaureon/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "MCP server for AUREON Financial Compass: Financial Compass capital context for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
46
46
|
"zod": "^3.25.67",
|
|
47
|
-
"@buildaureon/sdk": "0.1.
|
|
47
|
+
"@buildaureon/sdk": "0.1.10"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/node": "^22.13.10",
|