cryptoiz-mcp 4.1.0 → 4.2.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 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cryptoiz-mcp",
3
- "version": "4.1.0",
3
+ "version": "4.2.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
@@ -36,7 +36,8 @@ async function payAndFetch(url) {
36
36
  const N = (v, d=2) => v != null && v !== 'N/A' ? parseFloat(v).toFixed(d) : 'N/A';
37
37
  const sign = v => { const n = parseFloat(v||0); return n > 0 ? `+${n}` : `${n}`; };
38
38
  const shortCA = ca => ca ? `${ca.slice(0,6)}...${ca.slice(-4)}` : 'N/A';
39
- const jupLink = ca => ca ? `[Buy on Jupiter](https://jup.ag/swap?inputCurrency=So11111111111111111111111111111111111111112&outputCurrency=${ca})` : 'N/A';
39
+ const dexLink = ca => ca ? `[Chart 📊](https://dexscreener.com/solana/${ca})` : 'N/A';
40
+ const jupLink = ca => ca ? `[Buy 🛒](https://jup.ag/swap?inputCurrency=So11111111111111111111111111111111111111112&outputCurrency=${ca})` : 'N/A';
40
41
 
41
42
  // ══════════════════════════════════════════════════════════════════
42
43
  // ALPHA SCANNER — Markdown Table Format
@@ -56,11 +57,13 @@ function formatAlpha(data) {
56
57
  const risk = parseFloat(s.risk_liquidity_pct||0) > 0 || parseFloat(s.risk_trap_pct||0) > 0
57
58
  ? `⚠️ Liq:${N(s.risk_liquidity_pct)}% Trap:${N(s.risk_trap_pct)}%`
58
59
  : '✅ Clear';
59
- return `| ${i} | **${s.name}** | \`${s.contract_address||'N/A'}\` | ${N(s.alpha_score)} | ${s.phase||'N/A'} | ${sign(s.whale_delta)} | ${sign(s.dolphin_delta)} | ${s.market_cap_now||'N/A'} | $${s.price_now_usd||'N/A'} | ${N(s.score_safety)} | ${risk} | ${jupLink(s.contract_address)} |`;
60
+ const startMC = s.market_cap_when_signal_formed ? s.market_cap_when_signal_formed : 'N/A';
61
+ const signalTime = s.signal_formed_at ? new Date(s.signal_formed_at).toLocaleDateString('id-ID') : 'N/A';
62
+ return `| ${i} | **${s.name}** | \`${s.contract_address||'N/A'}\` | ${N(s.alpha_score)} | ${s.phase||'N/A'} | ${sign(s.whale_delta)} | ${sign(s.dolphin_delta)} | ${s.market_cap_now||'N/A'} | ${startMC} | ${signalTime} | ${N(s.score_safety)} | ${risk} | ${dexLink(s.contract_address)} | ${jupLink(s.contract_address)} |`;
60
63
  };
61
64
 
62
- const tableHeader = `| # | Token | Contract Address (CA) | Score | Phase | Whale Δ | Dolphin Δ | MC | Price | Safety | Risk | Trade |
63
- |---|-------|----------------------|-------|-------|---------|-----------|-----|-------|--------|------|-------|`;
65
+ const tableHeader = `| # | Token | Contract Address (CA) | Score | Phase | Whale Δ | Dolphin Δ | MC Now | Start MC | Signal Date | Safety | Risk | Chart | Buy |
66
+ |---|-------|----------------------|-------|-------|---------|-----------|--------|----------|-------------|--------|------|-------|-----|`;
64
67
 
65
68
  let out = [];
66
69
 
@@ -375,7 +378,7 @@ const TOOLS = [
375
378
  // ══════════════════════════════════════════════════════════════════
376
379
  // SERVER
377
380
  // ══════════════════════════════════════════════════════════════════
378
- const server = new Server({ name: 'cryptoiz-mcp', version: '4.1.0' }, { capabilities: { tools: {} } });
381
+ const server = new Server({ name: 'cryptoiz-mcp', version: '4.2.0' }, { capabilities: { tools: {} } });
379
382
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
380
383
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
381
384
  const { name, arguments: args } = request.params;