bykaranteli-mcp 0.34.2 → 0.34.3

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,15 @@
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.3] - 2026-10-08
6
+
7
+ 67 tools.
8
+
9
+ ### Fixed
10
+
11
+ - `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).
12
+ - `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.
13
+
5
14
  ## [0.34.2] - 2026-10-08
6
15
 
7
16
  67 tools.
@@ -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.3",
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": {