@suveren/gateway 0.33.0 → 0.34.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.
@@ -6,7 +6,7 @@
6
6
  "icon": "briefcase",
7
7
  "profile": "sales",
8
8
  "npmPackage": "@humanagencyp/erp-mcp",
9
- "npmVersion": "0.6.0",
9
+ "npmVersion": "0.7.0",
10
10
  "mcp": {
11
11
  "command": "erp-mcp",
12
12
  "args": [],
@@ -200,6 +200,88 @@
200
200
  "fields": ["number", "revision", "status", "customer_id", "lines", "net_total", "discount_pct", "valid_until"]
201
201
  }
202
202
  },
203
+ "create_invoice": {
204
+ "profile": "invoicing",
205
+ "summary": "Invoice of {net_total|money} net to {customer_id}[ for order {order_id}]",
206
+ "executionMapping": {
207
+ "net_total": "net_total",
208
+ "currency": "currency"
209
+ },
210
+ "staticExecution": {
211
+ "action_type": "invoice"
212
+ },
213
+ "actionLabel": "Invoice issued",
214
+ "contextKeys": { "customer": "customer_id" },
215
+ "preview": [
216
+ { "tool": "get_customer", "args": { "id": "customer_id" }, "attach": "customer_id" }
217
+ ],
218
+ "display": {
219
+ "order": ["customer_id", "order_id", "lines", "net_total", "currency", "payment_term_days", "memo"],
220
+ "money": ["net_total", "customer_id.credit_limit", "customer_id.open_balance", "customer_id.available_credit"],
221
+ "currencyField": "currency",
222
+ "labels": {
223
+ "customer_id": "Customer",
224
+ "order_id": "Order",
225
+ "net_total": "Total (net)",
226
+ "payment_term_days": "Payment terms (days)",
227
+ "memo": "Memo",
228
+ "customer_id.credit_limit": "Credit limit",
229
+ "customer_id.open_balance": "Open balance",
230
+ "customer_id.available_credit": "Available credit"
231
+ }
232
+ }
233
+ },
234
+ "create_credit_note": {
235
+ "profile": "invoicing",
236
+ "summary": "Credit note of {credit_total|money} net for invoice {invoice_id}: {reason|short}",
237
+ "executionMapping": {
238
+ "credit_total": "credit_total",
239
+ "currency": "currency"
240
+ },
241
+ "staticExecution": {
242
+ "action_type": "credit"
243
+ },
244
+ "actionLabel": "Credit note issued",
245
+ "preview": {
246
+ "tool": "get_invoice",
247
+ "args": { "id": "invoice_id" },
248
+ "fields": ["number", "customer_id", "net_total", "currency", "status"]
249
+ },
250
+ "display": {
251
+ "order": ["invoice_id", "credit_total", "currency", "reason", "lines"],
252
+ "money": ["credit_total"],
253
+ "currencyField": "currency",
254
+ "labels": {
255
+ "invoice_id": "Invoice",
256
+ "credit_total": "Total (net)",
257
+ "reason": "Reason"
258
+ }
259
+ }
260
+ },
261
+ "list_invoices": {
262
+ "profile": "invoicing",
263
+ "category": "read",
264
+ "boundField": "read_access",
265
+ "requiredValue": "unlimited"
266
+ },
267
+ "get_invoice": {
268
+ "profile": "invoicing",
269
+ "category": "read",
270
+ "boundField": "read_access",
271
+ "requiredValue": "unlimited"
272
+ },
273
+ "list_credit_notes": {
274
+ "profile": "invoicing",
275
+ "category": "read",
276
+ "boundField": "read_access",
277
+ "requiredValue": "unlimited"
278
+ },
279
+ "get_credit_note": {
280
+ "profile": "invoicing",
281
+ "category": "read",
282
+ "boundField": "read_access",
283
+ "requiredValue": "unlimited"
284
+ },
203
285
  "load_simulation": {
204
286
  "executionMapping": {},
205
287
  "staticExecution": {
@@ -2,7 +2,7 @@
2
2
  "id": "mollie",
3
3
  "name": "Mollie",
4
4
  "version": "1.0.0",
5
- "description": "Payments, subscriptions, and billing",
5
+ "description": "Payment links, payments and payment customers — profile: Payments (charge@0.7). Invoices come from the ERP; Mollie never emails customers.",
6
6
  "icon": "card",
7
7
  "profile": "charge",
8
8
  "npmPackage": "mcp-remote",
@@ -37,6 +37,266 @@
37
37
  }
38
38
  },
39
39
  "overrides": {
40
+ "ListProfiles": {
41
+ "category": "read",
42
+ "readGovernance": "none",
43
+ "readGovernanceReason": "Returns the organisation's own payment profile configuration (names, websites, status) — no customer or payment data."
44
+ },
45
+ "GetProfile": {
46
+ "category": "read",
47
+ "readGovernance": "none",
48
+ "readGovernanceReason": "Returns one of the organisation's own payment profile configurations — no customer or payment data."
49
+ },
50
+ "GetOrganizationDetails": {
51
+ "category": "read",
52
+ "readGovernance": "none",
53
+ "readGovernanceReason": "Returns the connected Mollie organisation's own name/registration details — no customer or payment data."
54
+ },
55
+ "GetPaymentMethod": {
56
+ "category": "read",
57
+ "readGovernance": "none",
58
+ "readGovernanceReason": "Returns the organisation's own payment-method configuration (name, image, min/max amount) — no customer or payment data."
59
+ },
60
+ "ListPaymentMethods": {
61
+ "category": "read",
62
+ "readGovernance": "none",
63
+ "readGovernanceReason": "Returns which payment methods are enabled for the organisation — no customer or payment data."
64
+ },
65
+ "ListAllPaymentMethods": {
66
+ "category": "read",
67
+ "readGovernance": "none",
68
+ "readGovernanceReason": "Returns every payment method Mollie offers — no customer or payment data."
69
+ },
70
+ "GetTerminal": {
71
+ "category": "read",
72
+ "readGovernance": "none",
73
+ "readGovernanceReason": "Returns a card-terminal's own configuration (name, status) — no customer or payment data."
74
+ },
75
+ "ListTerminals": {
76
+ "category": "read",
77
+ "readGovernance": "none",
78
+ "readGovernanceReason": "Returns the organisation's card terminals — no customer or payment data."
79
+ },
80
+ "GetClientDocs": {
81
+ "category": "read",
82
+ "readGovernance": "none",
83
+ "readGovernanceReason": "Returns Mollie's own API documentation — no customer or payment data."
84
+ },
85
+ "fetch_docs": {
86
+ "category": "read",
87
+ "readGovernance": "none",
88
+ "readGovernanceReason": "Returns Mollie's own API documentation — no customer or payment data."
89
+ },
90
+ "list_doc_sources": {
91
+ "category": "read",
92
+ "readGovernance": "none",
93
+ "readGovernanceReason": "Lists Mollie's own documentation sources — no customer or payment data."
94
+ },
95
+ "GetPayment": {
96
+ "category": "read",
97
+ "boundField": "read_access",
98
+ "requiredValue": "unlimited"
99
+ },
100
+ "ListPaymentsForGivenCustomer": {
101
+ "category": "read",
102
+ "boundField": "read_access",
103
+ "requiredValue": "unlimited"
104
+ },
105
+ "ListPaymentsForGivenPaymentLink": {
106
+ "category": "read",
107
+ "boundField": "read_access",
108
+ "requiredValue": "unlimited"
109
+ },
110
+ "ListPaymentsFromGivenIDOnwards": {
111
+ "category": "read",
112
+ "boundField": "read_access",
113
+ "requiredValue": "unlimited"
114
+ },
115
+ "ListPaymentsWithinSpecifiedTimeInterval": {
116
+ "category": "read",
117
+ "boundField": "read_access",
118
+ "requiredValue": "unlimited"
119
+ },
120
+ "SearchPaymentsByDescription": {
121
+ "category": "read",
122
+ "boundField": "read_access",
123
+ "requiredValue": "unlimited"
124
+ },
125
+ "AggregatePayments": {
126
+ "category": "read",
127
+ "boundField": "read_access",
128
+ "requiredValue": "unlimited"
129
+ },
130
+ "GetPaymentLink": {
131
+ "category": "read",
132
+ "boundField": "read_access",
133
+ "requiredValue": "unlimited"
134
+ },
135
+ "ListPaymentLinks": {
136
+ "category": "read",
137
+ "boundField": "read_access",
138
+ "requiredValue": "unlimited"
139
+ },
140
+ "ListPaymentLinksWithinSpecifiedTimeInterval": {
141
+ "category": "read",
142
+ "boundField": "read_access",
143
+ "requiredValue": "unlimited"
144
+ },
145
+ "AggregatePaymentLinks": {
146
+ "category": "read",
147
+ "boundField": "read_access",
148
+ "requiredValue": "unlimited"
149
+ },
150
+ "ListCustomers": {
151
+ "category": "read",
152
+ "boundField": "read_access",
153
+ "requiredValue": "unlimited"
154
+ },
155
+ "SearchCustomers": {
156
+ "category": "read",
157
+ "boundField": "read_access",
158
+ "requiredValue": "unlimited"
159
+ },
160
+ "GetMandate": {
161
+ "category": "read",
162
+ "boundField": "read_access",
163
+ "requiredValue": "unlimited"
164
+ },
165
+ "ListMandates": {
166
+ "category": "read",
167
+ "boundField": "read_access",
168
+ "requiredValue": "unlimited"
169
+ },
170
+ "GetCapture": {
171
+ "category": "read",
172
+ "boundField": "read_access",
173
+ "requiredValue": "unlimited"
174
+ },
175
+ "ListCaptures": {
176
+ "category": "read",
177
+ "boundField": "read_access",
178
+ "requiredValue": "unlimited"
179
+ },
180
+ "GetBalance": {
181
+ "category": "read",
182
+ "boundField": "read_access",
183
+ "requiredValue": "unlimited"
184
+ },
185
+ "GetPrimaryBalance": {
186
+ "category": "read",
187
+ "boundField": "read_access",
188
+ "requiredValue": "unlimited"
189
+ },
190
+ "ListBalances": {
191
+ "category": "read",
192
+ "boundField": "read_access",
193
+ "requiredValue": "unlimited"
194
+ },
195
+ "GetBalanceReport": {
196
+ "category": "read",
197
+ "boundField": "read_access",
198
+ "requiredValue": "unlimited"
199
+ },
200
+ "ListBalanceTransactions": {
201
+ "category": "read",
202
+ "boundField": "read_access",
203
+ "requiredValue": "unlimited"
204
+ },
205
+ "GetSettlement": {
206
+ "category": "read",
207
+ "boundField": "read_access",
208
+ "requiredValue": "unlimited"
209
+ },
210
+ "GetNextSettlement": {
211
+ "category": "read",
212
+ "boundField": "read_access",
213
+ "requiredValue": "unlimited"
214
+ },
215
+ "GetOpenSettlement": {
216
+ "category": "read",
217
+ "boundField": "read_access",
218
+ "requiredValue": "unlimited"
219
+ },
220
+ "ListSettlements": {
221
+ "category": "read",
222
+ "boundField": "read_access",
223
+ "requiredValue": "unlimited"
224
+ },
225
+ "ListSettlementCaptures": {
226
+ "category": "read",
227
+ "boundField": "read_access",
228
+ "requiredValue": "unlimited"
229
+ },
230
+ "ListSettlementChargebacks": {
231
+ "category": "read",
232
+ "boundField": "read_access",
233
+ "requiredValue": "unlimited"
234
+ },
235
+ "ListSettlementPayments": {
236
+ "category": "read",
237
+ "boundField": "read_access",
238
+ "requiredValue": "unlimited"
239
+ },
240
+ "ListSettlementRefunds": {
241
+ "category": "read",
242
+ "boundField": "read_access",
243
+ "requiredValue": "unlimited"
244
+ },
245
+ "GetSubscription": {
246
+ "category": "read",
247
+ "boundField": "read_access",
248
+ "requiredValue": "unlimited"
249
+ },
250
+ "ListAllSubscriptions": {
251
+ "category": "read",
252
+ "boundField": "read_access",
253
+ "requiredValue": "unlimited"
254
+ },
255
+ "ListCustomerSubscriptions": {
256
+ "category": "read",
257
+ "boundField": "read_access",
258
+ "requiredValue": "unlimited"
259
+ },
260
+ "ListSubscriptionPayments": {
261
+ "category": "read",
262
+ "boundField": "read_access",
263
+ "requiredValue": "unlimited"
264
+ },
265
+ "GetInvoice": {
266
+ "category": "read",
267
+ "boundField": "read_access",
268
+ "requiredValue": "unlimited"
269
+ },
270
+ "ListInvoices": {
271
+ "category": "read",
272
+ "boundField": "read_access",
273
+ "requiredValue": "unlimited"
274
+ },
275
+ "GetSalesInvoice": {
276
+ "category": "read",
277
+ "boundField": "read_access",
278
+ "requiredValue": "unlimited"
279
+ },
280
+ "ListSalesInvoices": {
281
+ "category": "read",
282
+ "boundField": "read_access",
283
+ "requiredValue": "unlimited"
284
+ },
285
+ "GetWebhook": {
286
+ "category": "read",
287
+ "boundField": "read_access",
288
+ "requiredValue": "unlimited"
289
+ },
290
+ "ListWebhooks": {
291
+ "category": "read",
292
+ "boundField": "read_access",
293
+ "requiredValue": "unlimited"
294
+ },
295
+ "GetWebhookEvent": {
296
+ "category": "read",
297
+ "boundField": "read_access",
298
+ "requiredValue": "unlimited"
299
+ },
40
300
  "CreatePayment": {
41
301
  "summary": "Payment of {amount|money}: {description|short}",
42
302
  "actionLabel": "Payment created",
@@ -48,15 +308,6 @@
48
308
  "action_type": "charge"
49
309
  }
50
310
  },
51
- "CreatePaymentForCustomer": {
52
- "executionMapping": {
53
- "amount": "amount",
54
- "currency": "currency"
55
- },
56
- "staticExecution": {
57
- "action_type": "charge"
58
- }
59
- },
60
311
  "CreatePaymentLink": {
61
312
  "summary": "Payment link[ of {amount|money}]: {description|short}",
62
313
  "actionLabel": "Payment link created",
@@ -69,35 +320,17 @@
69
320
  }
70
321
  },
71
322
  "CreateCapture": {
72
- "executionMapping": {
73
- "amount_value": "amount",
74
- "amount_currency": "currency"
323
+ "summary": "Capture of {amount_value|money} from payment {payment_id}",
324
+ "actionLabel": "Capture created",
325
+ "display": {
326
+ "currencyField": "amount_currency"
75
327
  },
76
- "staticExecution": {
77
- "action_type": "charge"
78
- }
79
- },
80
- "CreateSubscription": {
81
328
  "executionMapping": {
82
329
  "amount_value": "amount",
83
330
  "amount_currency": "currency"
84
331
  },
85
332
  "staticExecution": {
86
- "action_type": "subscribe"
87
- }
88
- },
89
- "UpdateSubscription": {
90
- "executionMapping": {},
91
- "staticExecution": {
92
- "action_type": "subscribe"
93
- }
94
- },
95
- "CancelSubscription": {
96
- "summary": "Cancel a subscription",
97
- "actionLabel": "Subscription cancelled",
98
- "executionMapping": {},
99
- "staticExecution": {
100
- "action_type": "subscribe"
333
+ "action_type": "charge"
101
334
  }
102
335
  },
103
336
  "CreateCustomer": {
@@ -105,93 +338,115 @@
105
338
  "actionLabel": "Payment customer created",
106
339
  "executionMapping": {},
107
340
  "staticExecution": {
108
- "action_type": "charge"
341
+ "action_type": "manage"
109
342
  }
110
343
  },
111
344
  "UpdateCustomer": {
345
+ "summary": "Update payment customer {customer_id}[ — {name}]",
346
+ "actionLabel": "Payment customer updated",
112
347
  "executionMapping": {},
113
348
  "staticExecution": {
114
- "action_type": "charge"
115
- }
116
- },
117
- "CreateMandate": {
118
- "executionMapping": {},
119
- "staticExecution": {
120
- "action_type": "charge"
349
+ "action_type": "manage"
121
350
  }
122
351
  },
123
352
  "RevokeMandate": {
124
- "summary": "Revoke a payment mandate",
125
- "actionLabel": "Payment mandate revoked",
353
+ "summary": "Revoke payment authorisation {mandate_id} for customer {customer_id}",
354
+ "actionLabel": "Payment authorisation revoked",
126
355
  "executionMapping": {},
127
356
  "staticExecution": {
128
- "action_type": "charge"
357
+ "action_type": "manage"
129
358
  }
130
359
  },
360
+ "CreateSalesInvoice": {
361
+ "category": "disabled",
362
+ "_reason": "Invoices come from the ERP (Invoicing profile); Mollie no longer issues invoices."
363
+ },
364
+ "UpdateSalesInvoice": {
365
+ "category": "disabled",
366
+ "_reason": "Invoices come from the ERP; Mollie no longer issues or changes invoices (also the only way to mark one paid by hand, which is excluded by decision)."
367
+ },
368
+ "CancelSubscription": {
369
+ "category": "disabled",
370
+ "_reason": "Subscriptions are read-only in Payments 0.7 — there is no action type to charge this against."
371
+ },
372
+ "UpdateSubscription": {
373
+ "category": "disabled",
374
+ "_reason": "Subscriptions are read-only in Payments 0.7; the new amount is also inside an opaque request_body and cannot be mapped to a bound."
375
+ },
131
376
  "CreateWebhook": {
132
- "executionMapping": {},
133
- "staticExecution": {
134
- "action_type": "charge"
135
- }
377
+ "category": "disabled",
378
+ "_reason": "Sends payment events to any URL the agent names — a data leak path. Webhooks are set up by a person in the dashboard."
136
379
  },
137
380
  "UpdateWebhook": {
138
- "executionMapping": {},
139
- "staticExecution": {
140
- "action_type": "charge"
141
- }
381
+ "category": "disabled",
382
+ "_reason": "Sends payment events to any URL the agent names — a data leak path. Webhooks are set up by a person in the dashboard."
142
383
  },
143
- "ListProfiles": {
144
- "category": "read",
145
- "readGovernance": "none",
146
- "readGovernanceReason": "Returns the organisation's own payment profile configuration (names, websites, status) — no customer or payment data."
384
+ "TestWebhook": {
385
+ "category": "disabled",
386
+ "_reason": "Could be pointed at any URL to exfiltrate payment data."
147
387
  },
148
- "GetOrganizationDetails": {
149
- "category": "read",
150
- "readGovernance": "none",
151
- "readGovernanceReason": "Returns the connected Mollie organisation's own name/registration details — no customer or payment data."
388
+ "CreateDraftTransfer": {
389
+ "category": "disabled",
390
+ "_reason": "Outgoing money to the organisation's own bank account — spend side, not covered by Payments 0.7."
391
+ },
392
+ "CancelDraftTransfer": {
393
+ "category": "disabled",
394
+ "_reason": "Outgoing money — spend side, not covered by Payments 0.7."
395
+ },
396
+ "GetDraftTransfer": {
397
+ "category": "disabled",
398
+ "_reason": "Spend side (payouts) — outside Payments; not covered by this profile."
399
+ },
400
+ "ListDraftTransfers": {
401
+ "category": "disabled",
402
+ "_reason": "Spend side (payouts) — outside Payments; not covered by this profile."
403
+ },
404
+ "ListBusinessAccounts": {
405
+ "category": "disabled",
406
+ "_reason": "Spend side (the organisation's own bank accounts) — outside Payments; not covered by this profile."
152
407
  }
153
408
  }
154
409
  },
155
410
  "templates": [
156
411
  {
157
- "name": "Monitor Payments",
158
- "description": "Read-only. View payments, balances, invoices, and transaction history.",
412
+ "name": "See Payments",
413
+ "description": "Read-only. Look up payments, payment links, customers, mandates, settlements and balances.",
159
414
  "risk": "low",
160
415
  "mode": "automatic",
161
416
  "bounds": {
417
+ "read_access": "unlimited",
162
418
  "amount_max": "0",
163
419
  "amount_daily_max": "0",
164
420
  "amount_monthly_max": "0",
165
- "transaction_count_daily_max": "100"
421
+ "charge_daily_max": "0",
422
+ "manage_daily_max": "0"
166
423
  },
167
424
  "context": {
168
- "currency": "EUR",
169
- "action_type": "charge"
425
+ "currency": "EUR"
170
426
  },
171
- "intent": "Allow the agent to monitor payments and view transaction history. Read-only — no payments are created or modified.",
427
+ "intent": "Allow the agent to look up payments, payment links, payment customers, settlements and balances. Read-only — nothing is created or changed.",
172
428
  "ttl": 2592000,
173
429
  "tags": [
174
- "read-only",
175
- "EUR",
176
- "100 ops/day"
430
+ "read-only"
177
431
  ]
178
432
  },
179
433
  {
180
- "name": "Small Payments",
181
- "description": "Create payment links and process charges up to €50 per transaction.",
434
+ "name": "Payment Links up to €50",
435
+ "description": "Create payment links and payments up to €50 per transaction. No read access.",
182
436
  "risk": "medium",
183
437
  "mode": "automatic",
184
438
  "bounds": {
439
+ "read_access": "none",
185
440
  "amount_max": "50",
186
441
  "amount_daily_max": "200",
187
442
  "amount_monthly_max": "2000",
188
- "transaction_count_daily_max": "20"
443
+ "charge_daily_max": "20",
444
+ "manage_daily_max": "0"
189
445
  },
190
446
  "context": {
191
- "currency": "EUR",
192
- "action_type": "charge"
447
+ "currency": "EUR"
193
448
  },
194
- "intent": "Allow the agent to create payment links and process small charges for routine invoicing. Max €50 per transaction, €200 per day.",
449
+ "intent": "Allow the agent to create payment links and payments for routine amounts. An open-amount link, or one above €50, is refused. No lookups.",
195
450
  "ttl": 2592000,
196
451
  "tags": [
197
452
  "€50/tx",
@@ -201,20 +456,21 @@
201
456
  },
202
457
  {
203
458
  "name": "Full Payment Management",
204
- "description": "Payments, refunds, and subscriptions. Every action requires your approval.",
459
+ "description": "Payments, payment links and payment customers. Every write requires your approval.",
205
460
  "risk": "high",
206
461
  "mode": "review",
207
462
  "bounds": {
463
+ "read_access": "unlimited",
208
464
  "amount_max": "1000",
209
465
  "amount_daily_max": "5000",
210
466
  "amount_monthly_max": "20000",
211
- "transaction_count_daily_max": "50"
467
+ "charge_daily_max": "50",
468
+ "manage_daily_max": "20"
212
469
  },
213
470
  "context": {
214
- "currency": "EUR",
215
- "action_type": "charge,refund,subscribe"
471
+ "currency": "EUR"
216
472
  },
217
- "intent": "Full payment management — create payments, issue refunds, manage subscriptions. Every write action requires human review before execution.",
473
+ "intent": "Full payment management — create payments and payment links, manage payment customers, and look up payments, links, customers and balances. Every write requires human review before execution.",
218
474
  "ttl": 2592000,
219
475
  "tags": [
220
476
  "€1,000/tx",