@ramp-kit/mcp 0.1.3 → 0.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM,uGAOT,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAuPtC,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM,uGAOT,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAgStC,CAAC"}
package/dist/docs.js CHANGED
@@ -184,6 +184,44 @@ RampError { provider, code: auth | quote_expired | tx_expired |
184
184
  kyc_required | unsupported | network | provider_error }.`,
185
185
  production: `# Path to production
186
186
 
187
+ ## The integration model (how a real app ships this)
188
+
189
+ A partner API key identifies the BUSINESS, not the user. One key per app,
190
+ held server-side. End users never see or need one — they are customers
191
+ under that partner account, identified by a customerId.
192
+
193
+ browser (no key) → your backend (keys in env) → Etherfuse / Manteca
194
+ <RampWidget/> @ramp-kit/server
195
+
196
+ \`\`\`ts
197
+ // backend — the only place keys exist
198
+ createRampServer({
199
+ proxy: { apiKey: process.env.ETHERFUSE_API_KEY!, environment: "production" },
200
+ manteca: { apiKey: process.env.MANTECA_API_KEY!, environment: "production" },
201
+ }).listen(8787);
202
+
203
+ // frontend — EMPTY key, pointed at your backend
204
+ new EtherfuseProvider({ apiKey: "", baseUrl: "https://api.myapp.com/ramp/etherfuse" });
205
+ new MantecaProvider({ apiKey: "", baseUrl: "https://api.myapp.com/ramp/manteca" });
206
+ \`\`\`
207
+
208
+ Runnable reference: examples/backend-integration/ in the repo.
209
+
210
+ ## Dev environment setup (integrating developer)
211
+
212
+ 1. Keys: Etherfuse self-service (sandbox.etherfuse.com → approve own KYB →
213
+ api_sand… key); Manteca by request to their team. One provider is enough
214
+ to start — createRampServer enables whichever config it gets.
215
+ 2. .env (gitignored), read by the BACKEND — never VITE_/NEXT_PUBLIC_, which
216
+ would ship the key to the browser:
217
+ ETHERFUSE_API_KEY, ETHERFUSE_CUSTOMER_ID, MANTECA_API_KEY,
218
+ MANTECA_USER_ID, RAMP_ENV=sandbox|production
219
+ 3. Production: platform secret manager instead of a file.
220
+
221
+ What stays the developer's job: onboarding each end user with the provider
222
+ (KYC) to get their customerId, and resolving it from the session. The kit
223
+ takes over from quote onward.
224
+
187
225
  ## Ready in code today
188
226
  - environment: "sandbox" | "production" on every provider flips base URLs;
189
227
  stellarConfigFor("production") → mainnet Horizon + passphrase.
@@ -244,6 +282,9 @@ new EtherfuseProvider({ apiKey: "", baseUrl: "https://api.myapp.com/etherfuse" }
244
282
  - Manteca "NOT_FOUND.USER" on price-locks in compareQuotes → each provider
245
283
  has its own customer id; pass customerIds: { manteca: userAnyId } as the
246
284
  third argument to RampRouter.compareQuotes.
285
+ - Etherfuse 409 "A pending onramp order already exists for this bank
286
+ account and amount" → duplicate guard; use a different amount or settle
287
+ the pending order (hits often when re-running tests).
247
288
  - Manteca USER_NF "User not found" on any quote/order → the customerId is
248
289
  not a valid userAnyId of YOUR account. Validate with check_manteca_user;
249
290
  create users via POST /onboarding-actions/initial (see sandbox-setup).
package/dist/docs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU;IACV,YAAY;IACZ,eAAe;IACf,cAAc;IACd,YAAY;IACZ,iBAAiB;CACT,CAAC;AAIX,MAAM,CAAC,MAAM,IAAI,GAA0B;IACzC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA6BoC;IAE9C,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAkE2D;IAEvE,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDA4C8B;IAE/C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA4ByC;IAEvD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4BoE;IAEhF,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAwCW;CAC7B,CAAC"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU;IACV,YAAY;IACZ,eAAe;IACf,cAAc;IACd,YAAY;IACZ,iBAAiB;CACT,CAAC;AAIX,MAAM,CAAC,MAAM,IAAI,GAA0B;IACzC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA6BoC;IAE9C,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAkE2D;IAEvE,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDA4C8B;IAE/C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA4ByC;IAEvD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFAkEoE;IAEhF,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA2CW;CAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ramp-kit/mcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "MCP server for the LATAM Ramp Kit: lets AI agents explore providers, fetch live ramp quotes, create sandbox orders, simulate PIX/SPEI deposits and inspect Stellar wallets — plus built-in documentation tools covering usage, architecture and the path to production",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",