reloadpi-mcp 1.0.0 → 1.1.1

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
@@ -38,13 +38,27 @@ Just add the hosted URL — no setup needed:
38
38
  }
39
39
  ```
40
40
 
41
- ### With purchases (recommended)
41
+ ### With purchases via npx (recommended)
42
42
 
43
- Run a local instance with your own wallet. **Claude or Cursor can set this up for you** — just paste this prompt:
43
+ No cloning needed. Add to your MCP config and set your wallet key:
44
44
 
45
- > "Clone https://github.com/cross555/reloadpi-mcp, create a .env with my EVM_PRIVATE_KEY, run npm install && npm start, then add it to my MCP config pointing to http://localhost:3100/mcp"
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "reloadpi": {
49
+ "command": "npx",
50
+ "args": ["-y", "reloadpi-mcp"],
51
+ "env": {
52
+ "EVM_PRIVATE_KEY": "0x..."
53
+ }
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ npx downloads and starts the server automatically. Requires Node.js 18+.
46
60
 
47
- Or manually:
61
+ ### With purchases via git clone
48
62
 
49
63
  ```bash
50
64
  git clone https://github.com/cross555/reloadpi-mcp
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  import "../index.js";
package/index.js CHANGED
@@ -31,7 +31,6 @@ if (!process.env.EVM_PRIVATE_KEY) {
31
31
 
32
32
  // ── x402 axios client ─────────────────────────────────────────────────────────
33
33
 
34
-
35
34
  function buildHttpClient() {
36
35
  if (!process.env.EVM_PRIVATE_KEY) {
37
36
  throw new Error("EVM_PRIVATE_KEY is required for purchase tools. Add it to your MCP config env block.");
@@ -191,18 +190,23 @@ function createMcpServer() {
191
190
 
192
191
  server.tool(
193
192
  "browse_esim_offers",
194
- "Browse eSIM data plans across 190+ countries and regions — including unlimited data plans, regional multi-country plans, and global roaming. Filter by country, region, duration or data amount. Call this before purchasing to discover available offer IDs and prices.",
193
+ "Browse eSIM data plans across 190+ countries and regions — including unlimited data plans, regional multi-country bundles, and global roaming. Filter by single country (e.g. ES) or by a multi-country region. Set regional:true to list ONLY multi-country regional bundles (e.g. ESIM-N-AMERICA-10D-UNLIMITED covering US+CA+MX); these have no single country code. Call this before purchasing to discover available offer IDs and prices.",
195
194
  {
196
- country: z.string().optional().describe("ISO country code e.g. ES, US, JP"),
197
- region: z.string().optional().describe("Region slug e.g. europe, latam, global"),
198
- duration: z.number().optional().describe("Plan duration in days e.g. 7, 30"),
199
- limit: z.number().optional().default(10),
200
- offset: z.number().optional().default(0),
195
+ country: z.string().optional().describe("ISO country code for single-country plans, e.g. ES, US, JP. Omit when using regional/regions."),
196
+ regions: z.enum([
197
+ "Global", "Africa", "Asia", "Caribbean", "Central America",
198
+ "Eastern Europe", "Western Europe", "North America", "Oceania",
199
+ "South America", "South Asia", "Southeast Asia",
200
+ "Middle East and North Africa",
201
+ ]).optional().describe("Multi-country region to filter by (exact Zendit enum value)."),
202
+ regional: z.boolean().optional().describe("true → return ONLY multi-country regional bundles (country is empty). Combine with `regions` to scope to one region."),
203
+ limit: z.number().optional().default(10),
204
+ offset: z.number().optional().default(0),
201
205
  },
202
- async ({ country, region, duration, limit, offset }) => {
206
+ async ({ country, regions, regional, limit, offset }) => {
203
207
  const api = buildHttpClient();
204
208
  const res = await api.get("/esims/offers", {
205
- params: { country, region, duration, limit, offset },
209
+ params: { country, regions, regional: regional ? "true" : undefined, limit, offset },
206
210
  });
207
211
  return { content: [{ type: "text", text: JSON.stringify(res.data) }] };
208
212
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "reloadpi-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
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",
7
7
  "bin": {
8
- "reloadpi-mcp": "./bin/cli.js"
8
+ "reloadpi-mcp": "bin/cli.js"
9
9
  },
10
10
  "files": [
11
11
  "bin/",
@@ -36,7 +36,7 @@
36
36
  "license": "MIT",
37
37
  "repository": {
38
38
  "type": "git",
39
- "url": "https://github.com/cross555/reloadpi-mcp"
39
+ "url": "git+https://github.com/cross555/reloadpi-mcp.git"
40
40
  },
41
41
  "homepage": "https://reloadpi.com",
42
42
  "dependencies": {
@@ -56,4 +56,4 @@
56
56
  "overrides": {
57
57
  "axios": "1.16.1"
58
58
  }
59
- }
59
+ }