bykaranteli-mcp 0.34.2 → 0.34.4

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/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  Notable changes to the `bykaranteli-mcp` package. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Dates are UTC and come from the git tag of each release (the version commit where no tag exists). The tool count is the number of tools the server registers in that release.
4
4
 
5
+ ## [0.34.4] - 2026-10-09
6
+
7
+ 67 tools. README only; the server code is the same as 0.34.3.
8
+
9
+ ### Changed
10
+
11
+ - README plan table and x402 paragraph follow the 2026-10-09 plan ladder: Builder includes 1,000 x402 catalog calls a month over the last 90 days at up to 5,000 rows a call, with raw record routes paid per call; Business 10,000 a month over the last 365 days with raw records; Scale has no monthly ceiling and reads the whole archive. A call past the ceiling, before the window or on a raw record route below Business answers with the way to pay per call (a prepaid key in `x-api-key`, or a wallet without the account key) or to move up a plan.
12
+ - README bulk exports line names its window: Business the last 365 days, Scale the whole archive (Scale listed "daily raw" exports, which the plan never carried).
13
+
14
+ ## [0.34.3] - 2026-10-08
15
+
16
+ 67 tools.
17
+
18
+ ### Fixed
19
+
20
+ - `chart_url` of `get_liquidations` and `get_etf_flows` opens the symbol or asset the call filtered on (the dataset path carried no filter, so every link opened BTCUSDT).
21
+ - `chart_url` of `get_options_snapshot` with a venue sets the options levels' own key (`lvv`), not the OI and funding panes' venue (`v`), so the chart draws the same venue's levels the answer reports.
22
+
5
23
  ## [0.34.2] - 2026-10-08
6
24
 
7
25
  67 tools.
package/README.md CHANGED
@@ -179,9 +179,9 @@ Server: MIT. Data: personal and research use with attribution "ByKaranteli (byka
179
179
  |---|---|---|---|
180
180
  | Free API | 30 / min | 15,000 | public pages |
181
181
  | Terminal | 60 / min | 150,000 | public pages |
182
- | Builder | 300 / min | 1,000,000 fair use | member depth, x402 catalog included, each call counts as 10 requests of the monthly fair use |
183
- | Business | 1,200 / min | 3,000,000 fair use | member depth, commercial licence, x402 catalog included, each call counts as 10 requests of the monthly fair use, monthly bulk |
184
- | Scale | 3,000 / min | 10,000,000 fair use | member depth, derived redistribution, x402 catalog included, each call counts as 10 requests of the monthly fair use, daily raw |
182
+ | Builder | 300 / min | 1,000,000 fair use | member depth, x402 catalog: 1,000 calls a month included over the last 90 days at up to 5,000 rows a call, summary series only, raw record routes paid per call |
183
+ | Business | 1,200 / min | 3,000,000 fair use | member depth, commercial licence, x402 catalog: 10,000 calls a month included over the last 365 days with raw records, monthly bulk exports over the same window |
184
+ | Scale | 3,000 / min | 10,000,000 fair use | member depth, derived redistribution, x402 catalog with no monthly ceiling over the whole archive with raw records, monthly bulk exports over the whole archive |
185
185
 
186
186
  Prices: https://bykaranteli.com/pricing
187
187
 
@@ -195,4 +195,7 @@ raw records beyond the live snapshots, bykaranteli.com also exposes pay-per-call
195
195
  x402 endpoints for anonymous agents (USDC on Solana or Base, priced per call,
196
196
  no account): <https://bykaranteli.com/developers#x402> · machine catalog:
197
197
  <https://bykaranteli.com/api/x402>. Builder, Business and Scale keys call those
198
- routes unpaid; each call counts as 10 requests of the monthly fair use.
198
+ routes unpaid within the plan's catalog allowance (table above); each included
199
+ call also counts as 10 requests of the monthly fair use. A call the plan does not
200
+ include answers `x402_allowance_used`, `history_window` or `raw_tier_required`:
201
+ pay it with a prepaid key in `x-api-key`, or without the account key from a wallet.
@@ -63,12 +63,13 @@ function chartSymbol(q) {
63
63
  return "BTCUSDT";
64
64
  return /USDT$|USD$|PERP$/.test(raw) ? raw : `${raw}USDT`;
65
65
  }
66
- /** The venue and the window of the request as chart keys (empty when the request names neither). */
67
- function chartExtras(q, periodMs) {
66
+ /** The venue and the window of the request as chart keys (empty when the request names neither). `venueKey` is the
67
+ * chart key the venue belongs to: v for the OI and funding panes, lvv for the options levels (2026-10-08). */
68
+ function chartExtras(q, periodMs, venueKey = "v") {
68
69
  let out = "";
69
70
  const venue = (q.get("venue") ?? "").toLowerCase().replace(/[^a-z0-9]/g, "");
70
- if (venue && venue !== "binance" && venue !== "all")
71
- out += `&v=${venue}`;
71
+ if (venue && venue !== "all" && (venueKey === "lvv" || venue !== "binance"))
72
+ out += `&${venueKey}=${venue}`;
72
73
  const toRaw = q.get("to");
73
74
  const fromRaw = q.get("from");
74
75
  const to = toRaw ? Date.parse(toRaw) : NaN;
@@ -95,7 +96,7 @@ export function chartUrlForApiPath(path) {
95
96
  return `${CHART_BASE}?s=${s}&panes=liquidations,oi&heat=1&pr=1&rv=1${x}`;
96
97
  }
97
98
  if (clean.startsWith("/api/public/options"))
98
- return `${CHART_BASE}?s=${s}&panes=oi&lv=1&heat=1&pr=0${x}`;
99
+ return `${CHART_BASE}?s=${s}&panes=oi&lv=1&heat=1&pr=0${chartExtras(q, 0, "lvv")}`;
99
100
  if (clean.startsWith("/api/public/funding") || clean.startsWith("/api/public/heatmap"))
100
101
  return `${CHART_BASE}?s=${s}&panes=funding,oi&heat=1&pr=0${x}`;
101
102
  if (clean.startsWith("/api/public/oi"))
package/dist/tools.js CHANGED
@@ -234,7 +234,7 @@ export function registerByKaranteliTools(server, options) {
234
234
  ? `rows is capped at ${MAX_ROWS} of ${filtered.length} matching rows (largest first). Use summary.totals and summary.by_date for complete figures, or pass a symbol filter. ` + baseNote
235
235
  : baseNote,
236
236
  source: `${PUBLIC_URL}/liquidations`,
237
- provenance: provenanceFor(d, "/api/v1/public/datasets/liquidations-daily.json", "/liquidations"),
237
+ provenance: provenanceFor(d, `/api/v1/public/datasets/liquidations-daily.json${wantSymbol ? `?symbol=${wantSymbol}` : ""}`, "/liquidations"),
238
238
  });
239
239
  }
240
240
  catch (err) {
@@ -273,7 +273,7 @@ export function registerByKaranteliTools(server, options) {
273
273
  truncated: dates.length < new Set(filtered.map((r) => String(r.date))).size,
274
274
  note: "Finalized US trading days only; a positive net_inflow_usd means the funds bought more of the asset than they sold that day. window_net_inflow_usd sums the returned window per asset.",
275
275
  source: `${PUBLIC_URL}/etf`,
276
- provenance: provenanceFor(d, "/api/v1/public/datasets/etf-flows.json", "/etf"),
276
+ provenance: provenanceFor(d, `/api/v1/public/datasets/etf-flows.json${asset ? `?asset=${asset}` : ""}`, "/etf"),
277
277
  });
278
278
  }
279
279
  catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bykaranteli-mcp",
3
- "version": "0.34.2",
3
+ "version": "0.34.4",
4
4
  "description": "MCP server for live crypto derivatives data from bykaranteli.com: funding rates, funding arbitrage, open interest pressure, liquidations, options, ETF flows, Fear & Greed and BTC dominance. 67 read-only and account tools (the alert and watchlist tools act on your own account), free account key, paid depth via plans or x402.",
5
5
  "type": "module",
6
6
  "bin": {