bykaranteli-mcp 0.12.0 → 0.14.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 +3 -0
- package/dist/tools.js +53 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -74,6 +74,9 @@ Requires Node.js 18 or newer.
|
|
|
74
74
|
| `get_network_health` | "Bitcoin hashrate, difficulty, fees, mempool right now?" |
|
|
75
75
|
| `get_tradfi_board` | "TSLA perp funding rate? Which exchanges list NVDA perps? Is the stock session open?" |
|
|
76
76
|
| `get_rsi_heatmap` | "Which coins are oversold on the daily? BTC RSI on 4h and 1w?" |
|
|
77
|
+
| `get_hl_whales` | "Are Hyperliquid whales net long BTC? What did the biggest accounts just flip?" |
|
|
78
|
+
| `get_positioning` | "BTC long/short ratio on Binance? Are top traders net short ETH? CVD today?" |
|
|
79
|
+
| `get_coverage` | "Which exchanges are behind your liquidation totals? How fresh is the data?" |
|
|
77
80
|
| `get_cycle_indicators` | "Has the Pi Cycle crossed? Mayer Multiple and Puell today?" |
|
|
78
81
|
| `get_altseason` | "Is it altseason?", "What is the altcoin season index?" |
|
|
79
82
|
| `get_metric_context` | "Is today's funding extreme historically?", "Where does this reading sit in its distribution?" |
|
package/dist/tools.js
CHANGED
|
@@ -827,4 +827,57 @@ export function registerByKaranteliTools(server, options) {
|
|
|
827
827
|
return fail(err);
|
|
828
828
|
}
|
|
829
829
|
});
|
|
830
|
+
server.registerTool("get_hl_whales", {
|
|
831
|
+
title: "Hyperliquid whale tracker: top-300 accounts, long vs short, positions, changes",
|
|
832
|
+
description: "Call this when the user asks what Hyperliquid whales are doing, whether the biggest Hyperliquid accounts are net long or short a coin, for the largest open positions with liquidation prices, or what large accounts just opened, closed or flipped. Returns the live board of the 300 largest accounts by equity (scanned every 5 minutes, addresses only) and with events the last 200 position changes.",
|
|
833
|
+
inputSchema: {
|
|
834
|
+
coin: z.string().trim().toUpperCase().regex(/^[A-Z0-9]{1,24}$/).optional().describe("One coin, e.g. BTC"),
|
|
835
|
+
events: z.boolean().optional().describe("Include the last 200 position change events"),
|
|
836
|
+
},
|
|
837
|
+
annotations: READ_ONLY,
|
|
838
|
+
}, async ({ coin, events }) => {
|
|
839
|
+
try {
|
|
840
|
+
const params = new URLSearchParams();
|
|
841
|
+
if (coin)
|
|
842
|
+
params.set("coin", coin);
|
|
843
|
+
if (events)
|
|
844
|
+
params.set("events", "1");
|
|
845
|
+
const qs = params.toString();
|
|
846
|
+
const path = `/api/public/hyperliquid-whales${qs ? `?${qs}` : ""}`;
|
|
847
|
+
return ok(withProvenance(await fetchJson(path), path));
|
|
848
|
+
}
|
|
849
|
+
catch (err) {
|
|
850
|
+
return fail(err);
|
|
851
|
+
}
|
|
852
|
+
});
|
|
853
|
+
server.registerTool("get_positioning", {
|
|
854
|
+
title: "Positioning: long/short ratios, taker buy/sell and CVD on Binance, Bybit, OKX",
|
|
855
|
+
description: "Call this when the user asks about the long/short ratio, whether retail or top traders are net long or short, the taker buy/sell ratio, or CVD (cumulative volume delta) for a perpetual. Returns exchange-published statistics for the 30 most traded Binance USDT perps (Binance global and top-trader ratios, Bybit share long, OKX ratios and taker volume) and CVD series for BTC, ETH and SOL; refreshed every 15 minutes.",
|
|
856
|
+
inputSchema: {
|
|
857
|
+
symbol: z.string().trim().toUpperCase().regex(/^[A-Z0-9]{2,24}$/).optional().describe("One Binance symbol, e.g. BTCUSDT"),
|
|
858
|
+
},
|
|
859
|
+
annotations: READ_ONLY,
|
|
860
|
+
}, async ({ symbol }) => {
|
|
861
|
+
try {
|
|
862
|
+
const path = `/api/public/positioning${symbol ? `?symbol=${encodeURIComponent(symbol)}` : ""}`;
|
|
863
|
+
return ok(withProvenance(await fetchJson(path), path));
|
|
864
|
+
}
|
|
865
|
+
catch (err) {
|
|
866
|
+
return fail(err);
|
|
867
|
+
}
|
|
868
|
+
});
|
|
869
|
+
server.registerTool("get_coverage", {
|
|
870
|
+
title: "Coverage registry: which venues and data types we collect, how, and how fresh",
|
|
871
|
+
description: "Call this when the user asks which exchanges sit behind a ByKaranteli number, whether a feed is complete or sampled, since when a venue is collected, or how fresh the data is. Returns the live coverage registry: liquidation feeds per venue with kind and last record, snapshot feeds per venue and market, funding arbitrage legs, positioning sources, whale tape, spot minutes and the Hyperliquid whale scan with freshness.",
|
|
872
|
+
inputSchema: {},
|
|
873
|
+
annotations: READ_ONLY,
|
|
874
|
+
}, async () => {
|
|
875
|
+
try {
|
|
876
|
+
const path = "/api/public/coverage";
|
|
877
|
+
return ok(withProvenance(await fetchJson(path), path));
|
|
878
|
+
}
|
|
879
|
+
catch (err) {
|
|
880
|
+
return fail(err);
|
|
881
|
+
}
|
|
882
|
+
});
|
|
830
883
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bykaranteli-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "MCP server for live crypto derivatives data from bykaranteli.com: funding rates, funding arbitrage, open interest pressure, Fear & Greed, BTC dominance and verified signal performance. Free, no API key.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|