bykaranteli-mcp 0.18.0 → 0.21.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
@@ -2,12 +2,12 @@
2
2
 
3
3
  MCP (Model Context Protocol) server for **live crypto derivatives data**: funding rates, cross-exchange funding arbitrage, open interest pressure, Fear & Greed, BTC dominance and a verified signal track record.
4
4
 
5
- 34 read-only tools over the free, no-auth public JSON API of [bykaranteli.com](https://bykaranteli.com/developers). No API key, no account, no rate-limit registration. Data covers Binance USDT-M perpetuals (funding arbitrage additionally compares OKX, Bybit, Gate, HTX, BingX, Kraken, MEXC and Bitget).
5
+ 45 read-only tools over the free, no-auth public JSON API of [bykaranteli.com](https://bykaranteli.com/developers). No API key, no account, no rate-limit registration. Data covers Binance USDT-M perpetuals (funding arbitrage additionally compares OKX, Bybit, Gate, HTX, BingX, Kraken, MEXC and Bitget).
6
6
 
7
7
  ## Hosted endpoint (no install)
8
8
 
9
9
  Paste `https://mcp.bykaranteli.com` as a custom connector in any MCP-capable
10
- assistant. Same 35 tools, nothing to install, no key.
10
+ assistant. Same 45 tools, nothing to install, no key.
11
11
 
12
12
  ## Quick start
13
13
 
@@ -65,6 +65,9 @@ Requires Node.js 18 or newer.
65
65
  | `get_theme_indices` | "Which crypto narrative is leading: AI, RWA, DePIN, memes, L2s, DeFi?" |
66
66
  | `get_factor_board` | "Which indicators sit in an unusual band today, and what followed historically?" |
67
67
  | `get_venue_markets` | "Total BTC open interest across exchanges?", "What is the DEX share of perp OI?", "Is USDT off peg anywhere?" |
68
+ | `get_leverage_tiers` | "How much leverage does Bybit allow on SOL?", "Which exchange has the highest max leverage for DOGE?", "Did any venue cut leverage on a coin this week?" |
69
+ | `get_withdrawal_status` | "Has KuCoin paused USDT withdrawals?", "Cheapest network to withdraw USDT from Gate?", "Which exchanges have withdrawals closed right now?" |
70
+ | `get_venue_profile` | "What do you record about Bybit?", "How many contracts does OKX list?", "Is HTX up, and what happened there this week?" |
68
71
  | `get_lead_lag` | "Does Coinbase or Binance move first?" |
69
72
  | `get_iv_surface` | "What is BTC implied vol by expiry?", "Is downside protection expensive (skew)?" |
70
73
  | `get_whale_tape` | "Are whales buying or selling right now?" |
@@ -113,7 +116,7 @@ MIT. Attribution appreciated: "ByKaranteli (bykaranteli.com)".
113
116
 
114
117
  ## Paid depth (optional)
115
118
 
116
- The 35 tools above are free and stay free. For recorded history and raw records
119
+ The 45 tools above are free and stay free. For recorded history and raw records
117
120
  beyond the live snapshots, bykaranteli.com also exposes pay-per-call x402
118
121
  endpoints (USDC on Solana or Base, priced per call, no account):
119
122
  <https://bykaranteli.com/developers#x402> · machine catalog:
package/dist/tools.js CHANGED
@@ -615,6 +615,63 @@ export function registerByKaranteliTools(server, options) {
615
615
  return fail(err);
616
616
  }
617
617
  });
618
+ server.registerTool("get_venue_profile", {
619
+ title: "Venue profile: everything ByKaranteli records about one exchange",
620
+ description: "Call this when the user asks about a specific exchange (Bybit, OKX, Gate, KuCoin, HTX, Bitget, MEXC, BitMEX, Hyperliquid ...): how many contracts it lists, its perp open interest and average funding, its leverage ladders, deposit and withdrawal networks and how many are paused, its base fee schedule, its status uptime and the recent event log (listings, delistings, leverage cuts, withdrawal pauses, incidents). Without venue returns the list of recorded venues.",
621
+ inputSchema: { venue: z.string().optional().describe("string, optional venue id, e.g. bybit") },
622
+ annotations: READ_ONLY,
623
+ }, async (args) => {
624
+ try {
625
+ return ok(withProvenance(await fetchJson(args.venue ? `/api/public/venues/profile?venue=${encodeURIComponent(String(args.venue).toLowerCase())}` : "/api/public/venues/profile"), args.venue ? `/api/public/venues/profile?venue=${encodeURIComponent(String(args.venue).toLowerCase())}` : "/api/public/venues/profile"));
626
+ }
627
+ catch (err) {
628
+ return fail(err);
629
+ }
630
+ });
631
+ server.registerTool("get_withdrawal_status", {
632
+ title: "Withdrawal status and network fees: which exchanges paused withdrawals, per asset and network",
633
+ description: "Call this when the user asks whether an exchange has paused withdrawals or deposits, which networks are open for an asset, what the withdrawal fee or minimum is on each venue, or which venue is cheapest to withdraw from. Without arguments returns the overview (withdrawals paused right now, ranked, plus recent suspension and resumption events). Pass asset (e.g. USDT) for every venue and network of that asset, and venue (e.g. kucoin) to narrow. Recorded daily by ByKaranteli from 20+ venues' public currency lists.",
634
+ inputSchema: {
635
+ asset: z.string().optional().describe("string, optional asset code, e.g. USDT"),
636
+ venue: z.string().optional().describe("string, optional venue id, e.g. kucoin"),
637
+ },
638
+ annotations: READ_ONLY,
639
+ }, async (args) => {
640
+ try {
641
+ const qs = new URLSearchParams();
642
+ if (args.asset)
643
+ qs.set("asset", String(args.asset).toUpperCase());
644
+ if (args.venue)
645
+ qs.set("venue", String(args.venue).toLowerCase());
646
+ const q = qs.toString();
647
+ return ok(withProvenance(await fetchJson(`/api/public/withdrawals${q ? `?${q}` : ""}`), `/api/public/withdrawals${q ? `?${q}` : ""}`));
648
+ }
649
+ catch (err) {
650
+ return fail(err);
651
+ }
652
+ });
653
+ server.registerTool("get_leverage_tiers", {
654
+ title: "Leverage tiers: max leverage and maintenance margin per perpetual on every venue",
655
+ description: "Call this when the user asks how much leverage an exchange allows on a coin, what the maintenance margin or risk limit ladder is, which venue offers the highest leverage for a symbol, or whether an exchange recently cut leverage. Returns the current ladder per venue (tier, notional floor and cap, max leverage, maintenance margin rate) recorded daily by ByKaranteli, plus a change log. Pass symbol for one base asset (e.g. SOL) and venue for one exchange (bybit, okx, gate, htx, bitget, mexc).",
656
+ inputSchema: {
657
+ symbol: z.string().optional().describe("string, optional base asset, e.g. BTC"),
658
+ venue: z.string().optional().describe("string, optional venue id, e.g. bybit"),
659
+ },
660
+ annotations: READ_ONLY,
661
+ }, async (args) => {
662
+ try {
663
+ const qs = new URLSearchParams();
664
+ if (args.symbol)
665
+ qs.set("symbol", String(args.symbol).toUpperCase());
666
+ if (args.venue)
667
+ qs.set("venue", String(args.venue).toLowerCase());
668
+ const q = qs.toString();
669
+ return ok(withProvenance(await fetchJson(`/api/public/leverage-tiers${q ? `?${q}` : ""}`), `/api/public/leverage-tiers${q ? `?${q}` : ""}`));
670
+ }
671
+ catch (err) {
672
+ return fail(err);
673
+ }
674
+ });
618
675
  server.registerTool("get_venue_markets", {
619
676
  title: "Exchange coverage: OI, volume, funding and pegs across 43 exchanges",
620
677
  description: "Call this when the user asks about total open interest across exchanges, which venues hold the most OI, DEX versus CEX share, funding dispersion between venues, or stablecoin pegs. Returns the latest 10-minute snapshot aggregates across 56 feeds on 43 exchanges; pass symbol for one coin's per-venue rows.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bykaranteli-mcp",
3
- "version": "0.18.0",
3
+ "version": "0.21.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": {