@curless/agentbank-mcp 0.0.1 → 0.0.3

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
@@ -28,10 +28,26 @@ npx @curless/agentbank-mcp
28
28
 
29
29
  ## Tools
30
30
 
31
+ **Merchant discovery**
31
32
  - `list_merchants` — list merchants, optionally by category
32
33
  - `get_merchant` — full merchant info
34
+ - `get_merchant_catalog` — items + prices for a merchant
33
35
  - `get_agent_card` — A2A / ACP compatible agent card
34
- - `invoke_skill` — call a skill (e.g. `search_availability`, `book_room`, `order_item`)
36
+ - `invoke_skill` — call a skill (`search_availability`, `book_room`, `order_item`, …)
37
+
38
+ **PaymentIntents** (the money primitive — capture moves real money ⚠️)
39
+ - `create_payment_intent` — create a PI; pass `idempotencyKey` for safe retries
40
+ - `get_payment_intent` / `list_payment_intents` — status + history
41
+ - `capture_payment_intent` ⚠️ — charge the rail and book the ledger
42
+
43
+ **Resources** (read-only / admin)
44
+ - `get_wallet_balances` — Curless balances (fiat + crypto)
45
+ - `list_agents` / `get_agent` / `update_agent` — your spending entities
46
+ - `list_customers` / `get_customer` / `update_customer` — end users / payers
47
+
48
+ What you can actually do is gated by the scope of the `AGENTBANK_AGENT_TOKEN`
49
+ you set — give it `agent:execute` for buyer flows, `agentbank:admin` to
50
+ manage agents/customers.
35
51
 
36
52
  ## Local dev
37
53
 
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ const fetchApi = async (path, init = {}) => {
24
24
  }
25
25
  return (await res.json());
26
26
  };
27
- const server = new Server({ name: 'agentbank-mcp', version: '0.0.1' }, { capabilities: { tools: {} } });
27
+ const server = new Server({ name: 'agentbank-mcp', version: '0.0.3' }, { capabilities: { tools: {} } });
28
28
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
29
29
  server.setRequestHandler(CallToolRequestSchema, async (req) => dispatchTool(req.params.name, req.params.arguments, fetchApi));
30
30
  const transport = new StdioServerTransport();
package/dist/tools.d.ts CHANGED
@@ -36,9 +36,21 @@ export declare const TOOLS: readonly [{
36
36
  };
37
37
  };
38
38
  };
39
+ }, {
40
+ readonly name: "get_merchant_catalog";
41
+ readonly description: "Get a merchant's product/service catalog (items + prices + currency).";
42
+ readonly inputSchema: {
43
+ readonly type: "object";
44
+ readonly required: readonly ["merchantId"];
45
+ readonly properties: {
46
+ readonly merchantId: {
47
+ readonly type: "string";
48
+ };
49
+ };
50
+ };
39
51
  }, {
40
52
  readonly name: "get_agent_card";
41
- readonly description: "Get the protocol-native agent card for a Curless merchant, including its available skills (A2A / ACP compatible).";
53
+ readonly description: "Get the protocol-native agent card for a merchant, including its available skills (A2A / ACP compatible).";
42
54
  readonly inputSchema: {
43
55
  readonly type: "object";
44
56
  readonly required: readonly ["merchantId"];
@@ -66,6 +78,219 @@ export declare const TOOLS: readonly [{
66
78
  };
67
79
  };
68
80
  };
81
+ }, {
82
+ readonly name: "create_payment_intent";
83
+ readonly description: "⚠️ Create a PaymentIntent (an obligation, not yet charged). Money moves only when capture_payment_intent runs. Pass an idempotencyKey to make retries safe — the same key returns the same PI.";
84
+ readonly inputSchema: {
85
+ readonly type: "object";
86
+ readonly required: readonly ["organizationId", "curlessMerchantId", "amount", "currency", "protocol", "items"];
87
+ readonly properties: {
88
+ readonly organizationId: {
89
+ readonly type: "string";
90
+ };
91
+ readonly agentId: {
92
+ readonly type: "string";
93
+ };
94
+ readonly curlessMerchantId: {
95
+ readonly type: "string";
96
+ };
97
+ readonly amount: {
98
+ readonly type: "integer";
99
+ readonly description: "minor units (USD cents, USDC 6-decimal base units)";
100
+ };
101
+ readonly currency: {
102
+ readonly type: "string";
103
+ };
104
+ readonly protocol: {
105
+ readonly type: "string";
106
+ readonly enum: string[];
107
+ };
108
+ readonly items: {
109
+ readonly type: "array";
110
+ readonly items: {
111
+ readonly type: "object";
112
+ readonly required: readonly ["catalogItemId", "quantity", "unitPrice"];
113
+ readonly properties: {
114
+ readonly catalogItemId: {
115
+ readonly type: "string";
116
+ };
117
+ readonly quantity: {
118
+ readonly type: "integer";
119
+ };
120
+ readonly unitPrice: {
121
+ readonly type: "integer";
122
+ };
123
+ };
124
+ };
125
+ };
126
+ readonly idempotencyKey: {
127
+ readonly type: "string";
128
+ };
129
+ readonly metadata: {
130
+ readonly type: "object";
131
+ };
132
+ };
133
+ };
134
+ }, {
135
+ readonly name: "get_payment_intent";
136
+ readonly description: "Get a PaymentIntent by id (status, amount, rail reference, timestamps).";
137
+ readonly inputSchema: {
138
+ readonly type: "object";
139
+ readonly required: readonly ["paymentIntentId"];
140
+ readonly properties: {
141
+ readonly paymentIntentId: {
142
+ readonly type: "string";
143
+ };
144
+ };
145
+ };
146
+ }, {
147
+ readonly name: "list_payment_intents";
148
+ readonly description: "List PaymentIntents for the caller (paginated, newest first). Optional status filter.";
149
+ readonly inputSchema: {
150
+ readonly type: "object";
151
+ readonly properties: {
152
+ readonly status: {
153
+ readonly type: "string";
154
+ readonly enum: string[];
155
+ };
156
+ readonly limit: {
157
+ readonly type: "integer";
158
+ };
159
+ readonly offset: {
160
+ readonly type: "integer";
161
+ };
162
+ };
163
+ };
164
+ }, {
165
+ readonly name: "capture_payment_intent";
166
+ readonly description: "⚠️ Capture a PaymentIntent — this MOVES MONEY. Charges the rail (card / stablecoin) and books the ledger. Idempotent on the PI id; re-calling on an already-captured PI is a no-op.";
167
+ readonly inputSchema: {
168
+ readonly type: "object";
169
+ readonly required: readonly ["paymentIntentId"];
170
+ readonly properties: {
171
+ readonly paymentIntentId: {
172
+ readonly type: "string";
173
+ };
174
+ };
175
+ };
176
+ }, {
177
+ readonly name: "get_wallet_balances";
178
+ readonly description: "Read the org's Curless balances (fiat + crypto). Read-only proxy over the Curless money-ops API.";
179
+ readonly inputSchema: {
180
+ readonly type: "object";
181
+ readonly properties: {};
182
+ };
183
+ }, {
184
+ readonly name: "list_agents";
185
+ readonly description: "List the org's agents (spending entities). Requires agentbank:admin scope.";
186
+ readonly inputSchema: {
187
+ readonly type: "object";
188
+ readonly properties: {
189
+ readonly limit: {
190
+ readonly type: "integer";
191
+ };
192
+ readonly offset: {
193
+ readonly type: "integer";
194
+ };
195
+ };
196
+ };
197
+ }, {
198
+ readonly name: "get_agent";
199
+ readonly description: "Get one agent by id (name, status, spend policy). Requires agentbank:admin scope.";
200
+ readonly inputSchema: {
201
+ readonly type: "object";
202
+ readonly required: readonly ["agentId"];
203
+ readonly properties: {
204
+ readonly agentId: {
205
+ readonly type: "string";
206
+ };
207
+ };
208
+ };
209
+ }, {
210
+ readonly name: "update_agent";
211
+ readonly description: "Update an agent — name / description / status (active|paused|revoked) / defaultCurrency / spendPolicy. Only fields you pass are changed. Requires agentbank:admin scope.";
212
+ readonly inputSchema: {
213
+ readonly type: "object";
214
+ readonly required: readonly ["agentId"];
215
+ readonly properties: {
216
+ readonly agentId: {
217
+ readonly type: "string";
218
+ };
219
+ readonly name: {
220
+ readonly type: "string";
221
+ };
222
+ readonly description: {
223
+ readonly type: "string";
224
+ };
225
+ readonly status: {
226
+ readonly type: "string";
227
+ readonly enum: readonly ["active", "paused", "revoked"];
228
+ };
229
+ readonly defaultCurrency: {
230
+ readonly type: "string";
231
+ };
232
+ readonly spendPolicy: {
233
+ readonly type: "object";
234
+ };
235
+ };
236
+ };
237
+ }, {
238
+ readonly name: "list_customers";
239
+ readonly description: "List the org's customers (Stripe-style end users / payers). Requires agentbank:admin scope.";
240
+ readonly inputSchema: {
241
+ readonly type: "object";
242
+ readonly properties: {
243
+ readonly limit: {
244
+ readonly type: "integer";
245
+ };
246
+ readonly offset: {
247
+ readonly type: "integer";
248
+ };
249
+ };
250
+ };
251
+ }, {
252
+ readonly name: "get_customer";
253
+ readonly description: "Get one customer by id. Requires agentbank:admin scope.";
254
+ readonly inputSchema: {
255
+ readonly type: "object";
256
+ readonly required: readonly ["customerId"];
257
+ readonly properties: {
258
+ readonly customerId: {
259
+ readonly type: "string";
260
+ };
261
+ };
262
+ };
263
+ }, {
264
+ readonly name: "update_customer";
265
+ readonly description: "Update a customer — externalId / email / name / status (active|disabled) / curlessWalletId / metadata. Only fields you pass are changed. Requires agentbank:admin scope.";
266
+ readonly inputSchema: {
267
+ readonly type: "object";
268
+ readonly required: readonly ["customerId"];
269
+ readonly properties: {
270
+ readonly customerId: {
271
+ readonly type: "string";
272
+ };
273
+ readonly externalId: {
274
+ readonly type: "string";
275
+ };
276
+ readonly email: {
277
+ readonly type: "string";
278
+ };
279
+ readonly name: {
280
+ readonly type: "string";
281
+ };
282
+ readonly status: {
283
+ readonly type: "string";
284
+ readonly enum: readonly ["active", "disabled"];
285
+ };
286
+ readonly curlessWalletId: {
287
+ readonly type: "string";
288
+ };
289
+ readonly metadata: {
290
+ readonly type: "object";
291
+ };
292
+ };
293
+ };
69
294
  }];
70
295
  export declare const dispatchTool: (name: string, rawArgs: Record<string, unknown> | undefined, fetchApi: FetchApi) => Promise<ToolResult>;
71
296
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CR,CAAC;AA6BX,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,QAAQ,KACjB,OAAO,CAAC,UAAU,CAsCpB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAyBF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA0EwD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAkChB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+FhE,CAAC;AA8EX,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,QAAQ,KACjB,OAAO,CAAC,UAAU,CA8GpB,CAAC"}
package/dist/tools.js CHANGED
@@ -1,5 +1,28 @@
1
1
  import { z } from 'zod';
2
+ const PAYMENT_PROTOCOLS = [
3
+ 'a2a',
4
+ 'acp',
5
+ 'ap2',
6
+ 'ucp',
7
+ 'mcp',
8
+ 'x402',
9
+ 'tap',
10
+ 'mc',
11
+ 'direct',
12
+ ];
13
+ const PI_STATUSES = [
14
+ 'initiated',
15
+ 'authorized',
16
+ 'authorizing',
17
+ 'captured',
18
+ 'settled',
19
+ 'reconciled',
20
+ 'failed',
21
+ 'refunded',
22
+ 'disputed',
23
+ ];
2
24
  export const TOOLS = [
25
+ // --- merchant discovery ---
3
26
  {
4
27
  name: 'list_merchants',
5
28
  description: 'List Curless merchants available to pay, optionally filtered by category.',
@@ -21,9 +44,18 @@ export const TOOLS = [
21
44
  properties: { merchantId: { type: 'string' } },
22
45
  },
23
46
  },
47
+ {
48
+ name: 'get_merchant_catalog',
49
+ description: "Get a merchant's product/service catalog (items + prices + currency).",
50
+ inputSchema: {
51
+ type: 'object',
52
+ required: ['merchantId'],
53
+ properties: { merchantId: { type: 'string' } },
54
+ },
55
+ },
24
56
  {
25
57
  name: 'get_agent_card',
26
- description: 'Get the protocol-native agent card for a Curless merchant, including its available skills (A2A / ACP compatible).',
58
+ description: 'Get the protocol-native agent card for a merchant, including its available skills (A2A / ACP compatible).',
27
59
  inputSchema: {
28
60
  type: 'object',
29
61
  required: ['merchantId'],
@@ -43,6 +75,143 @@ export const TOOLS = [
43
75
  },
44
76
  },
45
77
  },
78
+ // --- PaymentIntents (the money primitive) ---
79
+ {
80
+ name: 'create_payment_intent',
81
+ description: '⚠️ Create a PaymentIntent (an obligation, not yet charged). Money moves only when capture_payment_intent runs. Pass an idempotencyKey to make retries safe — the same key returns the same PI.',
82
+ inputSchema: {
83
+ type: 'object',
84
+ required: ['organizationId', 'curlessMerchantId', 'amount', 'currency', 'protocol', 'items'],
85
+ properties: {
86
+ organizationId: { type: 'string' },
87
+ agentId: { type: 'string' },
88
+ curlessMerchantId: { type: 'string' },
89
+ amount: {
90
+ type: 'integer',
91
+ description: 'minor units (USD cents, USDC 6-decimal base units)',
92
+ },
93
+ currency: { type: 'string' },
94
+ protocol: { type: 'string', enum: PAYMENT_PROTOCOLS },
95
+ items: {
96
+ type: 'array',
97
+ items: {
98
+ type: 'object',
99
+ required: ['catalogItemId', 'quantity', 'unitPrice'],
100
+ properties: {
101
+ catalogItemId: { type: 'string' },
102
+ quantity: { type: 'integer' },
103
+ unitPrice: { type: 'integer' },
104
+ },
105
+ },
106
+ },
107
+ idempotencyKey: { type: 'string' },
108
+ metadata: { type: 'object' },
109
+ },
110
+ },
111
+ },
112
+ {
113
+ name: 'get_payment_intent',
114
+ description: 'Get a PaymentIntent by id (status, amount, rail reference, timestamps).',
115
+ inputSchema: {
116
+ type: 'object',
117
+ required: ['paymentIntentId'],
118
+ properties: { paymentIntentId: { type: 'string' } },
119
+ },
120
+ },
121
+ {
122
+ name: 'list_payment_intents',
123
+ description: 'List PaymentIntents for the caller (paginated, newest first). Optional status filter.',
124
+ inputSchema: {
125
+ type: 'object',
126
+ properties: {
127
+ status: { type: 'string', enum: PI_STATUSES },
128
+ limit: { type: 'integer' },
129
+ offset: { type: 'integer' },
130
+ },
131
+ },
132
+ },
133
+ {
134
+ name: 'capture_payment_intent',
135
+ description: '⚠️ Capture a PaymentIntent — this MOVES MONEY. Charges the rail (card / stablecoin) and books the ledger. Idempotent on the PI id; re-calling on an already-captured PI is a no-op.',
136
+ inputSchema: {
137
+ type: 'object',
138
+ required: ['paymentIntentId'],
139
+ properties: { paymentIntentId: { type: 'string' } },
140
+ },
141
+ },
142
+ // --- read-only support resources ---
143
+ {
144
+ name: 'get_wallet_balances',
145
+ description: "Read the org's Curless balances (fiat + crypto). Read-only proxy over the Curless money-ops API.",
146
+ inputSchema: { type: 'object', properties: {} },
147
+ },
148
+ {
149
+ name: 'list_agents',
150
+ description: "List the org's agents (spending entities). Requires agentbank:admin scope.",
151
+ inputSchema: {
152
+ type: 'object',
153
+ properties: { limit: { type: 'integer' }, offset: { type: 'integer' } },
154
+ },
155
+ },
156
+ {
157
+ name: 'get_agent',
158
+ description: 'Get one agent by id (name, status, spend policy). Requires agentbank:admin scope.',
159
+ inputSchema: {
160
+ type: 'object',
161
+ required: ['agentId'],
162
+ properties: { agentId: { type: 'string' } },
163
+ },
164
+ },
165
+ {
166
+ name: 'update_agent',
167
+ description: 'Update an agent — name / description / status (active|paused|revoked) / defaultCurrency / spendPolicy. Only fields you pass are changed. Requires agentbank:admin scope.',
168
+ inputSchema: {
169
+ type: 'object',
170
+ required: ['agentId'],
171
+ properties: {
172
+ agentId: { type: 'string' },
173
+ name: { type: 'string' },
174
+ description: { type: 'string' },
175
+ status: { type: 'string', enum: ['active', 'paused', 'revoked'] },
176
+ defaultCurrency: { type: 'string' },
177
+ spendPolicy: { type: 'object' },
178
+ },
179
+ },
180
+ },
181
+ {
182
+ name: 'list_customers',
183
+ description: "List the org's customers (Stripe-style end users / payers). Requires agentbank:admin scope.",
184
+ inputSchema: {
185
+ type: 'object',
186
+ properties: { limit: { type: 'integer' }, offset: { type: 'integer' } },
187
+ },
188
+ },
189
+ {
190
+ name: 'get_customer',
191
+ description: 'Get one customer by id. Requires agentbank:admin scope.',
192
+ inputSchema: {
193
+ type: 'object',
194
+ required: ['customerId'],
195
+ properties: { customerId: { type: 'string' } },
196
+ },
197
+ },
198
+ {
199
+ name: 'update_customer',
200
+ description: 'Update a customer — externalId / email / name / status (active|disabled) / curlessWalletId / metadata. Only fields you pass are changed. Requires agentbank:admin scope.',
201
+ inputSchema: {
202
+ type: 'object',
203
+ required: ['customerId'],
204
+ properties: {
205
+ customerId: { type: 'string' },
206
+ externalId: { type: 'string' },
207
+ email: { type: 'string' },
208
+ name: { type: 'string' },
209
+ status: { type: 'string', enum: ['active', 'disabled'] },
210
+ curlessWalletId: { type: 'string' },
211
+ metadata: { type: 'object' },
212
+ },
213
+ },
214
+ },
46
215
  ];
47
216
  const ok = (out) => ({
48
217
  content: [{ type: 'text', text: JSON.stringify(out, null, 2) }],
@@ -51,6 +220,7 @@ const fail = (message) => ({
51
220
  content: [{ type: 'text', text: `Error: ${message}` }],
52
221
  isError: true,
53
222
  });
223
+ // --- input schemas ---
54
224
  const listMerchantsSchema = z.object({
55
225
  category: z.enum(['hotel', 'food', 'flight', 'marketplace', 'generic']).optional(),
56
226
  limit: z.number().int().positive().optional(),
@@ -62,6 +232,52 @@ const invokeSchema = z.object({
62
232
  skillId: z.string().min(1),
63
233
  input: z.record(z.unknown()).default({}),
64
234
  });
235
+ const createPiSchema = z.object({
236
+ organizationId: z.string().min(1),
237
+ agentId: z.string().optional(),
238
+ curlessMerchantId: z.string().min(1),
239
+ amount: z.number().int().positive(),
240
+ currency: z.string().min(3).max(8),
241
+ protocol: z.enum(PAYMENT_PROTOCOLS),
242
+ items: z
243
+ .array(z.object({
244
+ catalogItemId: z.string(),
245
+ quantity: z.number().int().positive(),
246
+ unitPrice: z.number().int().nonnegative(),
247
+ }))
248
+ .min(1),
249
+ idempotencyKey: z.string().optional(),
250
+ metadata: z.record(z.unknown()).optional(),
251
+ });
252
+ const piIdSchema = z.object({ paymentIntentId: z.string().min(1) });
253
+ const listPiSchema = z.object({
254
+ status: z.enum(PI_STATUSES).optional(),
255
+ limit: z.number().int().positive().optional(),
256
+ offset: z.number().int().nonnegative().optional(),
257
+ });
258
+ const pageSchema = z.object({
259
+ limit: z.number().int().positive().optional(),
260
+ offset: z.number().int().nonnegative().optional(),
261
+ });
262
+ const agentIdSchema = z.object({ agentId: z.string().min(1) });
263
+ const customerIdSchema = z.object({ customerId: z.string().min(1) });
264
+ const updateAgentSchema = z.object({
265
+ agentId: z.string().min(1),
266
+ name: z.string().min(1).optional(),
267
+ description: z.string().optional(),
268
+ status: z.enum(['active', 'paused', 'revoked']).optional(),
269
+ defaultCurrency: z.string().optional(),
270
+ spendPolicy: z.record(z.unknown()).optional(),
271
+ });
272
+ const updateCustomerSchema = z.object({
273
+ customerId: z.string().min(1),
274
+ externalId: z.string().min(1).optional(),
275
+ email: z.string().email().optional(),
276
+ name: z.string().min(1).optional(),
277
+ status: z.enum(['active', 'disabled']).optional(),
278
+ curlessWalletId: z.string().min(1).optional(),
279
+ metadata: z.record(z.unknown()).optional(),
280
+ });
65
281
  const qs = (params) => {
66
282
  const entries = Object.entries(params)
67
283
  .filter(([, v]) => v !== undefined)
@@ -80,6 +296,10 @@ export const dispatchTool = async (name, rawArgs, fetchApi) => {
80
296
  const a = merchantSchema.parse(args);
81
297
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}`));
82
298
  }
299
+ case 'get_merchant_catalog': {
300
+ const a = merchantSchema.parse(args);
301
+ return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/catalog`));
302
+ }
83
303
  case 'get_agent_card': {
84
304
  const a = merchantSchema.parse(args);
85
305
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/agent-card`));
@@ -88,6 +308,62 @@ export const dispatchTool = async (name, rawArgs, fetchApi) => {
88
308
  const a = invokeSchema.parse(args);
89
309
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/skills/${encodeURIComponent(a.skillId)}/invoke`, { method: 'POST', body: JSON.stringify(a.input) }));
90
310
  }
311
+ case 'create_payment_intent': {
312
+ const a = createPiSchema.parse(args);
313
+ const { idempotencyKey, ...body } = a;
314
+ return ok(await fetchApi('/v1/payment-intents', {
315
+ method: 'POST',
316
+ body: JSON.stringify(body),
317
+ headers: idempotencyKey ? { 'idempotency-key': idempotencyKey } : undefined,
318
+ }));
319
+ }
320
+ case 'get_payment_intent': {
321
+ const a = piIdSchema.parse(args);
322
+ return ok(await fetchApi(`/v1/payment-intents/${encodeURIComponent(a.paymentIntentId)}`));
323
+ }
324
+ case 'list_payment_intents': {
325
+ const a = listPiSchema.parse(args);
326
+ return ok(await fetchApi(`/v1/payment-intents${qs({ status: a.status, limit: a.limit, offset: a.offset })}`));
327
+ }
328
+ case 'capture_payment_intent': {
329
+ const a = piIdSchema.parse(args);
330
+ return ok(await fetchApi(`/v1/payment-intents/${encodeURIComponent(a.paymentIntentId)}/capture`, {
331
+ method: 'POST',
332
+ }));
333
+ }
334
+ case 'get_wallet_balances': {
335
+ return ok(await fetchApi('/v1/wallets'));
336
+ }
337
+ case 'list_agents': {
338
+ const a = pageSchema.parse(args);
339
+ return ok(await fetchApi(`/v1/agents${qs({ limit: a.limit, offset: a.offset })}`));
340
+ }
341
+ case 'get_agent': {
342
+ const a = agentIdSchema.parse(args);
343
+ return ok(await fetchApi(`/v1/agents/${encodeURIComponent(a.agentId)}`));
344
+ }
345
+ case 'update_agent': {
346
+ const { agentId, ...patch } = updateAgentSchema.parse(args);
347
+ return ok(await fetchApi(`/v1/agents/${encodeURIComponent(agentId)}`, {
348
+ method: 'PATCH',
349
+ body: JSON.stringify(patch),
350
+ }));
351
+ }
352
+ case 'list_customers': {
353
+ const a = pageSchema.parse(args);
354
+ return ok(await fetchApi(`/v1/customers${qs({ limit: a.limit, offset: a.offset })}`));
355
+ }
356
+ case 'get_customer': {
357
+ const a = customerIdSchema.parse(args);
358
+ return ok(await fetchApi(`/v1/customers/${encodeURIComponent(a.customerId)}`));
359
+ }
360
+ case 'update_customer': {
361
+ const { customerId, ...patch } = updateCustomerSchema.parse(args);
362
+ return ok(await fetchApi(`/v1/customers/${encodeURIComponent(customerId)}`, {
363
+ method: 'PATCH',
364
+ body: JSON.stringify(patch),
365
+ }));
366
+ }
91
367
  default:
92
368
  return fail(`unknown tool: ${name}`);
93
369
  }
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.1",
3
+ "version": "0.0.3",
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",