bykaranteli-mcp 0.16.0 → 0.17.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 CHANGED
@@ -77,6 +77,7 @@ Requires Node.js 18 or newer.
77
77
  | `get_hl_whales` | "Are Hyperliquid whales net long BTC? What did the biggest accounts just flip?" |
78
78
  | `get_positioning` | "BTC long/short ratio on Binance? Are top traders net short ETH? CVD today?" |
79
79
  | `get_coverage` | "Which exchanges are behind your liquidation totals? How fresh is the data?" |
80
+ | `get_orderbook_depth` | "Where is the biggest BTC bid wall? How deep is ETH within 2% on Coinbase vs Binance?" |
80
81
  | `get_cycle_indicators` | "Has the Pi Cycle crossed? Mayer Multiple and Puell today?" |
81
82
  | `get_altseason` | "Is it altseason?", "What is the altcoin season index?" |
82
83
  | `get_metric_context` | "Is today's funding extreme historically?", "Where does this reading sit in its distribution?" |
package/dist/tools.js CHANGED
@@ -885,4 +885,27 @@ export function registerByKaranteliTools(server, options) {
885
885
  return fail(err);
886
886
  }
887
887
  });
888
+ server.registerTool("get_orderbook_depth", {
889
+ title: "Spot order book depth: walls and 2% depth across Binance, Coinbase, Kraken, Bybit, OKX",
890
+ description: "Call this when the user asks where the bid or ask walls are, how deep the spot order book is, whether buyers or sellers have more resting orders near price, or for an order book heatmap. Returns the five venues' books binned into 0.1% buckets within 5% of mid (USD notional), the largest walls with venue split, 2% depth and book reach per venue, and optionally the summed 5-minute history; coins: BTC, ETH, SOL, XRP, DOGE, ADA, LINK, AVAX, LTC, BNB.",
891
+ inputSchema: {
892
+ symbol: z.string().trim().toUpperCase().regex(/^[A-Z0-9]{2,12}$/).optional().describe("One coin, e.g. BTC (default BTC)"),
893
+ hours: z.number().int().min(1).max(24).optional().describe("Include the summed 5-minute history for this many hours"),
894
+ },
895
+ annotations: READ_ONLY,
896
+ }, async ({ symbol, hours }) => {
897
+ try {
898
+ const params = new URLSearchParams();
899
+ if (symbol)
900
+ params.set("symbol", symbol);
901
+ if (hours)
902
+ params.set("hours", String(hours));
903
+ const qs = params.toString();
904
+ const path = `/api/public/orderbook${qs ? `?${qs}` : ""}`;
905
+ return ok(withProvenance(await fetchJson(path), path));
906
+ }
907
+ catch (err) {
908
+ return fail(err);
909
+ }
910
+ });
888
911
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bykaranteli-mcp",
3
- "version": "0.16.0",
3
+ "version": "0.17.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": {