mj41-mcp 1.2.1 → 1.3.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 (2) hide show
  1. package/dist/index.js +18 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -60,6 +60,19 @@ const RATE = {
60
60
  RICHARD: 10, // investigate_wallet calls AI, expensive
61
61
  FIRST_SIGNAL: 30,
62
62
  };
63
+ // ── Copper Holiday: free until June 28, 2026 ─────────────────
64
+ const COPPER_HOLIDAY_END = new Date("2026-06-28T00:00:00-05:00");
65
+ function isCopperHoliday() {
66
+ return Date.now() < COPPER_HOLIDAY_END.getTime();
67
+ }
68
+ function copperHolidayNote() {
69
+ if (isCopperHoliday()) {
70
+ const diff = COPPER_HOLIDAY_END.getTime() - Date.now();
71
+ const days = Math.ceil(diff / 86_400_000);
72
+ return `COPPER HOLIDAY — All tools free until June 28, 2026 (${days} days remaining). After that: 41 RWACu/call or 82 RWACu equiv via USDC/Stripe. Pay with RWACu and save 50%.`;
73
+ }
74
+ return "Copper Holiday has ended. API key required. Register with the register tool.";
75
+ }
63
76
  const COPPERTRACE_URL = "https://coppertrace.vercel.app";
64
77
  const FIRST_SIGNAL_URL = "https://aiwire.mj41.me";
65
78
  const ORACLE_URLS = {
@@ -112,7 +125,7 @@ server.tool("get_copper_price", "Get the current copper price from a ZJ Industri
112
125
  status.update_mode ? `Update mode: ${status.update_mode} (${status.update_frequency})` : "",
113
126
  ``,
114
127
  `Note: Price value available via ${url}/api/v1/price`,
115
- `Open Trial — all endpoints free. Request a key at api@zjindustries.com`,
128
+ copperHolidayNote(),
116
129
  ``,
117
130
  `— mj41, LLC | ZJ Industries (zjindustries.com)`,
118
131
  ]
@@ -166,8 +179,7 @@ server.tool("get_all_copper_prices", "Get status of all three ZJ Industries copp
166
179
  results.push("");
167
180
  }
168
181
  }
169
- results.push("Open Trial — all endpoints free during trial period");
170
- results.push("API key requests: api@zjindustries.com");
182
+ results.push(copperHolidayNote());
171
183
  results.push("");
172
184
  results.push("— mj41, LLC | ZJ Industries (zjindustries.com)");
173
185
  return {
@@ -501,8 +513,7 @@ server.tool("about_mj41", "Learn about mj41, LLC — who they are, what they bui
501
513
  " get_all_copper_prices — All three oracles at once",
502
514
  " get_oracle_status — Health check and freshness",
503
515
  " Class A: COMEX spot (15-min) | Class B: Scrap (weekly) | Class C: Industrial (2x/week)",
504
- " On-chain on Base mainnet. Open Trial — all endpoints free.",
505
- " Contact: api@zjindustries.com",
516
+ " On-chain on Base mainnet.",
506
517
  "",
507
518
  "RICHARD TRACY (Blockchain Detective by mj41)",
508
519
  " investigate_wallet — Phishing/scam/drainer investigation with full case report",
@@ -516,6 +527,8 @@ server.tool("about_mj41", "Learn about mj41, LLC — who they are, what they bui
516
527
  " submit_story_idea — Submit to Woody Bernstein's investigation queue",
517
528
  " Web: aiwire.mj41.me",
518
529
  "",
530
+ copperHolidayNote(),
531
+ "",
519
532
  "— mj41, LLC",
520
533
  ].join("\n"),
521
534
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mj41-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "MJ41 MCP Server — Agent gateway for mj41, LLC. Live copper price oracles (COMEX/scrap/industrial on Base L2), blockchain investigation, and AI news wire with 16 autonomous reporters.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",