asrai-mcp 1.0.0 → 1.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asrai-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Asrai crypto analysis MCP server — pay-per-use via x402 on Base. Zero install: just npx.",
5
5
  "keywords": [
6
6
  "mcp",
package/skill/SKILL.md CHANGED
@@ -55,24 +55,35 @@ Requires `ASRAI_PRIVATE_KEY` set in `~/.env` or environment. Payment is signed a
55
55
 
56
56
  ## MCP tools
57
57
 
58
+
58
59
  | Tool | What it does | Cost |
59
60
  |---|---|---|
60
- | `market_overview` | Trending, gainers/losers, RSI, sentiment, screeners | $0.095 |
61
- | `technical_analysis(symbol, timeframe)` | Signals, ALSAT, SuperALSAT, Elliott Wave, Ichimoku | $0.06 |
62
- | `sentiment` | CBBI, CMC sentiment, AI insights | $0.015 |
63
- | `forecast(symbol)` | AI price forecast | $0.005 |
64
- | `screener(type)` | Find coins by criteria | $0.005 |
65
- | `smart_money(symbol, timeframe)` | Order blocks, FVGs, support/resistance | $0.01 |
61
+ | `market_overview` | Full brief: trending, gainers/losers, RSI, screeners, sentiment, cashflow — use for complete reports only | $0.095 |
62
+ | `trending` | Currently trending coins | $0.005 |
63
+ | `gainers_losers` | Top gainers and losers | $0.005 |
64
+ | `top_bottom` | RSI extremes, top/bottom signals, bounce/dip candidates | $0.015 |
65
+ | `volume_spikes` | Coins with unusually high volume | $0.005 |
66
+ | `high_volume_low_cap` | Low market cap coins with high volume | $0.005 |
67
+ | `ath_tracker` | Coins near or at all-time high | $0.005 |
68
+ | `dominance` | BTC & altcoin dominance signals | $0.01 |
69
+ | `macro` | S&P 500 & Nasdaq signals — global market context | $0.01 |
70
+ | `sentiment` | CBBI, CMC sentiment, AI insights, channel news, Galaxy Score, social dominance | $0.03 |
71
+ | `late_unlocked_coins` | Post-vesting coins with low remaining selling pressure | $0.005 |
72
+ | `trade_signals` | Trade setups: trending movers, bounces, SAR & MACD entries | $0.025 |
73
+ | `technical_analysis(symbol, timeframe)` | Signals, ALSAT, SuperALSAT, PSAR, MACD-DEMA, AlphaTrend, TD, SMC, S/R, Elliott Wave, Ichimoku | $0.06 |
74
+ | `forecast(symbol)` | AI 3-7 day price prediction | $0.005 |
75
+ | `screener(type)` | Find coins by criteria (ichimoku-trend, rsi, vwap, volume, bounce-dip...) | $0.005 |
76
+ | `smart_money(symbol, timeframe)` | Order blocks, fair value gaps, support/resistance | $0.01 |
66
77
  | `elliott_wave(symbol, timeframe)` | Elliott Wave analysis | $0.005 |
67
- | `ichimoku(symbol, timeframe)` | Ichimoku cloud | $0.005 |
68
- | `cashflow(mode, symbol)` | Capital flow | $0.005 |
69
- | `coin_info(symbol)` | Stats, price, CMC AI, DEX data | $0.025–$0.03 |
70
- | `dexscreener(contract)` | DEX data | $0.005 |
71
- | `chain_tokens(chain, max_mcap)` | Low-cap tokens on chain | $0.005 |
72
- | `portfolio` | Abu's curated model portfolio | $0.005 |
73
- | `channel_summary` | Latest narratives | $0.005 |
74
- | `ask_ai(question)` | AI analyst answer | $0.01 |
75
- | `indicator_guide(name)` | Guide for custom indicators | FREE |
78
+ | `ichimoku(symbol, timeframe)` | Ichimoku cloud analysis | $0.005 |
79
+ | `cashflow(mode, symbol)` | Capital flow data | $0.005 |
80
+ | `coin_info(symbol)` | Stats, price, tags, CMC AI + auto DEX data | $0.025–$0.03 |
81
+ | `dexscreener(contract)` | DEX trading data | $0.005 |
82
+ | `chain_tokens(chain, max_mcap)` | Low-cap tokens on a specific chain | $0.005 |
83
+ | `portfolio` | Abu's curated model portfolio — investment reference | $0.005 |
84
+ | `ask_ai(question)` | AI analyst freeform answer | $0.01 |
85
+ | `indicator_guide(name)` | Reference guide for Asrai-specific indicators | FREE |
86
+
76
87
 
77
88
  ## Output rules
78
89
 
package/src/server.js CHANGED
@@ -39,10 +39,9 @@ async function handleTool(name, args) {
39
39
  const tf = args?.timeframe ?? "1D";
40
40
 
41
41
  try {
42
+ // Tools with special argument handling
42
43
  switch (name) {
43
- case "market_overview": return await tools.market_overview();
44
44
  case "technical_analysis": return await tools.technical_analysis(sym, tf);
45
- case "sentiment": return await tools.sentiment();
46
45
  case "forecast": return await tools.forecast(sym);
47
46
  case "screener": return await tools.screener(args?.screener_type ?? "");
48
47
  case "smart_money": return await tools.smart_money(sym, tf);
@@ -53,11 +52,13 @@ async function handleTool(name, args) {
53
52
  case "dexscreener": return await tools.dexscreener(args?.contract_address ?? "", args?.chain ?? "");
54
53
  case "chain_tokens": return await tools.chain_tokens(args?.chain ?? "", args?.max_mcap ?? "");
55
54
  case "portfolio": return await tools.portfolio(sym);
56
- case "channel_summary": return await tools.channel_summary();
57
55
  case "ask_ai": return await tools.ask_ai(args?.question ?? "");
58
56
  case "indicator_guide": return indicator_guide(args?.indicator ?? "");
59
- default: return JSON.stringify({ error: `Unknown tool: ${name}` });
60
57
  }
58
+ // Dynamic dispatch for no-arg tools (market_overview, trending, sentiment, etc.)
59
+ // New tools added to tool-endpoints.js are picked up automatically here.
60
+ if (typeof tools[name] === "function") return await tools[name]();
61
+ return JSON.stringify({ error: `Unknown tool: ${name}` });
61
62
  } catch (err) {
62
63
  if (err.name === "TimeoutError" || err.message?.includes("timed out")) {
63
64
  return JSON.stringify({ error: "Request timed out. The API is slow right now — try again in a moment." });
package/src/tools.js CHANGED
@@ -90,9 +90,11 @@ async function _gather(...paths) {
90
90
  // ── Shared handlers (from tool-endpoints.js) ──────────────────────────────────
91
91
 
92
92
  export const {
93
- market_overview, technical_analysis, sentiment, forecast, screener,
93
+ market_overview, trending, gainers_losers, top_bottom, volume_spikes,
94
+ high_volume_low_cap, ath_tracker, dominance, macro, sentiment,
95
+ late_unlocked_coins, trade_signals, technical_analysis, forecast, screener,
94
96
  smart_money, elliott_wave, ichimoku, cashflow, coin_info,
95
- dexscreener, chain_tokens, portfolio, channel_summary,
97
+ dexscreener, chain_tokens, portfolio,
96
98
  } = createHandlers(_get, _gather);
97
99
 
98
100
  // ── x402-only tools ───────────────────────────────────────────────────────────