@curless/agentbank-mcp 0.0.15 → 0.2.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 +30 -0
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +144 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +185 -1
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -56,6 +56,36 @@ npx @curless/agentbank-mcp
|
|
|
56
56
|
- `pay_payment_gate` ⚠️ — pay a `payment_required` gate from a paywalled MCP
|
|
57
57
|
tool (drives the MPP two-step charge), so the gated tool runs
|
|
58
58
|
|
|
59
|
+
**Buyer wallet** (the PERSON's own money — a shopper, not a merchant)
|
|
60
|
+
- `wallet_login` — sign in with the buyer's email, for this session. Required
|
|
61
|
+
before any other `wallet_*` tool. Demo sign-in: it does not verify the
|
|
62
|
+
address, so it works in **test mode only** — a live deployment refuses it.
|
|
63
|
+
- `wallet_me` — profile, spend limits, spent-today / spent-this-month, and
|
|
64
|
+
whether a card is bound
|
|
65
|
+
- `wallet_balance` — the buyer's own balance per currency
|
|
66
|
+
- `wallet_orders` — what this buyer has bought
|
|
67
|
+
- `wallet_set_limits` — the buyer caps their **own** spending. No merchant
|
|
68
|
+
admin scope involved: before this existed the only way to change a spend
|
|
69
|
+
policy was `update_agent`, which needs `agentbank:admin`.
|
|
70
|
+
- `wallet_cards` — which cards are bound. An `unavailable` field means the list
|
|
71
|
+
could not be read: that is **unknown**, not "no cards bound".
|
|
72
|
+
- `wallet_bind_card` — bind a card so the wallet can pay with it again.
|
|
73
|
+
Takes a Stripe reference (`pm_…` / `tok_…`) only. **Never send a card number,
|
|
74
|
+
expiry or CVC** — those are tokenized in the buyer's browser and are refused
|
|
75
|
+
by the API. Test mode only; use Stripe's `pm_card_visa`.
|
|
76
|
+
- `wallet_unbind_card` — forget a bound card (detach, not delete)
|
|
77
|
+
- `wallet_pay_credential` — turn the bound card into a one-off credential (a
|
|
78
|
+
Stripe shared payment token) for one merchant, one amount, 15 minutes, then
|
|
79
|
+
hand it to that merchant's checkout. **The buyer's own spend limits are
|
|
80
|
+
checked here** — this is the only place they bind, and a refusal is their own
|
|
81
|
+
limit, not a payment failure.
|
|
82
|
+
|
|
83
|
+
These use a session obtained at runtime, **not** `AGENTBANK_AGENT_TOKEN`. The
|
|
84
|
+
agent token is configuration set by whoever installed the connector; the wallet
|
|
85
|
+
session is the person signing in, and it expires. When it does, the tools say
|
|
86
|
+
so — "your session expired" is never rendered as an empty balance or an empty
|
|
87
|
+
order list.
|
|
88
|
+
|
|
59
89
|
**Resources** (read-only / admin)
|
|
60
90
|
- `get_wallet_balances` — **admin/treasury only**: the org's Curless balances
|
|
61
91
|
(fiat + crypto). A plain `agent:execute` token gets 403 here — use
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { AgentbankError, toError } from '@curless/agentbank-core';
|
|
3
|
+
import { AgentbankError, createBuyerSession, toError } from '@curless/agentbank-core';
|
|
4
4
|
import { payMcpGate } from '@curless/agentbank-mcp-pay/agent';
|
|
5
5
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
@@ -61,7 +61,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }))
|
|
|
61
61
|
const payGate = AGENT_TOKEN
|
|
62
62
|
? (gate) => payMcpGate(gate, { baseUrl: API_BASE, token: AGENT_TOKEN, source: PAYER_REF })
|
|
63
63
|
: undefined;
|
|
64
|
-
|
|
64
|
+
// The buyer's own wallet session — obtained at runtime via wallet_login, held
|
|
65
|
+
// for the life of this process, and deliberately NOT read from env: the agent
|
|
66
|
+
// token above is configuration set by whoever installed the connector, while
|
|
67
|
+
// this is the person sitting there signing in, and it expires.
|
|
68
|
+
const buyer = createBuyerSession({ baseUrl: API_BASE });
|
|
69
|
+
server.setRequestHandler(CallToolRequestSchema, async (req) => dispatchTool(req.params.name, req.params.arguments, fetchApi, payGate, buyer));
|
|
65
70
|
const transport = new StdioServerTransport();
|
|
66
71
|
await server.connect(transport);
|
|
67
72
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type BuyerSession } from '@curless/agentbank-core';
|
|
1
2
|
import type { PaywallGate } from '@curless/agentbank-mcp-pay';
|
|
2
3
|
export type FetchApi = <T>(path: string, init?: RequestInit) => Promise<T>;
|
|
3
4
|
export type PayGate = (gate: PaywallGate) => Promise<{
|
|
@@ -304,6 +305,148 @@ export declare const TOOLS: readonly [{
|
|
|
304
305
|
readonly type: "object";
|
|
305
306
|
readonly properties: {};
|
|
306
307
|
};
|
|
308
|
+
}, {
|
|
309
|
+
readonly name: "wallet_login";
|
|
310
|
+
readonly title: "Sign in to a Curless buyer wallet";
|
|
311
|
+
readonly description: "Sign in to the buyer's own Curless wallet, for this session. Required before any wallet_* tool. Ask the person for their credentials rather than guessing; if they would rather not type a password into the chat, point them at the hosted sign-in page instead. Test mode only.";
|
|
312
|
+
readonly inputSchema: {
|
|
313
|
+
readonly type: "object";
|
|
314
|
+
readonly required: readonly ["email", "password"];
|
|
315
|
+
readonly properties: {
|
|
316
|
+
readonly email: {
|
|
317
|
+
readonly type: "string";
|
|
318
|
+
readonly description: "the buyer's email address";
|
|
319
|
+
};
|
|
320
|
+
readonly password: {
|
|
321
|
+
readonly type: "string";
|
|
322
|
+
readonly description: "the buyer's password";
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
}, {
|
|
327
|
+
readonly name: "wallet_me";
|
|
328
|
+
readonly title: "Buyer wallet profile";
|
|
329
|
+
readonly description: "The signed-in buyer: their email, whether a card is bound, their spend limits and what they have spent today and this month.";
|
|
330
|
+
readonly inputSchema: {
|
|
331
|
+
readonly type: "object";
|
|
332
|
+
readonly properties: {};
|
|
333
|
+
};
|
|
334
|
+
}, {
|
|
335
|
+
readonly name: "wallet_balance";
|
|
336
|
+
readonly title: "Buyer wallet balance";
|
|
337
|
+
readonly description: "The signed-in buyer's own wallet balance per currency, in minor units. This is the PERSON's money — for an agent's spend budget use get_my_balance, and for a merchant's treasury use get_wallet_balances.";
|
|
338
|
+
readonly inputSchema: {
|
|
339
|
+
readonly type: "object";
|
|
340
|
+
readonly properties: {};
|
|
341
|
+
};
|
|
342
|
+
}, {
|
|
343
|
+
readonly name: "wallet_orders";
|
|
344
|
+
readonly title: "Buyer order history";
|
|
345
|
+
readonly description: "What the signed-in buyer has bought, newest first.";
|
|
346
|
+
readonly inputSchema: {
|
|
347
|
+
readonly type: "object";
|
|
348
|
+
readonly properties: {
|
|
349
|
+
readonly limit: {
|
|
350
|
+
readonly type: "integer";
|
|
351
|
+
readonly description: "default 20, max 100";
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
}, {
|
|
356
|
+
readonly name: "wallet_set_limits";
|
|
357
|
+
readonly title: "Set buyer spend limits";
|
|
358
|
+
readonly description: "Set the signed-in buyer's OWN spend limits, in minor units. Replaces the whole policy: send every limit that should remain in force, not just the one being changed. Read wallet_me first and show the person the current limits before writing new ones.";
|
|
359
|
+
readonly inputSchema: {
|
|
360
|
+
readonly type: "object";
|
|
361
|
+
readonly properties: {
|
|
362
|
+
readonly perTransactionLimit: {
|
|
363
|
+
readonly type: "integer";
|
|
364
|
+
readonly description: "minor units, e.g. 50000 = €500.00";
|
|
365
|
+
};
|
|
366
|
+
readonly dailyLimit: {
|
|
367
|
+
readonly type: "integer";
|
|
368
|
+
};
|
|
369
|
+
readonly monthlyLimit: {
|
|
370
|
+
readonly type: "integer";
|
|
371
|
+
};
|
|
372
|
+
readonly approvalRequiredAbove: {
|
|
373
|
+
readonly type: "integer";
|
|
374
|
+
};
|
|
375
|
+
readonly merchantAllowlist: {
|
|
376
|
+
readonly type: "array";
|
|
377
|
+
readonly items: {
|
|
378
|
+
readonly type: "string";
|
|
379
|
+
};
|
|
380
|
+
};
|
|
381
|
+
readonly mccAllowlist: {
|
|
382
|
+
readonly type: "array";
|
|
383
|
+
readonly items: {
|
|
384
|
+
readonly type: "string";
|
|
385
|
+
};
|
|
386
|
+
};
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
}, {
|
|
390
|
+
readonly name: "wallet_cards";
|
|
391
|
+
readonly title: "Cards bound to the buyer wallet";
|
|
392
|
+
readonly description: "Which cards the signed-in buyer has bound. If the response carries `unavailable`, the card list could NOT be read — that is unknown, not \"no cards bound\", and the person should not be told to bind another one.";
|
|
393
|
+
readonly inputSchema: {
|
|
394
|
+
readonly type: "object";
|
|
395
|
+
readonly properties: {};
|
|
396
|
+
};
|
|
397
|
+
}, {
|
|
398
|
+
readonly name: "wallet_bind_card";
|
|
399
|
+
readonly title: "Bind a card to the buyer wallet";
|
|
400
|
+
readonly description: "Bind a card so the wallet can pay with it again without re-entering it. Takes a Stripe REFERENCE only (pm_… / tok_…) — NEVER a card number, expiry or CVC, which must be tokenized in the buyer's browser and must not be sent here or typed into this conversation. Test mode only; in test use Stripe's constant pm_card_visa.";
|
|
401
|
+
readonly inputSchema: {
|
|
402
|
+
readonly type: "object";
|
|
403
|
+
readonly properties: {
|
|
404
|
+
readonly paymentMethod: {
|
|
405
|
+
readonly type: "string";
|
|
406
|
+
readonly description: "pm_… (e.g. the test card pm_card_visa)";
|
|
407
|
+
};
|
|
408
|
+
readonly token: {
|
|
409
|
+
readonly type: "string";
|
|
410
|
+
readonly description: "tok_… one-off token, converted to a pm_ first";
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
}, {
|
|
415
|
+
readonly name: "wallet_unbind_card";
|
|
416
|
+
readonly title: "Unbind a card";
|
|
417
|
+
readonly description: "Remove one of the buyer's own bound cards. Confirm with the person first.";
|
|
418
|
+
readonly inputSchema: {
|
|
419
|
+
readonly type: "object";
|
|
420
|
+
readonly required: readonly ["cardId"];
|
|
421
|
+
readonly properties: {
|
|
422
|
+
readonly cardId: {
|
|
423
|
+
readonly type: "string";
|
|
424
|
+
readonly description: "the pm_… id from wallet_cards";
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
}, {
|
|
429
|
+
readonly name: "wallet_pay_credential";
|
|
430
|
+
readonly title: "Mint a payment credential from the buyer wallet";
|
|
431
|
+
readonly description: "Turn the buyer's bound card into a one-off payment credential (a Stripe shared payment token) for a specific merchant and amount, then pass it to that merchant's checkout as the payment token. Capped at exactly the amount given, valid for one seller, expires in 15 minutes. The buyer's own spend limits are checked first and a payment over them is refused — report that refusal to the person as their own limit, not as a payment failure.";
|
|
432
|
+
readonly inputSchema: {
|
|
433
|
+
readonly type: "object";
|
|
434
|
+
readonly required: readonly ["amount", "currency"];
|
|
435
|
+
readonly properties: {
|
|
436
|
+
readonly amount: {
|
|
437
|
+
readonly type: "integer";
|
|
438
|
+
readonly description: "minor units, e.g. 192000 = €1,920.00";
|
|
439
|
+
};
|
|
440
|
+
readonly currency: {
|
|
441
|
+
readonly type: "string";
|
|
442
|
+
readonly description: "e.g. EUR";
|
|
443
|
+
};
|
|
444
|
+
readonly merchantRef: {
|
|
445
|
+
readonly type: "string";
|
|
446
|
+
readonly description: "who is being paid; checked against the buyer's merchant allowlist";
|
|
447
|
+
};
|
|
448
|
+
};
|
|
449
|
+
};
|
|
307
450
|
}, {
|
|
308
451
|
readonly name: "get_wallet_balances";
|
|
309
452
|
readonly description: "ADMIN / ORG TREASURY ONLY (needs pay:admin or agentbank:admin). Reads the organization's Curless money-ops balances. This is NOT an end user's wallet — for 'my wallet balance' / 'how much do I have', use get_my_balance instead. A normal agent credential will get 403 here, which is expected, not a permission bug.";
|
|
@@ -423,5 +566,5 @@ export declare const TOOLS: readonly [{
|
|
|
423
566
|
};
|
|
424
567
|
};
|
|
425
568
|
}];
|
|
426
|
-
export declare const dispatchTool: (name: string, rawArgs: Record<string, unknown> | undefined, fetchApi: FetchApi, payGate?: PayGate) => Promise<ToolResult>;
|
|
569
|
+
export declare const dispatchTool: (name: string, rawArgs: Record<string, unknown> | undefined, fetchApi: FetchApi, payGate?: PayGate, buyer?: BuyerSession) => Promise<ToolResult>;
|
|
427
570
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQ9D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAK3E,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAyBF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAqGwD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAkChB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4RhE,CAAC;AA0JX,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,QAAQ,EAClB,UAAU,OAAO,EACjB,QAAQ,YAAY,KACnB,OAAO,CAAC,UAAU,CAmQpB,CAAC"}
|
package/dist/tools.js
CHANGED
|
@@ -234,6 +234,106 @@ export const TOOLS = [
|
|
|
234
234
|
description: "THIS agent's wallet budget — available and held (reserved by open authorizations) per currency, minor units. The balance an end user means by 'my wallet balance'. Use to confirm a top-up arrived.",
|
|
235
235
|
inputSchema: { type: 'object', properties: {} },
|
|
236
236
|
},
|
|
237
|
+
// --- buyer wallet (the person, not the merchant) ---
|
|
238
|
+
//
|
|
239
|
+
// These act as the SHOPPER, via a session obtained at runtime with
|
|
240
|
+
// wallet_login. They are not the agent/org tools above: get_my_balance is
|
|
241
|
+
// an agent's spend budget, get_wallet_balance here is a person's money.
|
|
242
|
+
{
|
|
243
|
+
name: 'wallet_login',
|
|
244
|
+
title: 'Sign in to a Curless buyer wallet',
|
|
245
|
+
description: "Sign in to the buyer's own Curless wallet, for this session. Required before any wallet_* tool. Ask the person for their credentials rather than guessing; if they would rather not type a password into the chat, point them at the hosted sign-in page instead. Test mode only.",
|
|
246
|
+
inputSchema: {
|
|
247
|
+
type: 'object',
|
|
248
|
+
required: ['email', 'password'],
|
|
249
|
+
properties: {
|
|
250
|
+
email: { type: 'string', description: "the buyer's email address" },
|
|
251
|
+
password: { type: 'string', description: "the buyer's password" },
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: 'wallet_me',
|
|
257
|
+
title: 'Buyer wallet profile',
|
|
258
|
+
description: 'The signed-in buyer: their email, whether a card is bound, their spend limits and what they have spent today and this month.',
|
|
259
|
+
inputSchema: { type: 'object', properties: {} },
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'wallet_balance',
|
|
263
|
+
title: 'Buyer wallet balance',
|
|
264
|
+
description: "The signed-in buyer's own wallet balance per currency, in minor units. This is the PERSON's money — for an agent's spend budget use get_my_balance, and for a merchant's treasury use get_wallet_balances.",
|
|
265
|
+
inputSchema: { type: 'object', properties: {} },
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: 'wallet_orders',
|
|
269
|
+
title: 'Buyer order history',
|
|
270
|
+
description: 'What the signed-in buyer has bought, newest first.',
|
|
271
|
+
inputSchema: {
|
|
272
|
+
type: 'object',
|
|
273
|
+
properties: { limit: { type: 'integer', description: 'default 20, max 100' } },
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: 'wallet_set_limits',
|
|
278
|
+
title: 'Set buyer spend limits',
|
|
279
|
+
description: "Set the signed-in buyer's OWN spend limits, in minor units. Replaces the whole policy: send every limit that should remain in force, not just the one being changed. Read wallet_me first and show the person the current limits before writing new ones.",
|
|
280
|
+
inputSchema: {
|
|
281
|
+
type: 'object',
|
|
282
|
+
properties: {
|
|
283
|
+
perTransactionLimit: { type: 'integer', description: 'minor units, e.g. 50000 = €500.00' },
|
|
284
|
+
dailyLimit: { type: 'integer' },
|
|
285
|
+
monthlyLimit: { type: 'integer' },
|
|
286
|
+
approvalRequiredAbove: { type: 'integer' },
|
|
287
|
+
merchantAllowlist: { type: 'array', items: { type: 'string' } },
|
|
288
|
+
mccAllowlist: { type: 'array', items: { type: 'string' } },
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: 'wallet_cards',
|
|
294
|
+
title: 'Cards bound to the buyer wallet',
|
|
295
|
+
description: 'Which cards the signed-in buyer has bound. If the response carries `unavailable`, the card list could NOT be read — that is unknown, not "no cards bound", and the person should not be told to bind another one.',
|
|
296
|
+
inputSchema: { type: 'object', properties: {} },
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
name: 'wallet_bind_card',
|
|
300
|
+
title: 'Bind a card to the buyer wallet',
|
|
301
|
+
description: "Bind a card so the wallet can pay with it again without re-entering it. Takes a Stripe REFERENCE only (pm_… / tok_…) — NEVER a card number, expiry or CVC, which must be tokenized in the buyer's browser and must not be sent here or typed into this conversation. Test mode only; in test use Stripe's constant pm_card_visa.",
|
|
302
|
+
inputSchema: {
|
|
303
|
+
type: 'object',
|
|
304
|
+
properties: {
|
|
305
|
+
paymentMethod: { type: 'string', description: 'pm_… (e.g. the test card pm_card_visa)' },
|
|
306
|
+
token: { type: 'string', description: 'tok_… one-off token, converted to a pm_ first' },
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: 'wallet_unbind_card',
|
|
312
|
+
title: 'Unbind a card',
|
|
313
|
+
description: "Remove one of the buyer's own bound cards. Confirm with the person first.",
|
|
314
|
+
inputSchema: {
|
|
315
|
+
type: 'object',
|
|
316
|
+
required: ['cardId'],
|
|
317
|
+
properties: { cardId: { type: 'string', description: 'the pm_… id from wallet_cards' } },
|
|
318
|
+
},
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
name: 'wallet_pay_credential',
|
|
322
|
+
title: 'Mint a payment credential from the buyer wallet',
|
|
323
|
+
description: "Turn the buyer's bound card into a one-off payment credential (a Stripe shared payment token) for a specific merchant and amount, then pass it to that merchant's checkout as the payment token. Capped at exactly the amount given, valid for one seller, expires in 15 minutes. The buyer's own spend limits are checked first and a payment over them is refused — report that refusal to the person as their own limit, not as a payment failure.",
|
|
324
|
+
inputSchema: {
|
|
325
|
+
type: 'object',
|
|
326
|
+
required: ['amount', 'currency'],
|
|
327
|
+
properties: {
|
|
328
|
+
amount: { type: 'integer', description: 'minor units, e.g. 192000 = €1,920.00' },
|
|
329
|
+
currency: { type: 'string', description: 'e.g. EUR' },
|
|
330
|
+
merchantRef: {
|
|
331
|
+
type: 'string',
|
|
332
|
+
description: "who is being paid; checked against the buyer's merchant allowlist",
|
|
333
|
+
},
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
},
|
|
237
337
|
// --- read-only support resources ---
|
|
238
338
|
{
|
|
239
339
|
name: 'get_wallet_balances',
|
|
@@ -411,6 +511,32 @@ const topUpSchema = z.object({
|
|
|
411
511
|
amount: z.number().int().positive(),
|
|
412
512
|
currency: z.string().min(3).max(8),
|
|
413
513
|
});
|
|
514
|
+
const walletLoginSchema = z.object({
|
|
515
|
+
email: z.string().email(),
|
|
516
|
+
password: z.string().min(1),
|
|
517
|
+
});
|
|
518
|
+
const walletBindCardSchema = z
|
|
519
|
+
.object({ paymentMethod: z.string().optional(), token: z.string().optional() })
|
|
520
|
+
.refine((v) => v.paymentMethod ?? v.token, {
|
|
521
|
+
message: 'pass paymentMethod (pm_…) or token (tok_…)',
|
|
522
|
+
});
|
|
523
|
+
const walletUnbindCardSchema = z.object({ cardId: z.string().min(1) });
|
|
524
|
+
const walletPayCredentialSchema = z.object({
|
|
525
|
+
amount: z.number().int().positive(),
|
|
526
|
+
currency: z.string().min(3).max(8),
|
|
527
|
+
merchantRef: z.string().optional(),
|
|
528
|
+
});
|
|
529
|
+
const walletOrdersSchema = z.object({ limit: z.number().int().positive().max(100).optional() });
|
|
530
|
+
// Every field optional, but at least the shape is checked: a stray string where
|
|
531
|
+
// a limit belongs would otherwise reach the API as a cap nobody can satisfy.
|
|
532
|
+
const walletLimitsSchema = z.object({
|
|
533
|
+
perTransactionLimit: z.number().int().nonnegative().optional(),
|
|
534
|
+
dailyLimit: z.number().int().nonnegative().optional(),
|
|
535
|
+
monthlyLimit: z.number().int().nonnegative().optional(),
|
|
536
|
+
approvalRequiredAbove: z.number().int().nonnegative().optional(),
|
|
537
|
+
merchantAllowlist: z.array(z.string()).optional(),
|
|
538
|
+
mccAllowlist: z.array(z.string()).optional(),
|
|
539
|
+
});
|
|
414
540
|
const payGateSchema = z.object({
|
|
415
541
|
payment_required: z
|
|
416
542
|
.object({
|
|
@@ -426,10 +552,68 @@ const payGateSchema = z.object({
|
|
|
426
552
|
})
|
|
427
553
|
.passthrough(),
|
|
428
554
|
});
|
|
429
|
-
export const dispatchTool = async (name, rawArgs, fetchApi, payGate) => {
|
|
555
|
+
export const dispatchTool = async (name, rawArgs, fetchApi, payGate, buyer) => {
|
|
430
556
|
const args = rawArgs ?? {};
|
|
557
|
+
const requireBuyer = () => {
|
|
558
|
+
if (!buyer) {
|
|
559
|
+
// Only happens if the server was built without a buyer session at all.
|
|
560
|
+
// Say what is missing rather than returning an empty wallet.
|
|
561
|
+
throw new AgentbankError(501, 'wallet_unavailable', 'this MCP server was started without buyer-wallet support');
|
|
562
|
+
}
|
|
563
|
+
return buyer;
|
|
564
|
+
};
|
|
431
565
|
try {
|
|
432
566
|
switch (name) {
|
|
567
|
+
case 'wallet_login': {
|
|
568
|
+
const a = walletLoginSchema.parse(args);
|
|
569
|
+
const user = await requireBuyer().login(a.email, a.password);
|
|
570
|
+
return ok({
|
|
571
|
+
signedInAs: user.email,
|
|
572
|
+
walletUserId: user.id,
|
|
573
|
+
mode: user.mode,
|
|
574
|
+
next: 'wallet_me / wallet_balance / wallet_orders / wallet_set_limits now act as this person',
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
case 'wallet_cards': {
|
|
578
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me/cards'));
|
|
579
|
+
}
|
|
580
|
+
case 'wallet_bind_card': {
|
|
581
|
+
const a = walletBindCardSchema.parse(args);
|
|
582
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me/cards', {
|
|
583
|
+
method: 'POST',
|
|
584
|
+
body: JSON.stringify(a),
|
|
585
|
+
}));
|
|
586
|
+
}
|
|
587
|
+
case 'wallet_unbind_card': {
|
|
588
|
+
const a = walletUnbindCardSchema.parse(args);
|
|
589
|
+
return ok(await requireBuyer().fetch(`/v1/buyer/me/cards/${encodeURIComponent(a.cardId)}`, {
|
|
590
|
+
method: 'DELETE',
|
|
591
|
+
}));
|
|
592
|
+
}
|
|
593
|
+
case 'wallet_pay_credential': {
|
|
594
|
+
const a = walletPayCredentialSchema.parse(args);
|
|
595
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me/payment-credential', {
|
|
596
|
+
method: 'POST',
|
|
597
|
+
body: JSON.stringify(a),
|
|
598
|
+
}));
|
|
599
|
+
}
|
|
600
|
+
case 'wallet_me': {
|
|
601
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me'));
|
|
602
|
+
}
|
|
603
|
+
case 'wallet_balance': {
|
|
604
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me/balance'));
|
|
605
|
+
}
|
|
606
|
+
case 'wallet_orders': {
|
|
607
|
+
const a = walletOrdersSchema.parse(args);
|
|
608
|
+
return ok(await requireBuyer().fetch(`/v1/buyer/me/orders${qs({ limit: a.limit })}`));
|
|
609
|
+
}
|
|
610
|
+
case 'wallet_set_limits': {
|
|
611
|
+
const a = walletLimitsSchema.parse(args);
|
|
612
|
+
return ok(await requireBuyer().fetch('/v1/buyer/me/limits', {
|
|
613
|
+
method: 'PUT',
|
|
614
|
+
body: JSON.stringify(a),
|
|
615
|
+
}));
|
|
616
|
+
}
|
|
433
617
|
case 'pay_payment_gate': {
|
|
434
618
|
const a = payGateSchema.parse(args);
|
|
435
619
|
if (!payGate) {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@curless/agentbank-mcp",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "MCP server for agentbank — let your AI agent discover Curless merchants and pay them.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
18
18
|
"zod": "^3.23.8",
|
|
19
|
-
"@curless/agentbank-core": "^0.
|
|
19
|
+
"@curless/agentbank-core": "^0.5.0",
|
|
20
20
|
"@curless/agentbank-mcp-pay": "^0.6.6"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|