reloadpi-mcp 1.3.0 → 1.3.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.
Files changed (2) hide show
  1. package/index.js +8 -4
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -108,7 +108,7 @@ function coversCountry(offer, code) {
108
108
  function createMcpServer() {
109
109
  const server = new McpServer({
110
110
  name: "reloadpi",
111
- version: "1.3.0",
111
+ version: "1.3.2",
112
112
  });
113
113
 
114
114
  // ═══════════════════════════════════════════════════════════════════════════
@@ -213,6 +213,7 @@ function createMcpServer() {
213
213
  "So for a Thailand plan use country:\"TH\", or regions:\"Southeast Asia\" for all single-country plans in that area. " +
214
214
  "Regional bundles exist only for the values offered by `regional_region`; \"Southeast Asia\", \"South Asia\" and \"South America\" have single-country plans but no bundles, which is why `regional_region` does not offer them. " +
215
215
  "Results include roamingCountries / roamingCount, the countries a regional bundle actually covers — roamingCountries holds full country names (with the raw ISO-2 codes in roamingCountriesCodes); check these to confirm a bundle includes the countries the user needs. " +
216
+ "PRICES: each plan's `agent_price_usd` is its final price — the exact USDC that purchase_esim charges. Quote it to the user. " +
216
217
  "Free — no payment. Returns offer IDs and prices; use them with purchase_esim (requires a self-hosted wallet).",
217
218
  {
218
219
  country: z.string().optional().describe("ISO-2 country code for one specific country, e.g. ES, US, JP."),
@@ -499,7 +500,7 @@ function createMcpServer() {
499
500
 
500
501
  server.tool(
501
502
  "get_esim_offer",
502
- "Get full details for a specific eSIM plan by ID — exact price, data allowance, duration, coverage countries, and whether data is unlimited. Costs a small x402 fee from your wallet.",
503
+ "Get full details for a specific eSIM plan by ID — exact price, data allowance, duration, coverage countries, and whether data is unlimited. `price` here (minor units, divide by priceCurrencyDivisor) is the exact USDC amount purchase_esim charges — the same as agent_price_usd in browse_esim_offers. Costs a small x402 fee from your wallet.",
503
504
  {
504
505
  offerId: z.string().describe("eSIM offer ID e.g. ESIM-ES-7D-10GB-NOROAM"),
505
506
  },
@@ -510,7 +511,10 @@ function createMcpServer() {
510
511
  }
511
512
  );
512
513
 
513
- // ── Purchase (paid — product price + markup, x402) ─────────────────────────
514
+ // ── Purchase (paid, x402) ──────────────────────────────────────────────────
515
+ // Vouchers/topups: product price + markup. eSIM: the plan's agent_price_usd,
516
+ // priced by the backend (services/pricing/esimAgentPrice.js), never here — a
517
+ // backend pricing change reaches these tools without a new MCP release.
514
518
 
515
519
  server.tool(
516
520
  "purchase_voucher",
@@ -561,7 +565,7 @@ function createMcpServer() {
561
565
 
562
566
  server.tool(
563
567
  "purchase_esim",
564
- "Purchase an eSIM data plan. The x402 payment (USDC on Base) settles automatically from YOUR wallet. Provide offerId from browse_esim_offers. Returns orderId, txHash, ICCID and QR code (base64 PNG) when ready. If QR is not immediately available, poll get_order with the returned orderId.",
568
+ "Purchase an eSIM data plan. The x402 payment (USDC on Base) settles automatically from YOUR wallet and is exactly the plan's agent_price_usd from browse_esim_offers (the `price` from get_esim_offer). Provide offerId from browse_esim_offers. Returns orderId, txHash, ICCID and QR code (base64 PNG) when ready. If QR is not immediately available, poll get_order with the returned orderId.",
565
569
  {
566
570
  offerId: z.string().describe("eSIM offer ID from browse_esim_offers"),
567
571
  iccid: z.string().optional().describe("Existing ICCID — only for top-up/recharge of an installed eSIM"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reloadpi-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Reloadpi MCP server — browse and purchase eSIMs, vouchers, and topups via x402 (USDC on Base)",
5
5
  "type": "module",
6
6
  "main": "index.js",