@keyban/agent-wallet-mcp 0.2.0 → 0.2.1
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/LICENSE +13 -0
- package/README.md +86 -0
- package/package.json +17 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright 2026 Keyban
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License.
|
|
5
|
+
You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
See the License for the specific language governing permissions and
|
|
13
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# @keyban/agent-wallet-mcp
|
|
2
|
+
|
|
3
|
+
Give an AI agent its own blockchain wallet: balances, USDC transfers and
|
|
4
|
+
[x402](https://x402.org) payments, under a spending policy the agent cannot
|
|
5
|
+
change.
|
|
6
|
+
|
|
7
|
+
Registry name: `io.keyban.prod.mcp/agent-wallet`.
|
|
8
|
+
|
|
9
|
+
The server runs locally over stdio, next to your MCP client. It holds one share
|
|
10
|
+
of a FROST threshold key in your OS keyring; Keyban holds the other. No single
|
|
11
|
+
side can move funds alone, and the model never sees either share or your API
|
|
12
|
+
key.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx -y @keyban/agent-wallet-mcp
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
With Claude Code:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
claude mcp add agent-wallet -- npx -y @keyban/agent-wallet-mcp
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The credentials below come from the Keyban admin app, which provisions the
|
|
27
|
+
wallet and hands you a ready-to-paste configuration.
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
|
|
31
|
+
| Variable | Required | What it is |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| `KEYBAN_API_KEY` | yes | API key of the application the wallet belongs to. Never exposed to the model. |
|
|
34
|
+
| `KEYBAN_APP_ID` | yes | Identifier of the Keyban application. |
|
|
35
|
+
| `KEYBAN_INVITE_KEY` | yes | One-shot ECDSA private key authorizing this client's first-boot registration as a signer. |
|
|
36
|
+
| `KEYBAN_WALLET_ADDRESS` | yes | Address of the account this server drives. |
|
|
37
|
+
| `KEYBAN_NETWORK` | yes | Network the wallet operates on, e.g. `base` or `xdc`. |
|
|
38
|
+
| `KEYBAN_BASE_URL` | no | Backend base URL, or one of `dev`, `testing`, `staging`, `prod`, `sandbox`. Defaults to `https://api.prod.keyban.io`. |
|
|
39
|
+
| `KEYBAN_DKG_BLOB` | no | Pre-generated signer share, base64 JSON. For runtimes with no OS keyring; it does not replace the invite key. |
|
|
40
|
+
| `MCP_LOG_FILE` | no | Path the server writes its log to. |
|
|
41
|
+
| `MCP_LOG_LEVEL` | no | `debug`, `info`, `warn` or `error`. Defaults to `info`. |
|
|
42
|
+
|
|
43
|
+
## Tools
|
|
44
|
+
|
|
45
|
+
Read-only:
|
|
46
|
+
|
|
47
|
+
| Tool | What it does |
|
|
48
|
+
|---|---|
|
|
49
|
+
| `api_status` | Check Keyban API status |
|
|
50
|
+
| `get_account_info` | Get wallet account info |
|
|
51
|
+
| `balance` | Check wallet balance |
|
|
52
|
+
| `list_expense_transactions` | List wallet transactions |
|
|
53
|
+
| `expense_stats` | Get spending statistics |
|
|
54
|
+
| `wait_for_intent` | Wait for approval decisions |
|
|
55
|
+
| `x402_info` | Inspect the x402 price of a URL |
|
|
56
|
+
| `discover_x402_services` | Search the x402 service directory |
|
|
57
|
+
|
|
58
|
+
Writing:
|
|
59
|
+
|
|
60
|
+
| Tool | What it does |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `sign_message` | Sign a message |
|
|
63
|
+
| `cancel_intent` | Cancel a pending payment intent |
|
|
64
|
+
| `transfer_usdc` | Transfer USDC — moves funds |
|
|
65
|
+
| `x402_pay` | Pay for an x402 resource — moves funds |
|
|
66
|
+
|
|
67
|
+
Every tool carries a `title` and the applicable `readOnlyHint` or
|
|
68
|
+
`destructiveHint`, so a client can tell the two groups apart before calling
|
|
69
|
+
anything.
|
|
70
|
+
|
|
71
|
+
## Spending policy
|
|
72
|
+
|
|
73
|
+
Transfers and x402 payments are checked against the wallet's policy on the
|
|
74
|
+
Keyban side. A call the policy will not clear on its own does not fail
|
|
75
|
+
silently: it comes back naming a payment intent that needs a human decision.
|
|
76
|
+
`wait_for_intent` blocks until the owner approves or declines, and the agent
|
|
77
|
+
retries once it is approved. The policy lives with the wallet, not with this
|
|
78
|
+
process, so editing this server's configuration cannot widen it.
|
|
79
|
+
|
|
80
|
+
## Documentation
|
|
81
|
+
|
|
82
|
+
<https://docs.keyban.io/>
|
|
83
|
+
|
|
84
|
+
## License
|
|
85
|
+
|
|
86
|
+
Apache-2.0. See [LICENSE](./LICENSE).
|
package/package.json
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keyban/agent-wallet-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "MCP server for Keyban agent wallet operations",
|
|
5
5
|
"mcpName": "io.keyban.prod.mcp/agent-wallet",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"homepage": "https://docs.keyban.io/",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"mcp",
|
|
10
|
+
"model-context-protocol",
|
|
11
|
+
"agent",
|
|
12
|
+
"wallet",
|
|
13
|
+
"blockchain",
|
|
14
|
+
"usdc",
|
|
15
|
+
"x402",
|
|
16
|
+
"payments",
|
|
17
|
+
"keyban"
|
|
18
|
+
],
|
|
7
19
|
"type": "module",
|
|
8
20
|
"bin": {
|
|
9
21
|
"agent-wallet-mcp": "./dist/index.mjs"
|
|
10
22
|
},
|
|
11
23
|
"files": [
|
|
12
|
-
"dist/"
|
|
24
|
+
"dist/",
|
|
25
|
+
"LICENSE",
|
|
26
|
+
"README.md"
|
|
13
27
|
],
|
|
14
28
|
"dependencies": {
|
|
15
29
|
"@napi-rs/keyring": "^1.2.0",
|