@aifinpay/mcp 2.10.0 → 2.11.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 +83 -10
- package/bin/aifinpay-mcp.js +130 -41
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/payable-fetch.d.ts.map +1 -1
- package/dist/tools/payable-fetch.js +10 -4
- package/dist/tools/payable-fetch.js.map +1 -1
- package/dist/tools/payment-setup-status.d.ts +84 -0
- package/dist/tools/payment-setup-status.d.ts.map +1 -0
- package/dist/tools/payment-setup-status.js +193 -0
- package/dist/tools/payment-setup-status.js.map +1 -0
- package/dist/tools/production-control.d.ts.map +1 -1
- package/dist/tools/production-control.js +106 -6
- package/dist/tools/production-control.js.map +1 -1
- package/package.json +2 -2
- package/skills/SKILL.md +63 -20
package/README.md
CHANGED
|
@@ -4,16 +4,60 @@ AiFinPay MCP server for persistent agent identity, Agent Passport resolution,
|
|
|
4
4
|
route discovery and non-signing settlement invoices. Canonical domain:
|
|
5
5
|
**aifinpay.io**.
|
|
6
6
|
|
|
7
|
-
Version **2.
|
|
8
|
-
|
|
9
|
-
lock refreshed) and canonical skill 2.9.0. The separate canonical producer's final immutable
|
|
7
|
+
Version **2.11.0** is prepared in this checkout, on the published agent 2.8.0
|
|
8
|
+
and canonical skill 2.10.0 (AiFinPay/skill 49c2e2a, published 2026-10-19). The separate canonical producer's final immutable
|
|
10
9
|
source pin is a required handoff, not a moving-branch substitution.
|
|
11
10
|
The published baseline checked2026-10-04 was MCP2.5.0. Package publication and
|
|
12
11
|
real registry dependency/lock refresh remain release gates; a source-cohort
|
|
13
12
|
build does not prove those steps. Owner-enabled v1.4 purchases with `payable_fetch` are
|
|
14
13
|
released: on Polygon since 2.2.0, on Base (ETH or USDC) since 2.5.0; site-wide
|
|
15
|
-
batches with `scope: "merchant"` since 2.4.1. Without payment configuration the server
|
|
16
|
-
|
|
14
|
+
batches with `scope: "merchant"` since 2.4.1. Without payment configuration the server
|
|
15
|
+
lists every tool, including `payable_fetch`, but signs nothing: `payable_fetch`
|
|
16
|
+
and `payment_setup_status` answer with the setup checklist instead.
|
|
17
|
+
|
|
18
|
+
## First payment in five steps
|
|
19
|
+
|
|
20
|
+
Each step is one command or one tool call. Signing happens only in step 5,
|
|
21
|
+
and only once the owner has set every limit in step 4.
|
|
22
|
+
|
|
23
|
+
1. **Read the price.** `GET` the resource. The `402` names the merchant
|
|
24
|
+
(`merchant_id`), the price per request and the smallest batch (`$0.10` for
|
|
25
|
+
200 standard requests).
|
|
26
|
+
2. **Check the setup.** Call `payment_setup_status`. It returns the wallet
|
|
27
|
+
(persistent or ephemeral), whether payments are enabled, which owner limits
|
|
28
|
+
are set, the balance when the RPC answers, and `next_step`: the first thing
|
|
29
|
+
still missing.
|
|
30
|
+
3. **Persistent wallet.** If `wallet.persistent` is false, run
|
|
31
|
+
`npx @aifinpay/mcp init`. Without a terminal it prints one JSON document;
|
|
32
|
+
copy its `env` (the passphrase is only there) into the `aifinpay` server
|
|
33
|
+
entry of the MCP client config, reconnect the server, then call
|
|
34
|
+
`agent_reload`. Never fund an ephemeral address.
|
|
35
|
+
4. **Fund and enable.** Tell the owner `addresses.evm` and the amount: the
|
|
36
|
+
batch price in POL plus the gas cap, so about `0.5 POL` for one `$0.10`
|
|
37
|
+
batch at `$0.20`/POL plus up to `0.3 POL` gas (the SDK refuses before
|
|
38
|
+
signing if the worst-case fee exceeds the cap). When the owner confirms
|
|
39
|
+
funding, they add the payment settings to the same `env` and reconnect:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"AIFINPAY_PAYMENTS_ENABLED": "1",
|
|
44
|
+
"AIFINPAY_GATEWAY_ORIGINS": "https://dev.ratersapp.com",
|
|
45
|
+
"AIFINPAY_GATEWAY_PATH_MODE": "direct",
|
|
46
|
+
"AIFINPAY_MAX_USD": "0.15",
|
|
47
|
+
"AIFINPAY_DAILY_USD": "1.00",
|
|
48
|
+
"AIFINPAY_MAX_GAS_POL": "0.3"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`payment_setup_status` then reports `ready: true`.
|
|
53
|
+
|
|
54
|
+
5. **Pay.** `payable_fetch({"url": "https://dev.ratersapp.com/api/agent/genres/list"})`
|
|
55
|
+
buys the batch on Polygon (splitter v1.4) and returns the content and the
|
|
56
|
+
receipt summary. Later requests reuse the batch.
|
|
57
|
+
|
|
58
|
+
Polygon and Base are served on v1.4 today; `settlement_routes` lists them
|
|
59
|
+
first, with `live: true`. Its `legacy_v13` section describes the older
|
|
60
|
+
splitter v1.3 routes, which `payable_fetch` does not use.
|
|
17
61
|
|
|
18
62
|
## Enable native paid GET requests
|
|
19
63
|
|
|
@@ -171,16 +215,19 @@ state file in chat. Unconfirmed payments consume the budget conservatively.
|
|
|
171
215
|
| `agent_reload` | Reload local wallet files in the current MCP connection. |
|
|
172
216
|
| `agent_quota` | Read the agent's quota. |
|
|
173
217
|
| `agent_passport_resolve` | Resolve the global Agent Passport identity. |
|
|
174
|
-
| `
|
|
218
|
+
| `payment_setup_status` | Read-only setup checklist with the one `next_step`. |
|
|
219
|
+
| `settlement_routes` | Splitter v1.4 routes (live now) first, then legacy v1.3. |
|
|
175
220
|
| `settlement_invoice` | Prepare a non-signing settlement invoice. |
|
|
176
221
|
| `agent_history` | Read indexed settlements or retained receipt batches. |
|
|
177
222
|
| `settlement_solana` | Build a non-signing Solana settlement invoice. |
|
|
178
223
|
| `settlement_casper` | Build a non-signing Casper settlement invoice. |
|
|
179
224
|
| `deployment_info` | Read deployments: addresses, assets, settlement status. |
|
|
180
225
|
|
|
181
|
-
`payable_fetch` is
|
|
182
|
-
|
|
183
|
-
|
|
226
|
+
`payable_fetch` is always listed. It signs only with a persistent wallet,
|
|
227
|
+
`AIFINPAY_PAYMENTS_ENABLED=1` and every owner limit; before that it returns the
|
|
228
|
+
`payment_setup_status` checklist as a tool error and contacts nothing. With
|
|
229
|
+
payments enabled and any owner limit missing or invalid, the server refuses to
|
|
230
|
+
start rather than hiding the tool. It accepts
|
|
184
231
|
only `url`, `max_amount_usd`, `scope` and `expected_merchant_id`; `max_amount_usd`
|
|
185
232
|
can lower the owner's per-payment cap for one call, never raise it.
|
|
186
233
|
|
|
@@ -267,7 +314,33 @@ AIFINPAY_WALLET_PASSPHRASE='<a long passphrase>' npx @aifinpay/mcp init
|
|
|
267
314
|
The keystore is encrypted at rest and the MCP server needs the same
|
|
268
315
|
`AIFINPAY_WALLET_PASSPHRASE` to load it. For a disposable test wallet only,
|
|
269
316
|
`npx @aifinpay/mcp init --plaintext` writes it unencrypted (mode 600); without
|
|
270
|
-
either, `init` refuses rather than create an unencrypted wallet
|
|
317
|
+
either, `init` on a terminal refuses rather than create an unencrypted wallet
|
|
318
|
+
you might fund.
|
|
319
|
+
|
|
320
|
+
Without a terminal on stdin (an agent's subprocess), or with
|
|
321
|
+
`AIFINPAY_NONINTERACTIVE=1`, `init` never prompts. It generates a 192-bit
|
|
322
|
+
passphrase, encrypts the keystore and prints one JSON document:
|
|
323
|
+
|
|
324
|
+
```json
|
|
325
|
+
{
|
|
326
|
+
"keystore": "/home/me/.aifinpay/agent.json",
|
|
327
|
+
"created": true,
|
|
328
|
+
"encrypted": true,
|
|
329
|
+
"source": "legacy-keystore",
|
|
330
|
+
"addresses": { "evm": "0x…", "solana": "…", "casper": "account-hash-…" },
|
|
331
|
+
"env": { "AIFINPAY_WALLET_PASSPHRASE": "<generated>" },
|
|
332
|
+
"passphrase_note": "…",
|
|
333
|
+
"payment_env_example": { "AIFINPAY_PAYMENTS_ENABLED": "1", "…": "…" },
|
|
334
|
+
"next_step": "Put \"env\" into the aifinpay server entry of the MCP client config …"
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
The passphrase appears only inside `env`, because the caller must put it in
|
|
339
|
+
the client config and there is no other channel; a process that captures that
|
|
340
|
+
output captures the passphrase, so treat the output as a secret. A second run
|
|
341
|
+
keeps the wallet and prints a placeholder instead of the passphrase. If the
|
|
342
|
+
keystore exists and `AIFINPAY_WALLET_PASSPHRASE` is unset, `init` prints one
|
|
343
|
+
line naming the variable and exits with status 2.
|
|
271
344
|
|
|
272
345
|
Select the wallet in this order: `SEED_HASH` → `./aifinpay/agents.json` →
|
|
273
346
|
legacy `AIFINPAY_AGENT_SECRET` → `~/.aifinpay/agent.json`.
|
package/bin/aifinpay-mcp.js
CHANGED
|
@@ -75,6 +75,11 @@ if (arg === "--help" || arg === "-h" || arg === "help") {
|
|
|
75
75
|
Run init once. It writes ${KEYSTORE} with mode 600 and the server picks
|
|
76
76
|
it up automatically — you do not have to put the secret in a config file.
|
|
77
77
|
|
|
78
|
+
Without a terminal on stdin (an agent's subprocess), or with
|
|
79
|
+
AIFINPAY_NONINTERACTIVE=1, init never prompts: it generates the passphrase
|
|
80
|
+
itself, encrypts the keystore and prints one JSON document with the keystore
|
|
81
|
+
path, the public addresses and the exact "env" block for the MCP client config.
|
|
82
|
+
|
|
78
83
|
Env (all optional):
|
|
79
84
|
SEED_HASH 32-byte hex seed; highest priority
|
|
80
85
|
AIFINPAY_AGENTS_FILE project agents file (default ./aifinpay/agents.json)
|
|
@@ -86,9 +91,10 @@ Env (all optional):
|
|
|
86
91
|
AIFINPAY_TIMEOUT_MS default 30000
|
|
87
92
|
AIFINPAY_HOME default ~/.aifinpay
|
|
88
93
|
|
|
89
|
-
Payments (payable_fetch)
|
|
94
|
+
Payments (payable_fetch) sign nothing until the owner sets all of
|
|
90
95
|
AIFINPAY_PAYMENTS_ENABLED=1, AIFINPAY_GATEWAY_ORIGINS, AIFINPAY_MAX_USD,
|
|
91
|
-
AIFINPAY_DAILY_USD and AIFINPAY_MAX_GAS_POL. init prints an example block
|
|
96
|
+
AIFINPAY_DAILY_USD and AIFINPAY_MAX_GAS_POL. init prints an example block;
|
|
97
|
+
the payment_setup_status tool says which of them is still missing.
|
|
92
98
|
`);
|
|
93
99
|
process.exit(0);
|
|
94
100
|
}
|
|
@@ -100,7 +106,14 @@ if (arg === "--version" || arg === "-v" || arg === "version") {
|
|
|
100
106
|
|
|
101
107
|
// ── init ──────────────────────────────────────────────────────────────────
|
|
102
108
|
|
|
103
|
-
const
|
|
109
|
+
const PASSPHRASE_ENV = "AIFINPAY_WALLET_PASSPHRASE";
|
|
110
|
+
let PASSPHRASE = process.env[PASSPHRASE_ENV] || null;
|
|
111
|
+
// An agent's subprocess has no terminal on stdin. Nothing here may wait for a
|
|
112
|
+
// human then: a 2026-10-19 agent run hung 167 s on a passphrase it could not
|
|
113
|
+
// type and invented its own key handling instead. In this mode init generates
|
|
114
|
+
// the passphrase itself and prints JSON the agent can act on.
|
|
115
|
+
const NONINTERACTIVE = process.env.AIFINPAY_NONINTERACTIVE === "1" || !process.stdin.isTTY;
|
|
116
|
+
let GENERATED_PASSPHRASE = false;
|
|
104
117
|
|
|
105
118
|
// Optional at-rest encryption. Mode 600 keeps the keystore from OTHER users; it
|
|
106
119
|
// does nothing against malware running as YOU — the threat the OSINT write-up of
|
|
@@ -130,7 +143,7 @@ function encryptSecret(secretB58) {
|
|
|
130
143
|
};
|
|
131
144
|
}
|
|
132
145
|
function decryptSecret(store) {
|
|
133
|
-
if (!PASSPHRASE) throw new Error(`${KEYSTORE} is encrypted but
|
|
146
|
+
if (!PASSPHRASE) throw new Error(`${KEYSTORE} is encrypted but ${PASSPHRASE_ENV} is not set.`);
|
|
134
147
|
const key = scryptSync(PASSPHRASE, Buffer.from(store.salt, "base64"), 32, {
|
|
135
148
|
N: 1 << 15,
|
|
136
149
|
r: 8,
|
|
@@ -160,31 +173,59 @@ function readKeystore() {
|
|
|
160
173
|
return typeof parsed?.secretB58 === "string" ? parsed : null;
|
|
161
174
|
}
|
|
162
175
|
|
|
163
|
-
// The owner settings that register payable_fetch, as init prints them. README
|
|
164
|
-
// "Enable native paid GET requests" shows the same block; a test keeps the two
|
|
165
|
-
// equal and starts a server with it. The gas cap is a worst case at the current
|
|
166
|
-
// Polygon gas price, not the fee: 0.05 POL refused every payment at ~280 gwei.
|
|
167
|
-
const PAYMENT_ENV = {
|
|
168
|
-
AIFINPAY_PAYMENTS_ENABLED: "1",
|
|
169
|
-
AIFINPAY_GATEWAY_ORIGINS: "https://merchant.example",
|
|
170
|
-
AIFINPAY_GATEWAY_PATH_MODE: "direct",
|
|
171
|
-
AIFINPAY_MAX_USD: "0.15",
|
|
172
|
-
AIFINPAY_DAILY_USD: "1.00",
|
|
173
|
-
AIFINPAY_MAX_GAS_POL: "0.3",
|
|
174
|
-
};
|
|
175
|
-
|
|
176
176
|
if (arg === "init") {
|
|
177
177
|
const { Agent, AiFinPayAgent } = await import("@aifinpay/agent");
|
|
178
178
|
|
|
179
179
|
const { loadConfigFromEnv } = await import("../dist/config.js");
|
|
180
180
|
const { loadWalletIdentity } = await import("../dist/identity.js");
|
|
181
|
+
const { PAYMENT_ENV } = await import("../dist/tools/payment-setup-status.js");
|
|
181
182
|
const config = loadConfigFromEnv();
|
|
182
|
-
|
|
183
|
+
// A keystore that cannot be opened is reported in one line that names the
|
|
184
|
+
// variable, never as a stack trace — and never replaced.
|
|
185
|
+
const failKeystore = (error) => {
|
|
186
|
+
const line =
|
|
187
|
+
!PASSPHRASE && existsSync(KEYSTORE)
|
|
188
|
+
? `${KEYSTORE} exists and is encrypted; set ${PASSPHRASE_ENV} to the passphrase used at init (it is not set in this environment).`
|
|
189
|
+
: error.message;
|
|
190
|
+
if (NONINTERACTIVE)
|
|
191
|
+
process.stdout.write(
|
|
192
|
+
JSON.stringify({ error: line, keystore: KEYSTORE, ...(PASSPHRASE ? {} : { missing_env: PASSPHRASE_ENV }) }) +
|
|
193
|
+
"\n"
|
|
194
|
+
);
|
|
195
|
+
else process.stderr.write(line + "\n");
|
|
196
|
+
process.exit(2);
|
|
197
|
+
};
|
|
198
|
+
let selected;
|
|
199
|
+
try {
|
|
200
|
+
selected = loadWalletIdentity(config);
|
|
201
|
+
} catch (error) {
|
|
202
|
+
failKeystore(error);
|
|
203
|
+
}
|
|
204
|
+
const plaintext = process.argv.includes("--plaintext");
|
|
205
|
+
const addressesOf = (agent) => ({ evm: agent.evmAddress, solana: agent.solanaAddress, casper: agent.casperAddress });
|
|
206
|
+
const indexEnv =
|
|
207
|
+
selected?.derivationIndex === undefined ? {} : { AIFINPAY_WALLET_INDEX: String(selected.derivationIndex) };
|
|
208
|
+
// Non-interactive stdout is one JSON document and nothing else, so the
|
|
209
|
+
// caller can parse it. The same facts, as prose, go to a terminal.
|
|
210
|
+
const emit = (json, text) => process.stdout.write(NONINTERACTIVE ? JSON.stringify(json, null, 2) + "\n" : text);
|
|
211
|
+
const nextStep =
|
|
212
|
+
'Put "env" into the aifinpay server entry of the MCP client config and reconnect the server (or call agent_reload in an already connected one), then call payment_setup_status: it names the next step up to the first payment.';
|
|
213
|
+
|
|
183
214
|
if (selected && selected.source !== "legacy-keystore") {
|
|
184
215
|
const agent = selected.seedHash
|
|
185
216
|
? await AiFinPayAgent.fromSeed(selected.seedHash, { derivationIndex: selected.derivationIndex })
|
|
186
217
|
: await AiFinPayAgent.fromSolanaSecret(selected.secretB58);
|
|
187
|
-
|
|
218
|
+
emit(
|
|
219
|
+
{
|
|
220
|
+
keystore: null,
|
|
221
|
+
created: false,
|
|
222
|
+
encrypted: null,
|
|
223
|
+
source: selected.source,
|
|
224
|
+
addresses: addressesOf(agent),
|
|
225
|
+
env: indexEnv,
|
|
226
|
+
payment_env_example: PAYMENT_ENV,
|
|
227
|
+
next_step: nextStep,
|
|
228
|
+
},
|
|
188
229
|
`Using ${selected.source}${selected.derivationIndex === undefined ? "" : ` (index ${selected.derivationIndex})`}; no replacement wallet created.\n` +
|
|
189
230
|
`EVM ${agent.evmAddress}\nSolana ${agent.solanaAddress}\nCasper ${agent.casperAddress}\n` +
|
|
190
231
|
`Keep your configured seed backed up privately. Call agent_reload in an already connected MCP server.\n`
|
|
@@ -192,21 +233,37 @@ if (arg === "init") {
|
|
|
192
233
|
process.exit(0);
|
|
193
234
|
}
|
|
194
235
|
|
|
195
|
-
|
|
236
|
+
const openExistingKeystore = () => {
|
|
237
|
+
try {
|
|
238
|
+
return readKeystore();
|
|
239
|
+
} catch (error) {
|
|
240
|
+
failKeystore(error);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
let store = openExistingKeystore();
|
|
196
244
|
let freshlyCreated = false;
|
|
197
245
|
// A new wallet is encrypted at rest unless the owner asks otherwise, by name.
|
|
198
246
|
// It used to be written in plaintext whenever AIFINPAY_WALLET_PASSPHRASE was
|
|
199
247
|
// unset — which is the default — so the documented one-liner produced an
|
|
200
248
|
// unencrypted key for a wallet people then funded. Existing keystores are
|
|
201
249
|
// untouched; only creating a new plaintext one needs the flag.
|
|
202
|
-
if (!store && !PASSPHRASE && !
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
250
|
+
if (!store && !PASSPHRASE && !plaintext) {
|
|
251
|
+
if (NONINTERACTIVE) {
|
|
252
|
+
// 192 random bits. The passphrase is printed once, inside the env block
|
|
253
|
+
// below, because the caller has to put it in the client config and there
|
|
254
|
+
// is no other channel; this is the trade-off of a wallet created by a
|
|
255
|
+
// process that cannot be asked anything.
|
|
256
|
+
PASSPHRASE = randomBytes(24).toString("base64url");
|
|
257
|
+
GENERATED_PASSPHRASE = true;
|
|
258
|
+
} else {
|
|
259
|
+
process.stderr.write(
|
|
260
|
+
`No wallet at ${KEYSTORE}, and none will be created unencrypted by default.\n\n` +
|
|
261
|
+
` Encrypted (recommended): AIFINPAY_WALLET_PASSPHRASE='<a long passphrase>' npx @aifinpay/mcp init\n` +
|
|
262
|
+
` Disposable test wallet: npx @aifinpay/mcp init --plaintext\n\n` +
|
|
263
|
+
`Keep the passphrase: an encrypted wallet cannot be recovered without it.\n`
|
|
264
|
+
);
|
|
265
|
+
process.exit(2);
|
|
266
|
+
}
|
|
210
267
|
}
|
|
211
268
|
if (!store) {
|
|
212
269
|
mkdirSync(HOME, { recursive: true, mode: 0o700 });
|
|
@@ -233,7 +290,9 @@ if (arg === "init") {
|
|
|
233
290
|
freshlyCreated = true;
|
|
234
291
|
} catch (error) {
|
|
235
292
|
if (error.code !== "EEXIST") throw error;
|
|
236
|
-
|
|
293
|
+
// The other process won; a passphrase generated here opens nothing.
|
|
294
|
+
if (GENERATED_PASSPHRASE) PASSPHRASE = null;
|
|
295
|
+
store = openExistingKeystore();
|
|
237
296
|
if (!store) throw new Error(`Existing ${KEYSTORE} is unreadable; refusing to replace it.`);
|
|
238
297
|
}
|
|
239
298
|
} finally {
|
|
@@ -241,6 +300,44 @@ if (arg === "init") {
|
|
|
241
300
|
if (ownsTemporary) unlinkSync(temporary);
|
|
242
301
|
}
|
|
243
302
|
}
|
|
303
|
+
const agent = selected?.seedHash
|
|
304
|
+
? await AiFinPayAgent.fromSeed(selected.seedHash, { derivationIndex: selected.derivationIndex })
|
|
305
|
+
: await AiFinPayAgent.fromSolanaSecret(store.secretB58);
|
|
306
|
+
// The server cannot open an encrypted keystore without the passphrase, so a
|
|
307
|
+
// config block without it does not start.
|
|
308
|
+
const encrypted = freshlyCreated ? Boolean(PASSPHRASE) : Boolean(store.encrypted);
|
|
309
|
+
|
|
310
|
+
if (NONINTERACTIVE) {
|
|
311
|
+
emit(
|
|
312
|
+
{
|
|
313
|
+
keystore: KEYSTORE,
|
|
314
|
+
created: freshlyCreated,
|
|
315
|
+
encrypted,
|
|
316
|
+
source: "legacy-keystore",
|
|
317
|
+
addresses: addressesOf(agent),
|
|
318
|
+
env: {
|
|
319
|
+
...(encrypted
|
|
320
|
+
? {
|
|
321
|
+
[PASSPHRASE_ENV]: GENERATED_PASSPHRASE
|
|
322
|
+
? PASSPHRASE
|
|
323
|
+
: `<the ${PASSPHRASE_ENV} already set in this environment>`,
|
|
324
|
+
}
|
|
325
|
+
: {}),
|
|
326
|
+
...indexEnv,
|
|
327
|
+
},
|
|
328
|
+
...(GENERATED_PASSPHRASE
|
|
329
|
+
? {
|
|
330
|
+
passphrase_note: `${PASSPHRASE_ENV} was generated for this wallet and appears only here, inside env. The wallet cannot be opened or recovered without it.`,
|
|
331
|
+
}
|
|
332
|
+
: {}),
|
|
333
|
+
payment_env_example: PAYMENT_ENV,
|
|
334
|
+
next_step: nextStep,
|
|
335
|
+
},
|
|
336
|
+
""
|
|
337
|
+
);
|
|
338
|
+
process.exit(0);
|
|
339
|
+
}
|
|
340
|
+
|
|
244
341
|
if (freshlyCreated) {
|
|
245
342
|
process.stdout.write(
|
|
246
343
|
PASSPHRASE
|
|
@@ -270,21 +367,15 @@ if (arg === "init") {
|
|
|
270
367
|
);
|
|
271
368
|
}
|
|
272
369
|
|
|
273
|
-
const agent = selected?.seedHash
|
|
274
|
-
? await AiFinPayAgent.fromSeed(selected.seedHash, { derivationIndex: selected.derivationIndex })
|
|
275
|
-
: await AiFinPayAgent.fromSolanaSecret(store.secretB58);
|
|
276
|
-
// The server cannot open an encrypted keystore without the passphrase, so a
|
|
277
|
-
// config block without it does not start.
|
|
278
|
-
const encrypted = freshlyCreated ? Boolean(PASSPHRASE) : Boolean(store.encrypted);
|
|
279
|
-
|
|
280
370
|
process.stdout.write(
|
|
281
371
|
`Your agent's addresses${selected?.derivationIndex === undefined ? "" : ` (index ${selected.derivationIndex})`} — the EVM one is the same on every EVM chain:\n\n` +
|
|
282
372
|
` EVM ${agent.evmAddress}\n` +
|
|
283
373
|
` Solana ${agent.solanaAddress}\n` +
|
|
284
374
|
` Casper ${agent.casperAddress}\n\n` +
|
|
285
375
|
`Add this to your MCP client config and connect/reconnect this MCP server.\n` +
|
|
286
|
-
`As printed it cannot pay
|
|
287
|
-
`settings further down
|
|
376
|
+
`As printed it cannot pay: payable_fetch is listed but signs nothing until\n` +
|
|
377
|
+
`you add the payment settings further down (payment_setup_status says what\n` +
|
|
378
|
+
`is still missing):\n\n` +
|
|
288
379
|
JSON.stringify(
|
|
289
380
|
{
|
|
290
381
|
mcpServers: {
|
|
@@ -293,9 +384,7 @@ if (arg === "init") {
|
|
|
293
384
|
args: ["-y", `@aifinpay/mcp@${VERSION}`],
|
|
294
385
|
env: {
|
|
295
386
|
...(encrypted ? { AIFINPAY_WALLET_PASSPHRASE: "<the passphrase you used for init>" } : {}),
|
|
296
|
-
...
|
|
297
|
-
? {}
|
|
298
|
-
: { AIFINPAY_WALLET_INDEX: String(selected.derivationIndex) }),
|
|
387
|
+
...indexEnv,
|
|
299
388
|
},
|
|
300
389
|
},
|
|
301
390
|
},
|
package/dist/server.d.ts
CHANGED
|
@@ -47,6 +47,8 @@ export interface ToolContext {
|
|
|
47
47
|
paymentState?: PaymentStateStore;
|
|
48
48
|
/** AIFP-Agent-Framework for this connection's payments; unset sends none. */
|
|
49
49
|
framework?: AgentFramework;
|
|
50
|
+
/** Which identity the server loaded: "ephemeral", "legacy-keystore", "SEED_HASH", "agents.json" or "AIFINPAY_AGENT_SECRET". */
|
|
51
|
+
walletSource?: string;
|
|
50
52
|
log: (level: "info" | "warn" | "error", msg: string) => void;
|
|
51
53
|
}
|
|
52
54
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA6BvD;iFACiF;AACjF,wBAAsB,YAAY,CAAC,MAAM,GAAE,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsMxD;AA2BD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,+HAA+H;IAC/H,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D"}
|
package/dist/server.js
CHANGED
|
@@ -12,6 +12,7 @@ import { makeSafeFetch } from "./safe-fetch.js";
|
|
|
12
12
|
import { loadConfigFromEnv, validatePaymentConfig } from "./config.js";
|
|
13
13
|
import { PaymentStateStore } from "./payment-state.js";
|
|
14
14
|
import { payableFetchTool, runPayableFetch } from "./tools/payable-fetch.js";
|
|
15
|
+
import { paymentSetupStatusTool, runPaymentSetupStatus } from "./tools/payment-setup-status.js";
|
|
15
16
|
import { agentPassportResolveTool, runAgentPassportResolve, settlementRoutesTool, runSettlementRoutes, settlementInvoiceTool, runSettlementInvoice, settlementSolanaTool, runSettlementSolana, settlementCasperTool, runSettlementCasper, } from "./tools/production-control.js";
|
|
16
17
|
import { deploymentInfoTool, runDeploymentInfo } from "./tools/supported-chains.js";
|
|
17
18
|
import { payChain } from "./pay-chains.js";
|
|
@@ -116,7 +117,11 @@ export async function createServer(config = {}) {
|
|
|
116
117
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
117
118
|
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
118
119
|
},
|
|
119
|
-
|
|
120
|
+
// Always listed. Without the owner's setup it returns the same checklist
|
|
121
|
+
// as payment_setup_status and signs nothing; a fresh install used to show
|
|
122
|
+
// no payment tool at all, and agents stopped there.
|
|
123
|
+
paymentSetupStatusTool(),
|
|
124
|
+
payableFetchTool(),
|
|
120
125
|
agentQuotaTool(),
|
|
121
126
|
agentHistoryTool(),
|
|
122
127
|
...(config.devMode ? [devPaymentQuoteTool()] : []),
|
|
@@ -132,7 +137,7 @@ export async function createServer(config = {}) {
|
|
|
132
137
|
const { name, arguments: args } = request.params;
|
|
133
138
|
// The client named itself at initialize; unknown clients send no framework.
|
|
134
139
|
const framework = frameworkForClient(server.getClientVersion()?.name);
|
|
135
|
-
const ctx = { agent, config, log, paymentState, framework };
|
|
140
|
+
const ctx = { agent, config, log, paymentState, framework, walletSource: identitySource };
|
|
136
141
|
switch (name) {
|
|
137
142
|
case "agent_reload":
|
|
138
143
|
try {
|
|
@@ -170,6 +175,8 @@ export async function createServer(config = {}) {
|
|
|
170
175
|
}
|
|
171
176
|
case "payable_fetch":
|
|
172
177
|
return runPayableFetch(ctx, args ?? {});
|
|
178
|
+
case "payment_setup_status":
|
|
179
|
+
return runPaymentSetupStatus(ctx, args ?? {});
|
|
173
180
|
case "agent_address":
|
|
174
181
|
return runAgentAddress(ctx, args ?? {});
|
|
175
182
|
case "agent_claim_self":
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"payable-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAehD,wBAAgB,gBAAgB;IAE5B,IAAI;IACJ,WAAW;IAEX,WAAW;QACT,IAAI;QACJ,UAAU;YACR,GAAG;gBAAI,IAAI;gBAAY,WAAW;;YAClC,cAAc;gBACZ,IAAI;gBACJ,gBAAgB;gBAChB,WAAW;;YAEb,KAAK;gBACH,IAAI;gBACJ,IAAI;gBACJ,WAAW;;YAGb,oBAAoB;gBAClB,IAAI;gBACJ,OAAO;gBACP,WAAW;;;QAIf,QAAQ;QACR,oBAAoB;;IAEtB,WAAW;QAAI,YAAY;QAAS,aAAa;QAAQ,eAAe;;EAE3E;AAED,2FAA2F;AAC3F,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GAyYpF"}
|
|
@@ -3,6 +3,7 @@ import { validatePaymentConfig } from "../config.js";
|
|
|
3
3
|
import { PaymentStateError } from "../payment-state.js";
|
|
4
4
|
import { independentNativeUsd } from "../native-price.js";
|
|
5
5
|
import { payChain } from "../pay-chains.js";
|
|
6
|
+
import { paymentSetupStatus } from "./payment-setup-status.js";
|
|
6
7
|
// "prefix" is left out on purpose: it needs a resource to anchor to, and the
|
|
7
8
|
// owner's two real requests are "this endpoint" and "this site".
|
|
8
9
|
const SCOPES = ["exact", "merchant"];
|
|
@@ -12,7 +13,7 @@ const MERCHANT_ID = /^[A-Za-z0-9_.:-]{1,64}$/;
|
|
|
12
13
|
export function payableFetchTool() {
|
|
13
14
|
return {
|
|
14
15
|
name: "payable_fetch",
|
|
15
|
-
description: 'Fetch a GET resource from an owner-approved AiFinPay merchant. Buys a prepaid batch through verified v1.4 on the chain the owner set in AIFINPAY_PAY_CHAIN (Polygon by default; other supported networks require explicit owner selection) — in its native currency (POL, SOL, ETH, AVAX, BNB or XRP), or in the stablecoin the owner set in AIFINPAY_PAY_ASSET (e.g. USDC; gas is still native) — within owner limits, then reuses its receipt. With scope "merchant" one batch covers every path on the site. Pending payments are recovered without sending another transaction. Other payment protocols are unsupported.',
|
|
16
|
+
description: 'Fetch a GET resource from an owner-approved AiFinPay merchant, paying its AIFP-1 402 when needed. Always listed: until the owner has set up a persistent wallet (npx @aifinpay/mcp init), AIFINPAY_PAYMENTS_ENABLED=1 and every limit, it signs nothing and returns the payment_setup_status checklist with the one next step. Buys a prepaid batch through verified v1.4 on the chain the owner set in AIFINPAY_PAY_CHAIN (Polygon by default; other supported networks require explicit owner selection) — in its native currency (POL, SOL, ETH, AVAX, BNB or XRP), or in the stablecoin the owner set in AIFINPAY_PAY_ASSET (e.g. USDC; gas is still native) — within owner limits, then reuses its receipt. With scope "merchant" one batch covers every path on the site. Pending payments are recovered without sending another transaction. Other payment protocols are unsupported.',
|
|
16
17
|
inputSchema: {
|
|
17
18
|
type: "object",
|
|
18
19
|
properties: {
|
|
@@ -44,6 +45,14 @@ export async function runPayableFetch(ctx, args) {
|
|
|
44
45
|
let state;
|
|
45
46
|
let chain;
|
|
46
47
|
try {
|
|
48
|
+
const store = ctx.paymentState;
|
|
49
|
+
// Not set up: say exactly what is missing instead of refusing in one line.
|
|
50
|
+
// Nothing below runs, so nothing is quoted, signed or sent. The journal
|
|
51
|
+
// exists only for the persistent wallet the server started with.
|
|
52
|
+
if (!ctx.config.paymentsEnabled || !store || store.address !== ctx.agent.evmAddress.toLowerCase()) {
|
|
53
|
+
const status = await paymentSetupStatus(ctx, { readBalance: false });
|
|
54
|
+
return errorResult(JSON.stringify({ error: "payable_fetch is not set up yet; nothing was signed or paid.", ...status }, null, 2));
|
|
55
|
+
}
|
|
47
56
|
let feeCap;
|
|
48
57
|
try {
|
|
49
58
|
feeCap = validatePaymentConfig(ctx.config);
|
|
@@ -52,9 +61,6 @@ export async function runPayableFetch(ctx, args) {
|
|
|
52
61
|
catch (error) {
|
|
53
62
|
return errorResult(error.message);
|
|
54
63
|
}
|
|
55
|
-
const store = ctx.paymentState;
|
|
56
|
-
if (!store || store.address !== ctx.agent.evmAddress.toLowerCase())
|
|
57
|
-
return errorResult("A persistent matching wallet is required for payments.");
|
|
58
64
|
if (Object.keys(args).some((k) => !["url", "max_amount_usd", "scope", "expected_merchant_id"].includes(k)))
|
|
59
65
|
return errorResult("Only url, max_amount_usd, scope and expected_merchant_id are supported; no facilitator fallback.");
|
|
60
66
|
if (typeof args.url !== "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"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"}
|