@curless/agentbank-mcp 0.0.1 → 0.0.2

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` — your spending entities
46
+ - `list_customers` / `get_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.2' }, { 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,160 @@ 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: "list_customers";
211
+ readonly description: "List the org's customers (Stripe-style end users / payers). Requires agentbank:admin scope.";
212
+ readonly inputSchema: {
213
+ readonly type: "object";
214
+ readonly properties: {
215
+ readonly limit: {
216
+ readonly type: "integer";
217
+ };
218
+ readonly offset: {
219
+ readonly type: "integer";
220
+ };
221
+ };
222
+ };
223
+ }, {
224
+ readonly name: "get_customer";
225
+ readonly description: "Get one customer by id. Requires agentbank:admin scope.";
226
+ readonly inputSchema: {
227
+ readonly type: "object";
228
+ readonly required: readonly ["customerId"];
229
+ readonly properties: {
230
+ readonly customerId: {
231
+ readonly type: "string";
232
+ };
233
+ };
234
+ };
69
235
  }];
70
236
  export declare const dispatchTool: (name: string, rawArgs: Record<string, unknown> | undefined, fetchApi: FetchApi) => Promise<ToolResult>;
71
237
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DhE,CAAC;AA6DX,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,QAAQ,KACjB,OAAO,CAAC,UAAU,CA4FpB,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,110 @@ 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: 'list_customers',
167
+ description: "List the org's customers (Stripe-style end users / payers). Requires agentbank:admin scope.",
168
+ inputSchema: {
169
+ type: 'object',
170
+ properties: { limit: { type: 'integer' }, offset: { type: 'integer' } },
171
+ },
172
+ },
173
+ {
174
+ name: 'get_customer',
175
+ description: 'Get one customer by id. Requires agentbank:admin scope.',
176
+ inputSchema: {
177
+ type: 'object',
178
+ required: ['customerId'],
179
+ properties: { customerId: { type: 'string' } },
180
+ },
181
+ },
46
182
  ];
47
183
  const ok = (out) => ({
48
184
  content: [{ type: 'text', text: JSON.stringify(out, null, 2) }],
@@ -51,6 +187,7 @@ const fail = (message) => ({
51
187
  content: [{ type: 'text', text: `Error: ${message}` }],
52
188
  isError: true,
53
189
  });
190
+ // --- input schemas ---
54
191
  const listMerchantsSchema = z.object({
55
192
  category: z.enum(['hotel', 'food', 'flight', 'marketplace', 'generic']).optional(),
56
193
  limit: z.number().int().positive().optional(),
@@ -62,6 +199,35 @@ const invokeSchema = z.object({
62
199
  skillId: z.string().min(1),
63
200
  input: z.record(z.unknown()).default({}),
64
201
  });
202
+ const createPiSchema = z.object({
203
+ organizationId: z.string().min(1),
204
+ agentId: z.string().optional(),
205
+ curlessMerchantId: z.string().min(1),
206
+ amount: z.number().int().positive(),
207
+ currency: z.string().min(3).max(8),
208
+ protocol: z.enum(PAYMENT_PROTOCOLS),
209
+ items: z
210
+ .array(z.object({
211
+ catalogItemId: z.string(),
212
+ quantity: z.number().int().positive(),
213
+ unitPrice: z.number().int().nonnegative(),
214
+ }))
215
+ .min(1),
216
+ idempotencyKey: z.string().optional(),
217
+ metadata: z.record(z.unknown()).optional(),
218
+ });
219
+ const piIdSchema = z.object({ paymentIntentId: z.string().min(1) });
220
+ const listPiSchema = z.object({
221
+ status: z.enum(PI_STATUSES).optional(),
222
+ limit: z.number().int().positive().optional(),
223
+ offset: z.number().int().nonnegative().optional(),
224
+ });
225
+ const pageSchema = z.object({
226
+ limit: z.number().int().positive().optional(),
227
+ offset: z.number().int().nonnegative().optional(),
228
+ });
229
+ const agentIdSchema = z.object({ agentId: z.string().min(1) });
230
+ const customerIdSchema = z.object({ customerId: z.string().min(1) });
65
231
  const qs = (params) => {
66
232
  const entries = Object.entries(params)
67
233
  .filter(([, v]) => v !== undefined)
@@ -80,6 +246,10 @@ export const dispatchTool = async (name, rawArgs, fetchApi) => {
80
246
  const a = merchantSchema.parse(args);
81
247
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}`));
82
248
  }
249
+ case 'get_merchant_catalog': {
250
+ const a = merchantSchema.parse(args);
251
+ return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/catalog`));
252
+ }
83
253
  case 'get_agent_card': {
84
254
  const a = merchantSchema.parse(args);
85
255
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/agent-card`));
@@ -88,6 +258,48 @@ export const dispatchTool = async (name, rawArgs, fetchApi) => {
88
258
  const a = invokeSchema.parse(args);
89
259
  return ok(await fetchApi(`/v1/merchants/${encodeURIComponent(a.merchantId)}/skills/${encodeURIComponent(a.skillId)}/invoke`, { method: 'POST', body: JSON.stringify(a.input) }));
90
260
  }
261
+ case 'create_payment_intent': {
262
+ const a = createPiSchema.parse(args);
263
+ const { idempotencyKey, ...body } = a;
264
+ return ok(await fetchApi('/v1/payment-intents', {
265
+ method: 'POST',
266
+ body: JSON.stringify(body),
267
+ headers: idempotencyKey ? { 'idempotency-key': idempotencyKey } : undefined,
268
+ }));
269
+ }
270
+ case 'get_payment_intent': {
271
+ const a = piIdSchema.parse(args);
272
+ return ok(await fetchApi(`/v1/payment-intents/${encodeURIComponent(a.paymentIntentId)}`));
273
+ }
274
+ case 'list_payment_intents': {
275
+ const a = listPiSchema.parse(args);
276
+ return ok(await fetchApi(`/v1/payment-intents${qs({ status: a.status, limit: a.limit, offset: a.offset })}`));
277
+ }
278
+ case 'capture_payment_intent': {
279
+ const a = piIdSchema.parse(args);
280
+ return ok(await fetchApi(`/v1/payment-intents/${encodeURIComponent(a.paymentIntentId)}/capture`, {
281
+ method: 'POST',
282
+ }));
283
+ }
284
+ case 'get_wallet_balances': {
285
+ return ok(await fetchApi('/v1/wallets'));
286
+ }
287
+ case 'list_agents': {
288
+ const a = pageSchema.parse(args);
289
+ return ok(await fetchApi(`/v1/agents${qs({ limit: a.limit, offset: a.offset })}`));
290
+ }
291
+ case 'get_agent': {
292
+ const a = agentIdSchema.parse(args);
293
+ return ok(await fetchApi(`/v1/agents/${encodeURIComponent(a.agentId)}`));
294
+ }
295
+ case 'list_customers': {
296
+ const a = pageSchema.parse(args);
297
+ return ok(await fetchApi(`/v1/customers${qs({ limit: a.limit, offset: a.offset })}`));
298
+ }
299
+ case 'get_customer': {
300
+ const a = customerIdSchema.parse(args);
301
+ return ok(await fetchApi(`/v1/customers/${encodeURIComponent(a.customerId)}`));
302
+ }
91
303
  default:
92
304
  return fail(`unknown tool: ${name}`);
93
305
  }
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.2",
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",