bykaranteli-mcp 1.1.0 → 1.1.2

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,22 @@
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
+ ## [1.1.2] - 2026-11-09
6
+
7
+ 68 tools. Text only, no behaviour change.
8
+
9
+ ### Added
10
+
11
+ - The server now sends `instructions` in its `initialize` answer: one paragraph a client model reads before its first call. It says that every market-data tool is read-only and the account tools that write are marked, that a free key is for evaluation and personal scripts while a bot, a dashboard or a polling agent that runs continuously takes a plan, that a tool is called no more often than its data refreshes, and that a 429 answer carries `retry-after`. The hosted endpoint has sent the same paragraph since 7 Nov 2026; the release check compares the two.
12
+
13
+ ## [1.1.1] - 2026-11-03
14
+
15
+ 68 tools. Text only, no behaviour change.
16
+
17
+ ### Changed
18
+
19
+ - `get_liqmap`: the description and the `symbol` parameter now name the stock and commodity perps the map covers (XAU gold, XAG silver, CL WTI crude, BZ Brent, NATGAS, COPPER, XPT platinum, XPD palladium, stocks by ticker), so an assistant asked for the gold or oil liquidation map picks the tool and the right contract code.
20
+
5
21
  ## [1.1.0] - 2026-10-24
6
22
 
7
23
  68 tools.
package/README.md CHANGED
@@ -117,7 +117,7 @@ Requires Node.js 20 or newer (1.0.0; the 0.x releases ran on 18). The server spe
117
117
  | `get_altseason` | "Is it altseason?", "What is the altcoin season index?" |
118
118
  | `get_metric_context` | "Is today's funding extreme historically?", "Where does this reading sit in its distribution?" |
119
119
  | `get_quantum_exposure` | "How much Bitcoin is quantum-vulnerable?", "What is the P2PK exposure?" |
120
- | `get_liqmap` | "Where are the BTC liquidation clusters?", "Where would leveraged longs get liquidated?" |
120
+ | `get_liqmap` | "Where are the BTC liquidation clusters?", "Where would leveraged longs get liquidated?", "Where are the gold (XAU) or crude oil (CL) liquidation clusters?" |
121
121
  | `get_market_profile` | "Where is the BTC point of control today?", "What was yesterday's value area?", "Which naked POCs are still untested?" |
122
122
  | `get_options_chain` | "How did BTC open interest move by strike today?", "Where is ETH ATM IV hour by hour?", "Which expiry gained the most open interest in 24h?" |
123
123
  | `get_hl_positions` | "Where do Hyperliquid whales get liquidated on BTC?", "How much tracked notional sits below price?", "Does the model agree with the tracked positions?" |
package/dist/index.js CHANGED
@@ -24,8 +24,13 @@ const MAX_TOOL_INPUT_ELEMENTS = 2_000;
24
24
  * 0.x releases served it; a client that opens with a 2026-07-28 per-request envelope (`server/discover` is the
25
25
  * modern probe) is served on that revision, with the same tools. The factory is called once per connection, plus
26
26
  * once for a discarded probe instance, so it registers the tools afresh each time. */
27
+ /* initialize.instructions (1.1.2, owner rule 2026-11-07): the one paragraph a client model reads before its first call,
28
+ * the same text the hosted endpoint sends (web/src/lib/mcp-hosted.ts HOSTED_INSTRUCTIONS; ops/mcp-release-check.py
29
+ * compares the two). Advice a well-behaved agent follows and relays to its user, never enforcement: the plan's rate
30
+ * and monthly figures refuse on the server, and a client's provider does not police our terms. */
31
+ const INSTRUCTIONS = "ByKaranteli serves recorded crypto derivatives market data (liquidations, funding, open interest, options, ETF flows, positioning, order flow); every market-data tool is read-only, and the account tools that change alerts or the watchlist are marked as writes. A free key is for evaluation and personal scripts; a bot, a dashboard or a polling agent that runs continuously takes a plan (Terminal, Builder or Business by use). Call a tool no more often than its data refreshes (the daily brief once a day). A 429 answer carries retry-after: wait that long before calling again instead of retrying.";
27
32
  function buildServer() {
28
- const server = new McpServer({ name: "bykaranteli", version: VERSION }, { maxToolInputElements: MAX_TOOL_INPUT_ELEMENTS });
33
+ const server = new McpServer({ name: "bykaranteli", version: VERSION }, { maxToolInputElements: MAX_TOOL_INPUT_ELEMENTS, instructions: INSTRUCTIONS });
29
34
  registerByKaranteliTools(server, { version: VERSION });
30
35
  return server;
31
36
  }
package/dist/tools.js CHANGED
@@ -1262,7 +1262,7 @@ export function registerByKaranteliTools(target, options) {
1262
1262
  });
1263
1263
  server.registerTool("get_liqmap", {
1264
1264
  title: "LiqMap: estimated liquidation clusters with real prints overlaid",
1265
- description: "Call this when the user asks where liquidation clusters or liquidity pools sit for a perpetual, where leveraged longs/shorts would get liquidated, or for a liquidation heatmap reading. Returns the LiqMap snapshot for one symbol: modeled liquidation levels by price, zone aggregates and real liquidation prints from every liquidation venue ByKaranteli counts (listed on bykaranteli.com/coverage). On the Free plan the 24h view; on Builder and higher plans every timeframe from 1h to 30d. By default the 30 real levels nearest the price and the 30 largest real prints; pass detail \"full\" for all of them. Pass detail \"compact\" for a shorter page or \"full\" for the whole answer.",
1265
+ description: "Call this when the user asks where liquidation clusters or liquidity pools sit for a perpetual, where leveraged longs/shorts would get liquidated, or for a liquidation heatmap reading. Covers the crypto perps and the stock and commodity perps: gold is XAU, silver XAG, WTI crude oil CL, Brent BZ, natural gas NATGAS, copper COPPER, platinum XPT, palladium XPD, stocks their ticker (TSLA, NVDA). Returns the LiqMap snapshot for one symbol: modeled liquidation levels by price, zone aggregates and real liquidation prints from every liquidation venue ByKaranteli counts (listed on bykaranteli.com/coverage). On the Free plan the 24h view; on Builder and higher plans every timeframe from 1h to 30d. By default the 30 real levels nearest the price and the 30 largest real prints; pass detail \"full\" for all of them. Pass detail \"compact\" for a shorter page or \"full\" for the whole answer.",
1266
1266
  inputSchema: {
1267
1267
  symbol: z
1268
1268
  .string()
@@ -1270,7 +1270,7 @@ export function registerByKaranteliTools(target, options) {
1270
1270
  .toUpperCase()
1271
1271
  .regex(/^[A-Z0-9]{2,20}$/)
1272
1272
  .optional()
1273
- .describe("Symbol like BTCUSDT (bare BTC accepted). Default BTCUSDT."),
1273
+ .describe("Symbol like BTCUSDT (bare BTC accepted). Commodity perps use the contract code: XAU gold, XAG silver, CL WTI crude, BZ Brent, NATGAS, COPPER, XPT platinum, XPD palladium; stocks their ticker (TSLA). Default BTCUSDT."),
1274
1274
  timeframe: z
1275
1275
  .enum(["1h", "4h", "12h", "24h", "3d", "1w", "30d"])
1276
1276
  .optional()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bykaranteli-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
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. 68 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": {