stables-mcp-server 1.4.0 → 2.1.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.
Files changed (36) hide show
  1. package/README.md +70 -48
  2. package/build/index.js +3 -3
  3. package/build/index.js.map +1 -1
  4. package/build/lib/stables-client.d.ts +313 -136
  5. package/build/lib/stables-client.d.ts.map +1 -1
  6. package/build/lib/stables-client.js +107 -19
  7. package/build/lib/stables-client.js.map +1 -1
  8. package/build/tools/api-keys.d.ts.map +1 -1
  9. package/build/tools/api-keys.js +7 -3
  10. package/build/tools/api-keys.js.map +1 -1
  11. package/build/tools/customers.d.ts.map +1 -1
  12. package/build/tools/customers.js +239 -106
  13. package/build/tools/customers.js.map +1 -1
  14. package/build/tools/quotes.d.ts +5 -1
  15. package/build/tools/quotes.d.ts.map +1 -1
  16. package/build/tools/quotes.js +103 -59
  17. package/build/tools/quotes.js.map +1 -1
  18. package/build/tools/sandbox.d.ts +11 -0
  19. package/build/tools/sandbox.d.ts.map +1 -0
  20. package/build/tools/sandbox.js +78 -0
  21. package/build/tools/sandbox.js.map +1 -0
  22. package/build/tools/transfers.d.ts +4 -1
  23. package/build/tools/transfers.d.ts.map +1 -1
  24. package/build/tools/transfers.js +212 -112
  25. package/build/tools/transfers.js.map +1 -1
  26. package/build/tools/virtual-accounts.d.ts.map +1 -1
  27. package/build/tools/virtual-accounts.js +127 -84
  28. package/build/tools/virtual-accounts.js.map +1 -1
  29. package/build/tools/webhooks.d.ts.map +1 -1
  30. package/build/tools/webhooks.js +98 -24
  31. package/build/tools/webhooks.js.map +1 -1
  32. package/package.json +12 -4
  33. package/build/tools/notifications.d.ts +0 -8
  34. package/build/tools/notifications.d.ts.map +0 -1
  35. package/build/tools/notifications.js +0 -125
  36. package/build/tools/notifications.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  * Synced with OpenAPI spec from https://api.stables.money/docs
4
4
  */
5
5
  import { z } from "zod";
6
- import { StablesApiError } from "../lib/stables-client.js";
6
+ import { StablesApiError, } from "../lib/stables-client.js";
7
7
  function formatError(error) {
8
8
  if (error instanceof StablesApiError) {
9
9
  return `${error.message} (HTTP ${error.statusCode})`;
@@ -14,43 +14,147 @@ export function registerCustomerTools(server, client) {
14
14
  // Create Customer
15
15
  server.tool("create_customer", "Create a new customer in Stables for KYC verification and transfers. Use 'individual' for personal accounts or 'business' for company accounts. Include entitlements like 'base_payout' to enable transactions.", {
16
16
  email: z.string().email().optional().describe("Customer's email address"),
17
- customerType: z.enum(["individual", "business"]).describe("Type of customer - 'individual' for personal, 'business' for companies"),
17
+ customerType: z
18
+ .enum(["individual", "business"])
19
+ .describe("Type of customer - 'individual' for personal, 'business' for companies"),
18
20
  // Individual fields
19
21
  firstName: z.string().optional().describe("First name (required for individuals)"),
20
22
  lastName: z.string().optional().describe("Last name (required for individuals)"),
21
23
  middleName: z.string().optional().describe("Middle name"),
22
- dob: z.string().optional().describe("Date of birth in YYYY-MM-DD format (e.g., '1990-01-15')"),
24
+ dob: z
25
+ .string()
26
+ .optional()
27
+ .describe("Date of birth in YYYY-MM-DD format (e.g., '1990-01-15')"),
23
28
  nationality: z.string().optional().describe("Two-letter country code (e.g., 'US', 'GB')"),
24
29
  // Business fields
25
30
  companyName: z.string().optional().describe("Company name (required for businesses)"),
26
- country: z.string().optional().describe("Country code ISO 3166-1 alpha-2 (required for businesses, e.g., 'US')"),
31
+ country: z
32
+ .string()
33
+ .optional()
34
+ .describe("Country code ISO 3166-1 alpha-2 (required for businesses, e.g., 'US')"),
27
35
  registrationNumber: z.string().optional().describe("Business registration number"),
28
36
  incorporatedOn: z.string().optional().describe("Date of incorporation in YYYY-MM-DD format"),
29
- type: z.string().optional().describe("Company type (e.g., 'Private Company Limited by Shares')"),
37
+ type: z
38
+ .string()
39
+ .optional()
40
+ .describe("Company type (e.g., 'Private Company Limited by Shares')"),
30
41
  taxId: z.string().optional().describe("Tax ID (e.g., '12-3456789')"),
31
- registrationLocation: z.string().optional().describe("Registration location (e.g., state for USA)"),
42
+ registrationLocation: z
43
+ .string()
44
+ .optional()
45
+ .describe("Registration location (e.g., state for USA)"),
32
46
  website: z.string().optional().describe("Website URL"),
33
47
  describeBusiness: z.string().optional().describe("Description of the business"),
34
- conductMoneyServices: z.boolean().optional().describe("Whether the company conducts money services"),
35
- describeMoneyServices: z.string().optional().describe("Describe money services (required if conductMoneyServices is true)"),
36
- describeComplianceControls: z.string().optional().describe("Description of compliance controls"),
37
- mainSourceOfFunds: z.enum(["BUSINESS_LOANS", "GRANTS", "INTER_COMPANY_FUNDS", "INVESTMENT_PROCEEDS", "LEGAL_SETTLEMENT", "OWNERS_CAPITAL", "PENSION_RETIREMENT", "SALE_OF_ASSETS", "SALES_OF_GOODS_AND_SERVICES", "THIRD_PARTY_FUNDS", "TREASURY_RESERVES"]).optional().describe("Main source of funds"),
38
- accountPurpose: z.enum(["CHARITABLE_DONATIONS", "ECOMMERCE_RETAIL_PAYMENTS", "INVESTMENT_PURPOSES", "PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD", "PAYROLL", "PERSONAL_OR_LIVING_EXPENSES", "PROTECT_WEALTH", "PURCHASE_GOODS_AND_SERVICES", "RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES", "TAX_OPTIMIZATION", "THIRD_PARTY_MONEY_TRANSMISSION", "TREASURY_MANAGEMENT", "OTHER"]).optional().describe("What will you use Stables for?"),
39
- accountPurposeOther: z.string().optional().describe("Explain purpose (required if accountPurpose is OTHER)"),
48
+ conductMoneyServices: z
49
+ .boolean()
50
+ .optional()
51
+ .describe("Whether the company conducts money services"),
52
+ describeMoneyServices: z
53
+ .string()
54
+ .optional()
55
+ .describe("Describe money services (required if conductMoneyServices is true)"),
56
+ describeComplianceControls: z
57
+ .string()
58
+ .optional()
59
+ .describe("Description of compliance controls"),
60
+ mainSourceOfFunds: z
61
+ .enum([
62
+ "BUSINESS_LOANS",
63
+ "GRANTS",
64
+ "INTER_COMPANY_FUNDS",
65
+ "INVESTMENT_PROCEEDS",
66
+ "LEGAL_SETTLEMENT",
67
+ "OWNERS_CAPITAL",
68
+ "PENSION_RETIREMENT",
69
+ "SALE_OF_ASSETS",
70
+ "SALES_OF_GOODS_AND_SERVICES",
71
+ "THIRD_PARTY_FUNDS",
72
+ "TREASURY_RESERVES",
73
+ ])
74
+ .optional()
75
+ .describe("Main source of funds"),
76
+ accountPurpose: z
77
+ .enum([
78
+ "CHARITABLE_DONATIONS",
79
+ "ECOMMERCE_RETAIL_PAYMENTS",
80
+ "INVESTMENT_PURPOSES",
81
+ "PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD",
82
+ "PAYROLL",
83
+ "PERSONAL_OR_LIVING_EXPENSES",
84
+ "PROTECT_WEALTH",
85
+ "PURCHASE_GOODS_AND_SERVICES",
86
+ "RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES",
87
+ "TAX_OPTIMIZATION",
88
+ "THIRD_PARTY_MONEY_TRANSMISSION",
89
+ "TREASURY_MANAGEMENT",
90
+ "OTHER",
91
+ ])
92
+ .optional()
93
+ .describe("What will you use Stables for?"),
94
+ accountPurposeOther: z
95
+ .string()
96
+ .optional()
97
+ .describe("Explain purpose (required if accountPurpose is OTHER)"),
40
98
  isYourBusinessADao: z.boolean().optional().describe("Is your business a DAO?"),
41
99
  industrySelection: z.string().optional().describe("NAICS industry code (e.g., '5415')"),
42
- expectedAnnualRevenue: z.enum(["0_99999", "100000_999999", "1000000_9999999", "10000000_49999999", "50000000_249999999", "250000000_plus"]).optional().describe("Estimated annual revenue in USD"),
100
+ expectedAnnualRevenue: z
101
+ .enum([
102
+ "0_99999",
103
+ "100000_999999",
104
+ "1000000_9999999",
105
+ "10000000_49999999",
106
+ "50000000_249999999",
107
+ "250000000_plus",
108
+ ])
109
+ .optional()
110
+ .describe("Estimated annual revenue in USD"),
43
111
  expectedMonthlyPayments: z.string().optional().describe("Expected monthly payments in USD"),
44
- sourceOfFunds: z.enum(["BUSINESS_LOANS", "GRANTS", "INTER_COMPANY_FUNDS", "INVESTMENT_PROCEEDS", "LEGAL_SETTLEMENT", "OWNERS_CAPITAL", "PENSION_RETIREMENT", "SALE_OF_ASSETS", "SALES_OF_GOODS_AND_SERVICES", "THIRD_PARTY_FUNDS", "TREASURY_RESERVES"]).optional().describe("Source of funds"),
45
- sourceOfFundsDescription: z.string().optional().describe("Describe where your business funds come from"),
46
- operateInProhibitedCountry: z.boolean().optional().describe("Does your business operate in any prohibited countries?"),
47
- doesYourBusinessEngageInHighRiskActivities: z.enum(["yes", "no"]).optional().describe("Does your business engage in high risk activities?"),
48
- acceptTerms: z.boolean().optional().describe("Accept Stables' terms of service and privacy policy"),
49
- howDidYouComeAcrossStables: z.string().optional().describe("How did you come across Stables?"),
112
+ sourceOfFunds: z
113
+ .enum([
114
+ "BUSINESS_LOANS",
115
+ "GRANTS",
116
+ "INTER_COMPANY_FUNDS",
117
+ "INVESTMENT_PROCEEDS",
118
+ "LEGAL_SETTLEMENT",
119
+ "OWNERS_CAPITAL",
120
+ "PENSION_RETIREMENT",
121
+ "SALE_OF_ASSETS",
122
+ "SALES_OF_GOODS_AND_SERVICES",
123
+ "THIRD_PARTY_FUNDS",
124
+ "TREASURY_RESERVES",
125
+ ])
126
+ .optional()
127
+ .describe("Source of funds"),
128
+ sourceOfFundsDescription: z
129
+ .string()
130
+ .optional()
131
+ .describe("Describe where your business funds come from"),
132
+ operateInProhibitedCountry: z
133
+ .boolean()
134
+ .optional()
135
+ .describe("Does your business operate in any prohibited countries?"),
136
+ doesYourBusinessEngageInHighRiskActivities: z
137
+ .enum(["yes", "no"])
138
+ .optional()
139
+ .describe("Does your business engage in high risk activities?"),
140
+ acceptTerms: z
141
+ .boolean()
142
+ .optional()
143
+ .describe("Accept Stables' terms of service and privacy policy"),
144
+ howDidYouComeAcrossStables: z
145
+ .string()
146
+ .optional()
147
+ .describe("How did you come across Stables?"),
50
148
  // Shared fields
51
149
  externalCustomerId: z.string().optional().describe("Your own reference ID for this customer"),
52
- phone: z.string().optional().describe("Phone number with country code (e.g., '+14155552671')"),
53
- entitlements: z.array(z.enum(["base_payout", "virtual_account"])).optional().describe("List of entitlements to request"),
150
+ phone: z
151
+ .string()
152
+ .optional()
153
+ .describe("Phone number with country code (e.g., '+14155552671')"),
154
+ entitlements: z
155
+ .array(z.enum(["base_payout", "virtual_account"]))
156
+ .optional()
157
+ .describe("List of entitlements to request"),
54
158
  // Address fields (for individuals)
55
159
  addressLine1: z.string().optional().describe("Street address line 1"),
56
160
  addressLine2: z.string().optional().describe("Street address line 2"),
@@ -63,72 +167,83 @@ export function registerCustomerTools(server, client) {
63
167
  legalAddressLine2: z.string().optional().describe("Legal address line 2 (for businesses)"),
64
168
  legalAddressCity: z.string().optional().describe("Legal address city (for businesses)"),
65
169
  legalAddressState: z.string().optional().describe("Legal address state (for businesses)"),
66
- legalAddressPostalCode: z.string().optional().describe("Legal address postal code (for businesses)"),
67
- legalAddressCountry: z.string().optional().describe("Legal address country code (for businesses)"),
170
+ legalAddressPostalCode: z
171
+ .string()
172
+ .optional()
173
+ .describe("Legal address postal code (for businesses)"),
174
+ legalAddressCountry: z
175
+ .string()
176
+ .optional()
177
+ .describe("Legal address country code (for businesses)"),
68
178
  }, async (params) => {
69
179
  try {
70
180
  const isBusiness = params.customerType === "business";
71
- // Build address for individuals
72
- const address = (!isBusiness && params.addressLine1) ? {
73
- line1: params.addressLine1,
74
- line2: params.addressLine2,
75
- city: params.addressCity || "",
76
- state: params.addressState,
77
- postalCode: params.addressPostalCode,
78
- country: params.addressCountry || "",
79
- } : undefined;
80
- // Build legal address for businesses
81
- const legalAddress = (isBusiness && params.legalAddressLine1) ? {
82
- line1: params.legalAddressLine1,
83
- line2: params.legalAddressLine2,
84
- city: params.legalAddressCity || "",
85
- state: params.legalAddressState,
86
- postalCode: params.legalAddressPostalCode,
87
- country: params.legalAddressCountry || "",
88
- } : undefined;
89
- // Build request body based on customer type
181
+ // Tool inputs stay camelCase for the agent's benefit; the wire body is
182
+ // snake_case, and unknown keys are stripped rather than rejected — which
183
+ // is why the old camelCase body arrived empty and 400'd on the missing
184
+ // required fields instead of on the wrong ones.
185
+ const address = !isBusiness && params.addressLine1
186
+ ? {
187
+ line1: params.addressLine1,
188
+ line2: params.addressLine2,
189
+ city: params.addressCity || "",
190
+ state: params.addressState,
191
+ postal_code: params.addressPostalCode,
192
+ country: params.addressCountry || "",
193
+ }
194
+ : undefined;
195
+ const legalAddress = isBusiness && params.legalAddressLine1
196
+ ? {
197
+ line1: params.legalAddressLine1,
198
+ line2: params.legalAddressLine2,
199
+ city: params.legalAddressCity || "",
200
+ state: params.legalAddressState,
201
+ postal_code: params.legalAddressPostalCode,
202
+ country: params.legalAddressCountry || "",
203
+ }
204
+ : undefined;
90
205
  const requestBody = {
91
206
  email: params.email,
92
- customerType: isBusiness ? "CUSTOMER_TYPE_BUSINESS" : "CUSTOMER_TYPE_INDIVIDUAL",
93
- externalCustomerId: params.externalCustomerId || crypto.randomUUID(),
207
+ customer_type: isBusiness ? "business" : "individual",
208
+ external_customer_id: params.externalCustomerId || crypto.randomUUID(),
94
209
  phone: params.phone,
95
210
  entitlements: params.entitlements,
96
211
  };
97
212
  if (isBusiness) {
98
213
  Object.assign(requestBody, {
99
- companyName: params.companyName,
214
+ company_name: params.companyName,
100
215
  country: params.country,
101
- registrationNumber: params.registrationNumber,
102
- incorporatedOn: params.incorporatedOn,
216
+ registration_number: params.registrationNumber,
217
+ incorporated_on: params.incorporatedOn,
103
218
  type: params.type,
104
- taxId: params.taxId,
105
- registrationLocation: params.registrationLocation,
219
+ tax_id: params.taxId,
220
+ registration_location: params.registrationLocation,
106
221
  website: params.website,
107
- legalAddress,
108
- describeBusiness: params.describeBusiness,
109
- conductMoneyServices: params.conductMoneyServices,
110
- describeMoneyServices: params.describeMoneyServices,
111
- describeComplianceControls: params.describeComplianceControls,
112
- mainSourceOfFunds: params.mainSourceOfFunds,
113
- accountPurpose: params.accountPurpose,
114
- accountPurposeOther: params.accountPurposeOther,
115
- isYourBusinessADao: params.isYourBusinessADao,
116
- industrySelection: params.industrySelection,
117
- expectedAnnualRevenue: params.expectedAnnualRevenue,
118
- expectedMonthlyPayments: params.expectedMonthlyPayments,
119
- sourceOfFunds: params.sourceOfFunds,
120
- sourceOfFundsDescription: params.sourceOfFundsDescription,
121
- operateInProhibitedCountry: params.operateInProhibitedCountry,
122
- doesYourBusinessEngageInHighRiskActivities: params.doesYourBusinessEngageInHighRiskActivities,
123
- acceptTerms: params.acceptTerms,
124
- howDidYouComeAcrossStables: params.howDidYouComeAcrossStables,
222
+ legal_address: legalAddress,
223
+ describe_business: params.describeBusiness,
224
+ conduct_money_services: params.conductMoneyServices,
225
+ describe_money_services: params.describeMoneyServices,
226
+ describe_compliance_controls: params.describeComplianceControls,
227
+ main_source_of_funds: params.mainSourceOfFunds,
228
+ account_purpose: params.accountPurpose,
229
+ account_purpose_other: params.accountPurposeOther,
230
+ is_your_business_a_dao: params.isYourBusinessADao,
231
+ industry_selection: params.industrySelection,
232
+ expected_annual_revenue: params.expectedAnnualRevenue,
233
+ expected_monthly_payments: params.expectedMonthlyPayments,
234
+ source_of_funds: params.sourceOfFunds,
235
+ source_of_funds_description: params.sourceOfFundsDescription,
236
+ operate_in_prohibited_country: params.operateInProhibitedCountry,
237
+ does_your_business_engage_in_high_risk_activities: params.doesYourBusinessEngageInHighRiskActivities,
238
+ accept_terms: params.acceptTerms,
239
+ how_did_you_come_across_stables: params.howDidYouComeAcrossStables,
125
240
  });
126
241
  }
127
242
  else {
128
243
  Object.assign(requestBody, {
129
- firstName: params.firstName,
130
- lastName: params.lastName,
131
- middleName: params.middleName,
244
+ first_name: params.firstName,
245
+ last_name: params.lastName,
246
+ middle_name: params.middleName,
132
247
  dob: params.dob,
133
248
  nationality: params.nationality,
134
249
  address,
@@ -140,15 +255,15 @@ export function registerCustomerTools(server, client) {
140
255
  delete requestBody[key];
141
256
  }
142
257
  const customer = await client.createCustomer(requestBody);
143
- const verificationStatus = customer.verificationLevels?.[0]?.status || "NOT_STARTED";
144
- const entitlementsList = customer.entitlements?.map(e => `${e.name}: ${e.status}`).join(", ") || "None";
258
+ const verificationStatus = customer.verification_levels?.[0]?.status || "not_started";
259
+ const entitlementsList = customer.entitlements?.map((e) => `${e.name}: ${e.status}`).join(", ") || "None";
145
260
  return {
146
261
  content: [
147
262
  {
148
263
  type: "text",
149
264
  text: `Customer created successfully!
150
265
 
151
- Customer ID: ${customer.customerId}
266
+ Customer ID: ${customer.customer_id}
152
267
  Email: ${customer.email}
153
268
  Type: ${params.customerType}
154
269
  ${params.firstName ? `Name: ${params.firstName}${params.middleName ? ` ${params.middleName}` : ""} ${params.lastName || ""}` : ""}
@@ -157,7 +272,7 @@ ${params.phone ? `Phone: ${params.phone}` : ""}
157
272
  ${params.nationality ? `Nationality: ${params.nationality}` : ""}
158
273
  Entitlements: ${entitlementsList}
159
274
  Verification Status: ${verificationStatus}
160
- Created: ${customer.createdAt}
275
+ Created: ${customer.created_at}
161
276
 
162
277
  Next step: Use 'get_verification_link' to get a KYC verification link for this customer.`,
163
278
  },
@@ -182,26 +297,26 @@ Next step: Use 'get_verification_link' to get a KYC verification link for this c
182
297
  }, async ({ customerId }) => {
183
298
  try {
184
299
  const customer = await client.getCustomer(customerId);
185
- const verificationStatus = customer.verificationLevels?.[0]?.status || "NOT_STARTED";
186
- const isVerified = verificationStatus === "VERIFICATION_APPROVED";
187
- const entitlementsList = customer.entitlements?.map(e => `${e.name}: ${e.status}`).join(", ") || "None";
300
+ const verificationStatus = customer.verification_levels?.[0]?.status || "not_started";
301
+ const isVerified = verificationStatus === "approved";
302
+ const entitlementsList = customer.entitlements?.map((e) => `${e.name}: ${e.status}`).join(", ") || "None";
188
303
  return {
189
304
  content: [
190
305
  {
191
306
  type: "text",
192
307
  text: `Customer Details:
193
308
 
194
- Customer ID: ${customer.customerId}
309
+ Customer ID: ${customer.customer_id}
195
310
  Email: ${customer.email || "Not set"}
196
- Type: ${customer.customerType}
197
- ${customer.firstName ? `Name: ${customer.firstName} ${customer.lastName || ""}` : ""}
198
- ${customer.companyName ? `Company: ${customer.companyName}` : ""}
311
+ Type: ${customer.customer_type}
312
+ ${customer.first_name ? `Name: ${customer.first_name} ${customer.last_name || ""}` : ""}
313
+ ${customer.company_name ? `Company: ${customer.company_name}` : ""}
199
314
  ${customer.phone ? `Phone: ${customer.phone}` : ""}
200
315
  Entitlements: ${entitlementsList}
201
316
  Verification Status: ${verificationStatus}
202
317
  Can Transfer: ${isVerified ? "Yes" : "No - needs KYC verification"}
203
- Created: ${customer.createdAt}
204
- Updated: ${customer.updatedAt}`,
318
+ Created: ${customer.created_at}
319
+ Updated: ${customer.updated_at}`,
205
320
  },
206
321
  ],
207
322
  };
@@ -232,10 +347,12 @@ Updated: ${customer.updatedAt}`,
232
347
  ],
233
348
  };
234
349
  }
235
- const customerList = response.customers.map((c) => {
236
- const status = c.verificationLevels?.[0]?.status || "NOT_STARTED";
237
- return `- ${c.customerId}: ${c.email || "No email"} (${c.customerType}) - ${status}`;
238
- }).join("\n");
350
+ const customerList = response.customers
351
+ .map((c) => {
352
+ const status = c.verification_levels?.[0]?.status || "not_started";
353
+ return `- ${c.customer_id}: ${c.email || "No email"} (${c.customer_type}) - ${status}`;
354
+ })
355
+ .join("\n");
239
356
  return {
240
357
  content: [
241
358
  {
@@ -262,28 +379,38 @@ ${customerList}`,
262
379
  // Get Verification Link
263
380
  server.tool("get_verification_link", "Generate a KYC verification link for a customer. The customer must complete verification before they can make transfers.", {
264
381
  customerId: z.string().describe("The customer ID to generate verification link for"),
265
- ttlInSecs: z.number().optional().describe("Time-to-live for the KYC link in seconds (default: 1800)"),
266
- successUrl: z.string().optional().describe("URL to redirect to after successful verification"),
382
+ ttlInSecs: z
383
+ .number()
384
+ .optional()
385
+ .describe("Time-to-live for the KYC link in seconds (default: 1800)"),
386
+ successUrl: z
387
+ .string()
388
+ .optional()
389
+ .describe("URL to redirect to after successful verification"),
267
390
  rejectUrl: z.string().optional().describe("URL to redirect to after rejected verification"),
268
391
  }, async ({ customerId, ttlInSecs, successUrl, rejectUrl }) => {
269
392
  try {
270
- const redirect = (successUrl || rejectUrl) ? {
271
- successUrl,
272
- rejectUrl,
273
- } : undefined;
393
+ const redirect = successUrl || rejectUrl
394
+ ? {
395
+ successUrl,
396
+ rejectUrl,
397
+ }
398
+ : undefined;
274
399
  const result = await client.generateVerificationLink(customerId, {
275
400
  ttlInSecs,
276
401
  redirect,
277
402
  });
278
- const ttlDisplay = ttlInSecs ? `${Math.floor(ttlInSecs / 60)} minutes` : "30 minutes (default)";
403
+ const ttlDisplay = ttlInSecs
404
+ ? `${Math.floor(ttlInSecs / 60)} minutes`
405
+ : "30 minutes (default)";
279
406
  return {
280
407
  content: [
281
408
  {
282
409
  type: "text",
283
410
  text: `Verification link generated!
284
411
 
285
- Customer ID: ${result.customerId}
286
- Verification Link: ${result.kycLink}
412
+ Customer ID: ${result.customer_id}
413
+ Verification Link: ${result.kyc_link}
287
414
 
288
415
  The link will expire in ${ttlDisplay}.
289
416
  Share this link with the customer to complete their identity verification.`,
@@ -314,26 +441,32 @@ Share this link with the customer to complete their identity verification.`,
314
441
  dob: z.string().optional().describe("Updated date of birth (YYYY-MM-DD)"),
315
442
  nationality: z.string().optional().describe("Updated nationality (two-letter country code)"),
316
443
  companyName: z.string().optional().describe("Updated company name (for businesses)"),
317
- entitlements: z.array(z.enum(["base_payout", "virtual_account"])).optional().describe("Updated entitlements"),
318
- }, async ({ customerId, email, phone, firstName, lastName, middleName, dob, nationality, companyName, entitlements }) => {
444
+ entitlements: z
445
+ .array(z.enum(["base_payout", "virtual_account"]))
446
+ .optional()
447
+ .describe("Updated entitlements"),
448
+ }, async ({ customerId, email, phone, firstName, lastName, middleName, dob, nationality, companyName, entitlements, }) => {
319
449
  try {
450
+ // Every field on this endpoint is optional, so camelCase keys were not
451
+ // rejected — they were stripped, the body parsed to {}, and the call
452
+ // returned 200 having changed nothing.
320
453
  const updates = {};
321
454
  if (email)
322
455
  updates.email = email;
323
456
  if (phone)
324
457
  updates.phone = phone;
325
458
  if (firstName)
326
- updates.firstName = firstName;
459
+ updates.first_name = firstName;
327
460
  if (lastName)
328
- updates.lastName = lastName;
461
+ updates.last_name = lastName;
329
462
  if (middleName)
330
- updates.middleName = middleName;
463
+ updates.middle_name = middleName;
331
464
  if (dob)
332
465
  updates.dob = dob;
333
466
  if (nationality)
334
467
  updates.nationality = nationality;
335
468
  if (companyName)
336
- updates.companyName = companyName;
469
+ updates.company_name = companyName;
337
470
  if (entitlements)
338
471
  updates.entitlements = entitlements;
339
472
  const customer = await client.updateCustomer(customerId, updates);
@@ -341,12 +474,12 @@ Share this link with the customer to complete their identity verification.`,
341
474
  content: [
342
475
  {
343
476
  type: "text",
344
- text: `Customer ${customer.customerId} updated successfully.
477
+ text: `Customer ${customer.customer_id} updated successfully.
345
478
 
346
479
  Email: ${customer.email}
347
- ${customer.firstName ? `Name: ${customer.firstName} ${customer.lastName || ""}` : ""}
348
- ${customer.companyName ? `Company: ${customer.companyName}` : ""}
349
- Updated: ${customer.updatedAt}`,
480
+ ${customer.first_name ? `Name: ${customer.first_name} ${customer.last_name || ""}` : ""}
481
+ ${customer.company_name ? `Company: ${customer.company_name}` : ""}
482
+ Updated: ${customer.updated_at}`,
350
483
  },
351
484
  ],
352
485
  };
@@ -1 +1 @@
1
- {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/tools/customers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/tools/customers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * Quote Tools for Stables MCP Server
3
- * Synced with OpenAPI spec from https://api.stables.money/docs
3
+ *
4
+ * Mirrors POST /api/v1/quotes and GET /api/v1/quotes/:id as of 2026-07-30. The
5
+ * request takes `source`/`destination` (was `from`/`to`), the response is the
6
+ * quote itself with no `{ quote }` wrapper, and `paymentMethodType` is gone —
7
+ * the payment network is now `destination.network`.
4
8
  */
5
9
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
10
  import { StablesApiClient } from "../lib/stables-client.js";
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../../src/tools/quotes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QA6I7E"}
1
+ {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../../src/tools/quotes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAS,MAAM,0BAA0B,CAAC;AAoCnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QA4J7E"}