@keyban/agent-wallet-mcp 0.2.1 → 0.3.0
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 +44 -4
- package/dist/index.mjs +94105 -51841
- package/dist/index.mjs.map +4 -4
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -11,8 +11,33 @@ of a FROST threshold key in your OS keyring; Keyban holds the other. No single
|
|
|
11
11
|
side can move funds alone, and the model never sees either share or your API
|
|
12
12
|
key.
|
|
13
13
|
|
|
14
|
+
## You need a Keyban wallet first
|
|
15
|
+
|
|
16
|
+
**This server drives a wallet Keyban provisions. It does not create one, and it
|
|
17
|
+
has nothing to drive without one** — installing the package on its own gets you
|
|
18
|
+
a server offering a single `setup_instructions` tool, which points back here. The
|
|
19
|
+
threshold key is the reason: one share lives here, the other lives with us, so
|
|
20
|
+
there is a Keyban side to every wallet by construction and no configuration can
|
|
21
|
+
replace it.
|
|
22
|
+
|
|
23
|
+
So the order is:
|
|
24
|
+
|
|
25
|
+
1. **Get a Keyban account** at <https://keyban.io>.
|
|
26
|
+
2. **Create an agent wallet** in the admin app, or from your assistant with the
|
|
27
|
+
Keyban admin MCP (`https://mcp.prod.keyban.io/mcp`). It provisions the wallet, its
|
|
28
|
+
API key, and a one-shot invite key that authorises this client as a signer.
|
|
29
|
+
3. **Take the configuration the wallet's page in the admin app hands you** —
|
|
30
|
+
either the environment block for the table below, or a ready-to-install
|
|
31
|
+
`.mcpb` bundle with the values already in it.
|
|
32
|
+
4. **Then** install, with those values in the environment.
|
|
33
|
+
|
|
34
|
+
An [agent skill](https://docs.keyban.io/.well-known/agent-skills/keyban-agent-wallet/SKILL.md)
|
|
35
|
+
walks an AI agent through the same steps, then through operating the wallet.
|
|
36
|
+
|
|
14
37
|
## Install
|
|
15
38
|
|
|
39
|
+
Once you have the credentials from step 3:
|
|
40
|
+
|
|
16
41
|
```bash
|
|
17
42
|
npx -y @keyban/agent-wallet-mcp
|
|
18
43
|
```
|
|
@@ -20,25 +45,40 @@ npx -y @keyban/agent-wallet-mcp
|
|
|
20
45
|
With Claude Code:
|
|
21
46
|
|
|
22
47
|
```bash
|
|
23
|
-
claude mcp add agent-wallet
|
|
48
|
+
claude mcp add agent-wallet \
|
|
49
|
+
-e KEYBAN_API_KEY=… \
|
|
50
|
+
-e KEYBAN_APP_ID=… \
|
|
51
|
+
-e KEYBAN_INVITE_KEY=0x… \
|
|
52
|
+
-e KEYBAN_WALLET_ADDRESS=0x… \
|
|
53
|
+
-e KEYBAN_NETWORK=… \
|
|
54
|
+
-- npx -y @keyban/agent-wallet-mcp
|
|
24
55
|
```
|
|
25
56
|
|
|
26
|
-
|
|
27
|
-
|
|
57
|
+
On first boot the server runs a key generation, keeps its share in your OS
|
|
58
|
+
keyring, and registers itself on chain as a signer of that wallet using the
|
|
59
|
+
invite key. That happens once per machine; the invite key is spent by it.
|
|
28
60
|
|
|
29
61
|
## Configuration
|
|
30
62
|
|
|
63
|
+
The five required values all come from step 2 — none of them is something you
|
|
64
|
+
can pick yourself.
|
|
65
|
+
|
|
31
66
|
| Variable | Required | What it is |
|
|
32
67
|
|---|---|---|
|
|
33
68
|
| `KEYBAN_API_KEY` | yes | API key of the application the wallet belongs to. Never exposed to the model. |
|
|
34
69
|
| `KEYBAN_APP_ID` | yes | Identifier of the Keyban application. |
|
|
35
70
|
| `KEYBAN_INVITE_KEY` | yes | One-shot ECDSA private key authorizing this client's first-boot registration as a signer. |
|
|
36
71
|
| `KEYBAN_WALLET_ADDRESS` | yes | Address of the account this server drives. |
|
|
37
|
-
| `KEYBAN_NETWORK` | yes | Network the wallet operates on
|
|
72
|
+
| `KEYBAN_NETWORK` | yes | Network the wallet operates on: `BaseMainnet`, `BaseSepolia`, `XdcMainnet` or `XdcApothem`. |
|
|
38
73
|
| `KEYBAN_BASE_URL` | no | Backend base URL, or one of `dev`, `testing`, `staging`, `prod`, `sandbox`. Defaults to `https://api.prod.keyban.io`. |
|
|
39
74
|
| `KEYBAN_DKG_BLOB` | no | Pre-generated signer share, base64 JSON. For runtimes with no OS keyring; it does not replace the invite key. |
|
|
40
75
|
| `MCP_LOG_FILE` | no | Path the server writes its log to. |
|
|
41
76
|
| `MCP_LOG_LEVEL` | no | `debug`, `info`, `warn` or `error`. Defaults to `info`. |
|
|
77
|
+
| `MCP_TRANSPORT` | no | `http` serves stateless streamable-HTTP on `0.0.0.0:8000`, `POST /mcp`, for Amazon Bedrock AgentCore. Unset, the server speaks stdio. |
|
|
78
|
+
|
|
79
|
+
`MCP_TRANSPORT=http` has no authentication of its own: AgentCore authenticates
|
|
80
|
+
callers before they reach it. Anywhere else it is an open wallet endpoint, so
|
|
81
|
+
use it on AgentCore only.
|
|
42
82
|
|
|
43
83
|
## Tools
|
|
44
84
|
|