asrai-mcp 1.0.3 → 1.1.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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +11 -8
- package/skill/references/endpoints.md +4 -2
- package/src/indicator_guide.js +29 -0
- package/src/tool-endpoints.js +8 -2
- package/src/tools-definitions.js +9 -5
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ Each API call costs **$0.005 USDC** from your wallet on Base mainnet. Make sure
|
|
|
66
66
|
| `macro` | S&P 500 & Nasdaq signals — global market context | $0.01 |
|
|
67
67
|
| `sentiment` | CBBI, CMC sentiment, AI insights, channel news, Galaxy Score, social dominance | $0.03 |
|
|
68
68
|
| `late_unlocked_coins` | Post-vesting coins with low remaining selling pressure | $0.005 |
|
|
69
|
-
| `trade_signals` | Trade setups: trending movers, bounces, SAR & MACD entries | $0.
|
|
69
|
+
| `trade_signals` | Trade setups: trending movers, bounces, SAR & MACD entries, RSI, Galaxy Score, today's indicator signals | $0.04 |
|
|
70
70
|
| `technical_analysis(symbol, timeframe)` | Signals, ALSAT, SuperALSAT, PSAR, MACD-DEMA, AlphaTrend, TD, SMC, S/R, Elliott Wave, Ichimoku | $0.06 |
|
|
71
71
|
| `forecast(symbol)` | AI 3-7 day price prediction | $0.005 |
|
|
72
72
|
| `screener(type)` | Find coins by criteria (ichimoku-trend, rsi, vwap, volume, bounce-dip...) | $0.005 |
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -69,7 +69,7 @@ Requires `ASRAI_PRIVATE_KEY` set in `~/.env` or environment. Payment is signed a
|
|
|
69
69
|
| `macro` | S&P 500 & Nasdaq signals — global market context | $0.01 |
|
|
70
70
|
| `sentiment` | CBBI, CMC sentiment, AI insights, channel news, Galaxy Score, social dominance | $0.03 |
|
|
71
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.
|
|
72
|
+
| `trade_signals` | Trade setups: trending movers, bounces, SAR & MACD entries, RSI, Galaxy Score, today's indicator signals | $0.04 (8 calls) |
|
|
73
73
|
| `technical_analysis(symbol, timeframe)` | Signals, ALSAT, SuperALSAT, PSAR, MACD-DEMA, AlphaTrend, TD, SMC, S/R, Elliott Wave, Ichimoku | $0.06 |
|
|
74
74
|
| `forecast(symbol)` | AI 3-7 day price prediction | $0.005 |
|
|
75
75
|
| `screener(type)` | Find coins by criteria (ichimoku-trend, rsi, vwap, volume, bounce-dip...) | $0.005 |
|
|
@@ -85,14 +85,17 @@ Requires `ASRAI_PRIVATE_KEY` set in `~/.env` or environment. Payment is signed a
|
|
|
85
85
|
| `indicator_guide(name)` | Reference guide for Asrai-specific indicators | FREE |
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
🎨 Output Style — Human-Friendly Format
|
|
89
89
|
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
-
|
|
90
|
+
Non-negotiables
|
|
91
|
+
|
|
92
|
+
• Use emoji section headers (🌡️ 🚀 📊 😬 ✅)
|
|
93
|
+
• Keep it easy to scan: short lines + whitespace
|
|
94
|
+
• Do not mention tools/endpoints in user-facing output
|
|
95
|
+
• Avoid low-liquidity noise: prefer repeated appearance across lists, meaningful volume, and/or clear catalyst
|
|
96
|
+
• Write like an experienced trader explaining to a friend — conversational, confident, direct
|
|
97
|
+
• Think like both a trader AND a long-term investor. Default to investor mode. Switch to trader mode only when user asks for entries
|
|
98
|
+
• End with 1 clear action bias: accumulate / wait / avoid — and why
|
|
96
99
|
|
|
97
100
|
## Cost
|
|
98
101
|
|
|
@@ -49,8 +49,10 @@ x402 automatic — $0.005 USDC per endpoint on Base mainnet ($0.01 for `/ai`)
|
|
|
49
49
|
- `GET /api/galaxyscore/`
|
|
50
50
|
- `GET /api/socialdominance/`
|
|
51
51
|
- `GET /api/late-unlocked-coins/`
|
|
52
|
-
- `GET /api/rsi/`
|
|
53
|
-
- `GET /api/ao/`
|
|
52
|
+
- `GET /api/rsi/`
|
|
53
|
+
- `GET /api/ao/`
|
|
54
|
+
- `GET /api/rsi-heatmap/`
|
|
55
|
+
- `GET /api/indicator/today` — today's triggered ALSAT & indicator signals (TD9, AlphaTrend, etc.) — today's triggered ALSAT & indicator signals (TD9, AlphaTrend, etc.)
|
|
54
56
|
|
|
55
57
|
### Coin Info
|
|
56
58
|
- `GET /api/coinstats/<symbol>` — market cap, volume, supply
|
package/src/indicator_guide.js
CHANGED
|
@@ -366,6 +366,34 @@ const GUIDE = {
|
|
|
366
366
|
"BULLISH + confidence > 70% + ALSAT BUY = high-conviction long setup.",
|
|
367
367
|
},
|
|
368
368
|
|
|
369
|
+
Indicator_Today: {
|
|
370
|
+
what_it_is:
|
|
371
|
+
"Today's triggered BUY/SELL signals from Asrai's signal tracking system. " +
|
|
372
|
+
"Two categories: alsat_signals (ALSAT cycle top/bottom signals) and indicator_signals " +
|
|
373
|
+
"(individual indicator signals: TD9, AlphaTrend, and others). " +
|
|
374
|
+
"Accessed via screener('indicator-today'). Shows only signals that fired today.",
|
|
375
|
+
key_fields: {
|
|
376
|
+
"alsat_signals[].symbol": "Coin that triggered an ALSAT BUY or SELL today",
|
|
377
|
+
"alsat_signals[].signal": "BUY | SELL",
|
|
378
|
+
"alsat_signals[].interval": "Timeframe the signal fired on (e.g. 1D, 4H)",
|
|
379
|
+
"alsat_signals[].price": "Price at the time the signal fired",
|
|
380
|
+
"alsat_signals[].time": "Exact timestamp the signal was recorded",
|
|
381
|
+
"indicator_signals[].symbol": "Coin that triggered an indicator signal today",
|
|
382
|
+
"indicator_signals[].indicator": "Which indicator fired: TD9 | AlphaTrend | etc.",
|
|
383
|
+
"indicator_signals[].signal": "BUY | SELL",
|
|
384
|
+
"indicator_signals[].interval": "Timeframe (1D, 4H, 1W)",
|
|
385
|
+
"indicator_signals[].price": "Price when signal fired",
|
|
386
|
+
"indicator_signals[].time": "Exact timestamp",
|
|
387
|
+
},
|
|
388
|
+
how_to_interpret:
|
|
389
|
+
"alsat_signals BUY = ALSAT cycle bottom detected today — strong reversal candidate. " +
|
|
390
|
+
"alsat_signals SELL = ALSAT cycle top detected today — consider taking profit or shorting. " +
|
|
391
|
+
"indicator_signals TD9 BUY = Tom DeMark exhaustion bottom today — high-probability bounce. " +
|
|
392
|
+
"indicator_signals AlphaTrend BUY = trend just flipped bullish on this timeframe. " +
|
|
393
|
+
"Multiple signals on the same coin (ALSAT + TD9 + AlphaTrend) = highest conviction setup. " +
|
|
394
|
+
"Empty alsat_signals or indicator_signals = no signals fired today on that table — normal.",
|
|
395
|
+
},
|
|
396
|
+
|
|
369
397
|
Market_Indicators: {
|
|
370
398
|
what_it_is: "Reference for indicators returned by market_overview, sentiment, and screener tools.",
|
|
371
399
|
indicators: {
|
|
@@ -431,6 +459,7 @@ const SUMMARY = {
|
|
|
431
459
|
RSI: "Momentum 0-100. <30=oversold, >70=overbought. In ALSAT response as rsi + market_condition",
|
|
432
460
|
CBBI: "Bitcoin cycle position 0-100. <10=bottom, >90=top. From sentiment() tool",
|
|
433
461
|
Forecast: "AI 3-7 day prediction. Fields: direction, confidence (>70%=reliable), primary_target",
|
|
462
|
+
Indicator_Today: "Today's triggered signals. alsat_signals = ALSAT BUY/SELL fired today. indicator_signals = TD9/AlphaTrend/etc fired today. Access via screener('indicator-today')",
|
|
434
463
|
Market_Indicators: "trending, gainers_losers, rsi_screener, sar_coins, macd_coins, emacross, techrating, vwap, galaxyscore, bounce_dip, cmcai",
|
|
435
464
|
Support_Resistance: "Key levels. Fields: fib_0_618, ema.ema200, latest_high_pivot, trendline_breaks.current_support",
|
|
436
465
|
};
|
package/src/tool-endpoints.js
CHANGED
|
@@ -52,6 +52,9 @@ export const TRADE_SIGNALS_ENDPOINTS = [
|
|
|
52
52
|
"/api/bounce-dip/",
|
|
53
53
|
"/api/sar-coins/",
|
|
54
54
|
"/api/macd-coins/",
|
|
55
|
+
"/api/galaxyscore/",
|
|
56
|
+
"/api/rsi/",
|
|
57
|
+
"/api/indicator/today",
|
|
55
58
|
];
|
|
56
59
|
|
|
57
60
|
// ── Dynamic endpoint builders (return arrays) ─────────────────────────────────
|
|
@@ -110,7 +113,7 @@ export const SCREENER_TYPES = [
|
|
|
110
113
|
"ichimoku-trend", "sar-coins", "macd-coins", "emacross",
|
|
111
114
|
"techrating", "vwap", "volume", "highvolumelowcap",
|
|
112
115
|
"bounce-dip", "galaxyscore", "socialdominance", "late-unlocked-coins",
|
|
113
|
-
"ath", "rsi", "rsi-heatmap", "ao",
|
|
116
|
+
"ath", "rsi", "rsi-heatmap", "ao", "indicator-today",
|
|
114
117
|
];
|
|
115
118
|
|
|
116
119
|
// ── Symbol normalisation ──────────────────────────────────────────────────────
|
|
@@ -186,7 +189,10 @@ export function createHandlers(_get, _gather) {
|
|
|
186
189
|
if (!SCREENER_TYPES.includes(screener_type)) {
|
|
187
190
|
return JSON.stringify({ error: `Invalid screener. Choose from: ${SCREENER_TYPES.join(", ")}` });
|
|
188
191
|
}
|
|
189
|
-
|
|
192
|
+
const path = screener_type === "indicator-today"
|
|
193
|
+
? "/api/indicator/today"
|
|
194
|
+
: `/api/${screener_type}/`;
|
|
195
|
+
return JSON.stringify(await _get(path), null, 2);
|
|
190
196
|
},
|
|
191
197
|
|
|
192
198
|
async smart_money(symbol, timeframe = "1D") {
|
package/src/tools-definitions.js
CHANGED
|
@@ -89,9 +89,11 @@ export const TOOLS = [
|
|
|
89
89
|
{
|
|
90
90
|
name: "trade_signals",
|
|
91
91
|
description:
|
|
92
|
-
"Get actionable trade setups: trending coins, top movers, bounce/dip candidates, SAR
|
|
92
|
+
"Get actionable trade setups: trending coins, top movers, bounce/dip candidates, SAR, MACD, RSI signals, " +
|
|
93
|
+
"Galaxy Score, and today's triggered indicator & ALSAT signals from the database. " +
|
|
93
94
|
"Combines momentum context with technical entry signals to find good position-opening opportunities. " +
|
|
94
|
-
"Use for: 'coins with good entry points', 'trade opportunity', 'coins with buy signals', 'trade setups'
|
|
95
|
+
"Use for: 'coins with good entry points', 'trade opportunity', 'coins with buy signals', 'trade setups', " +
|
|
96
|
+
"'which coins look good today', 'what should I trade'.",
|
|
95
97
|
inputSchema: { type: "object", properties: {}, required: [] },
|
|
96
98
|
},
|
|
97
99
|
{
|
|
@@ -122,7 +124,9 @@ export const TOOLS = [
|
|
|
122
124
|
description:
|
|
123
125
|
"Run a market screener to find coins matching specific criteria. " +
|
|
124
126
|
"Types: ichimoku-trend, sar-coins, macd-coins, emacross, techrating, vwap, volume, " +
|
|
125
|
-
"highvolumelowcap, bounce-dip, galaxyscore, socialdominance, late-unlocked-coins, ath, rsi, rsi-heatmap, ao."
|
|
127
|
+
"highvolumelowcap, bounce-dip, galaxyscore, socialdominance, late-unlocked-coins, ath, rsi, rsi-heatmap, ao. " +
|
|
128
|
+
"Use indicator-today ONLY when user asks what signals fired/triggered today in the database " +
|
|
129
|
+
"(e.g. 'today\\'s ALSAT signals', 'which indicators triggered today', 'today\\'s TD9/AlphaTrend signals').",
|
|
126
130
|
inputSchema: {
|
|
127
131
|
type: "object",
|
|
128
132
|
properties: {
|
|
@@ -132,7 +136,7 @@ export const TOOLS = [
|
|
|
132
136
|
"ichimoku-trend", "sar-coins", "macd-coins", "emacross",
|
|
133
137
|
"techrating", "vwap", "volume", "highvolumelowcap",
|
|
134
138
|
"bounce-dip", "galaxyscore", "socialdominance", "late-unlocked-coins",
|
|
135
|
-
"ath", "rsi", "rsi-heatmap", "ao",
|
|
139
|
+
"ath", "rsi", "rsi-heatmap", "ao", "indicator-today",
|
|
136
140
|
],
|
|
137
141
|
description: "Type of screener to run",
|
|
138
142
|
},
|
|
@@ -252,7 +256,7 @@ export const TOOLS = [
|
|
|
252
256
|
description:
|
|
253
257
|
"Reference guide for Asrai-specific indicators. FREE — no payment required. " +
|
|
254
258
|
"WHEN TO CALL: only when you encounter an unfamiliar indicator name in tool output " +
|
|
255
|
-
"(e.g. ALSAT, SuperALSAT, AlphaTrend, PMax, MavilimW). " +
|
|
259
|
+
"(e.g. ALSAT, SuperALSAT, AlphaTrend, PMax, MavilimW, Indicator_Today). " +
|
|
256
260
|
"Standard indicators (RSI, MACD, Ichimoku, Elliott Wave, BB) are well-known — skip them. " +
|
|
257
261
|
"indicator='' or 'list' → compact 1-line summary of all. " +
|
|
258
262
|
"indicator='ALSAT' → full detail. indicator='all' → everything (avoid unless needed).",
|