@abstract-foundation/agw-mcp 0.1.0-beta.2 → 0.1.0-beta.5

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 CHANGED
@@ -9,13 +9,13 @@ MCP server for [Abstract Global Wallet](https://abs.xyz) session-key workflows
9
9
  ## Quick Start
10
10
 
11
11
  ```bash
12
- npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
12
+ npx -y @abstract-foundation/agw-mcp serve --chain-id 2741
13
13
  ```
14
14
 
15
15
  Or add it to Claude Code directly:
16
16
 
17
17
  ```bash
18
- claude mcp add agw -- npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
18
+ claude mcp add agw -- npx -y @abstract-foundation/agw-mcp serve --chain-id 2741
19
19
  ```
20
20
 
21
21
  ## Setup
@@ -23,10 +23,10 @@ claude mcp add agw -- npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
23
23
  ### 1. Bootstrap a session
24
24
 
25
25
  ```bash
26
- npx -y @abstract-foundation/agw-mcp init --chain-id 11124
26
+ npx -y @abstract-foundation/agw-mcp init --chain-id 2741
27
27
  ```
28
28
 
29
- This opens the hosted onboarding app (`https://app-jarrodwatts.vercel.app`) where you:
29
+ This opens the hosted onboarding app (`https://mcp.abs.xyz` by default) where you:
30
30
 
31
31
  1. Choose a policy preset (or provide custom policy JSON)
32
32
  2. Connect your Abstract Global Wallet
@@ -35,11 +35,12 @@ This opens the hosted onboarding app (`https://app-jarrodwatts.vercel.app`) wher
35
35
  Session data is saved to `~/.agw-mcp/session.json` with `0o600` file permissions. The session signer key is stored separately in `~/.agw-mcp/session-signer.key`.
36
36
  If a previous active session exists locally, the CLI attempts to revoke it on-chain after creating the new one.
37
37
  Bootstrap is single-process per storage directory (lockfile: `~/.agw-mcp/.bootstrap-init.lock`) to prevent concurrent `init` races.
38
+ When local sessions are revoked/cleared, the signer keyfile is deleted as part of local cleanup.
38
39
 
39
40
  ### 2. Start the MCP server
40
41
 
41
42
  ```bash
42
- npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
43
+ npx -y @abstract-foundation/agw-mcp serve --chain-id 2741
43
44
  ```
44
45
 
45
46
  ## Client Configuration
@@ -47,7 +48,7 @@ npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
47
48
  ### Claude Code
48
49
 
49
50
  ```bash
50
- claude mcp add agw -- npx -y @abstract-foundation/agw-mcp serve --chain-id 11124
51
+ claude mcp add agw -- npx -y @abstract-foundation/agw-mcp serve --chain-id 2741
51
52
  ```
52
53
 
53
54
  ### Claude Desktop
@@ -62,7 +63,7 @@ Add to your `claude_desktop_config.json`:
62
63
  "mcpServers": {
63
64
  "agw-mcp": {
64
65
  "command": "npx",
65
- "args": ["-y", "@abstract-foundation/agw-mcp", "serve", "--chain-id", "11124"]
66
+ "args": ["-y", "@abstract-foundation/agw-mcp", "serve", "--chain-id", "2741"]
66
67
  }
67
68
  }
68
69
  }
@@ -78,7 +79,7 @@ Add to your `claude_desktop_config.json`:
78
79
  "mcpServers": {
79
80
  "agw-mcp": {
80
81
  "command": "npx",
81
- "args": ["-y", "@abstract-foundation/agw-mcp", "serve", "--chain-id", "11124"]
82
+ "args": ["-y", "@abstract-foundation/agw-mcp", "serve", "--chain-id", "2741"]
82
83
  }
83
84
  }
84
85
  }
@@ -93,7 +94,7 @@ Use the same JSON block as Claude Desktop in your editor's MCP configuration fil
93
94
  ### Generate config snippet
94
95
 
95
96
  ```bash
96
- npx -y @abstract-foundation/agw-mcp config --npx --chain-id 11124
97
+ npx -y @abstract-foundation/agw-mcp config --npx --chain-id 2741
97
98
  ```
98
99
 
99
100
  ## Tools
@@ -117,7 +118,7 @@ npx -y @abstract-foundation/agw-mcp config --npx --chain-id 11124
117
118
 
118
119
  ## Network Configuration
119
120
 
120
- Defaults to Abstract testnet (chain ID `11124`). Switch to mainnet or override RPC:
121
+ Defaults to Abstract mainnet (chain ID `2741`). Override RPC or switch to testnet when needed:
121
122
 
122
123
  ```bash
123
124
  # Mainnet
@@ -132,15 +133,16 @@ Environment variables are also supported:
132
133
  ```bash
133
134
  AGW_MCP_CHAIN_ID=2741 npx -y @abstract-foundation/agw-mcp serve
134
135
  AGW_MCP_RPC_URL=https://api.mainnet.abs.xyz npx -y @abstract-foundation/agw-mcp serve
135
- AGW_MCP_APP_URL=http://localhost:3001 npx -y @abstract-foundation/agw-mcp init --chain-id 11124
136
+ AGW_MCP_APP_URL=https://mcp.abs.xyz npx -y @abstract-foundation/agw-mcp init --chain-id 2741
136
137
  ```
137
138
 
138
139
  `init` requires `https://` app URLs except for loopback local development URLs (`http://localhost`, `http://127.0.0.1`, `http://[::1]`).
140
+ `init` defaults to `https://mcp.abs.xyz` if no app URL is configured via `--app-url` or `AGW_MCP_APP_URL`.
139
141
 
140
142
  For local hosted-app development:
141
143
 
142
144
  ```bash
143
- npx -y @abstract-foundation/agw-mcp init --chain-id 11124 --app-url http://localhost:3001
145
+ npx -y @abstract-foundation/agw-mcp init --chain-id 2741 --app-url http://localhost:3001
144
146
  ```
145
147
 
146
148
  ## Security Model
@@ -151,6 +153,15 @@ npx -y @abstract-foundation/agw-mcp init --chain-id 11124 --app-url http://local
151
153
  - **Restrictive file permissions**: Session storage directory `0o700`, files `0o600`.
152
154
  - **Stderr-only logging**: stdout is reserved for MCP stdio transport. All operational logs go to stderr.
153
155
 
156
+ ### Real Funds Checklist
157
+
158
+ For production usage with real money:
159
+
160
+ 1. Use a trusted onboarding host (`--app-url` or `AGW_MCP_APP_URL`) and pin it in deployment config.
161
+ 2. Start with minimal intent scope (prefer payments-only) and shortest practical expiry.
162
+ 3. Keep `execute` off by default and run preview-first workflows where possible.
163
+ 4. Revoke sessions after task completion (`revoke_session`) and confirm status with `get_session_status`.
164
+
154
165
  ## Development
155
166
 
156
167
  ```bash