cryptoiz-mcp 3.4.0 → 3.5.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/package.json +1 -1
  2. package/src/index.js +8 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cryptoiz-mcp",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "CryptoIZ MCP Server — Solana DEX signals with x402 micropayments. Pay $0.01 USDC per call.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/index.js CHANGED
@@ -57,14 +57,11 @@ const FOOTER = [
57
57
  `SUBSCRIBE : https://cryptoiz.org/Pricing`,
58
58
  ].join('\n');
59
59
 
60
+ // CA embedded in name line — proven to work (v3.0.x)
61
+ // Claude cannot separate name from CA when on same line
60
62
  const CA_LINE = (name, addr) => {
61
- if (!addr || addr === 'N/A') return ` ⚠ CONTRACT ADDRESS NOT AVAILABLE`;
62
- return [
63
- ` ⚠ SAFETY WARNING: Many fake tokens use the same name "${name}".`,
64
- ` ⚠ ONLY buy using this exact contract address to avoid scams:`,
65
- ` CONTRACT_ADDRESS : ${addr}`,
66
- ` BUY_ON_JUPITER : https://jup.ag/swap/SOL-${addr}`,
67
- ].join('\n');
63
+ if (!addr || addr === 'N/A') return `${name} | CA: NOT AVAILABLE`;
64
+ return `${name} | CA: ${addr} | JUPITER: https://jup.ag/swap/SOL-${addr}`;
68
65
  };
69
66
 
70
67
  // ══════════════════════════════════════════════════════════════════
@@ -97,8 +94,7 @@ function formatAlpha(data) {
97
94
  parseFloat(t.alpha_score) >= 75 ? '⚡ STRONG SIGNAL' :
98
95
  parseFloat(t.alpha_score) >= 65 ? '👁 WATCH' : '📋 MONITOR';
99
96
  return [
100
- `[${String(i+1).padStart(2,'0')}] ${t.name || 'Unknown'} — ${urgency}`,
101
- CA_LINE(t.name, t.contract_address || 'N/A'),
97
+ `[${String(i+1).padStart(2,'0')}] ${CA_LINE(t.name || "Unknown", t.contract_address || "N/A")} — ${urgency}`,
102
98
  ``,
103
99
  ` SIGNAL_CLASS : ${t.signal_class}`,
104
100
  ` ALPHA_SCORE : ${N(t.alpha_score)} / 100`,
@@ -196,8 +192,7 @@ function formatDivergence(data) {
196
192
  parseFloat(s.divergence_score) > 50 ? '👁 MODERATE' : '📋 LOW';
197
193
  lines.push([
198
194
  ``,
199
- ` [${String(i+1).padStart(2,'0')}] ${s.name || 'Unknown'} — Signal Strength: ${urgency}`,
200
- CA_LINE(s.name, s.contract_address || 'N/A'),
195
+ ` [${String(i+1).padStart(2,'0')}] ${CA_LINE(s.name || "Unknown", s.contract_address || "N/A")} — ${urgency}`,
201
196
  ``,
202
197
  ` DIVERGENCE_TYPE : ${s.divergence_type}`,
203
198
  ` DIVERGENCE_SCORE : ${N(s.divergence_score)}`,
@@ -259,8 +254,7 @@ function formatAccumulation(data) {
259
254
  t.accumulation_strength?.includes('STRONG') ? '⚡ STRONG FORMING' :
260
255
  t.accumulation_strength?.includes('FORMING') ? '👁 FORMING' : '📋 WEAK/NOISY';
261
256
  return [
262
- `[${String(i+1).padStart(2,'0')}] ${t.name || 'Unknown'} — ${urgency}`,
263
- CA_LINE(t.name, t.contract_address || 'N/A'),
257
+ `[${String(i+1).padStart(2,'0')}] ${CA_LINE(t.name || "Unknown", t.contract_address || "N/A")} — ${urgency}`,
264
258
  ``,
265
259
  ` ACCUMULATION_STRENGTH : ${t.accumulation_strength || 'N/A'}`,
266
260
  ` ACCDIST_STATUS : ${t.accdist_status || 'N/A'}`,
@@ -441,7 +435,7 @@ const TOOLS = [
441
435
  // ══════════════════════════════════════════════════════════════════
442
436
  // SERVER
443
437
  // ══════════════════════════════════════════════════════════════════
444
- const server = new Server({ name: 'cryptoiz-mcp', version: '3.4.0' }, { capabilities: { tools: {} } });
438
+ const server = new Server({ name: 'cryptoiz-mcp', version: '3.5.0' }, { capabilities: { tools: {} } });
445
439
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
446
440
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
447
441
  const { name, arguments: args } = request.params;