bykaranteli-mcp 0.3.1 → 0.5.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 +6 -0
- package/dist/tools.js +78 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -47,6 +47,12 @@ Requires Node.js 18 or newer.
|
|
|
47
47
|
| `get_strategy_leaderboard` | "Which strategies are performing best?" |
|
|
48
48
|
| `get_liquidations` | "How much was liquidated today?", "Did longs or shorts get flushed this week?" |
|
|
49
49
|
| `get_etf_flows` | "Did the Bitcoin ETFs buy or sell yesterday?", "Cumulative ETH ETF inflow?" |
|
|
50
|
+
| `get_cot_positioning` | "Are hedge funds long or short Bitcoin?", "What did the COT report show?" |
|
|
51
|
+
| `get_options_snapshot` | "Where are the BTC option walls?", "What is DVOL / the zero-gamma level?" |
|
|
52
|
+
| `get_coinbase_premium` | "Are US investors buying Bitcoin?", "What does the basis trade pay?" |
|
|
53
|
+
| `get_flow_toxicity` | "Is toxic order flow building?", "What is BTC's VPIN right now?" |
|
|
54
|
+
| `get_options_flow` | "What are the big options players buying?", "Any block trades today?" |
|
|
55
|
+
| `get_slippage` | "How much slippage on a $1M market order?", "Which book is thinnest?" |
|
|
50
56
|
|
|
51
57
|
All responses are JSON and carry a `generatedAt` timestamp plus a `source` URL to the human-readable page. Symbols accept both `BTCUSDT` and bare `BTC`.
|
|
52
58
|
|
package/dist/tools.js
CHANGED
|
@@ -319,4 +319,82 @@ export function registerByKaranteliTools(server, options) {
|
|
|
319
319
|
return fail(err);
|
|
320
320
|
}
|
|
321
321
|
});
|
|
322
|
+
server.registerTool("get_cot_positioning", {
|
|
323
|
+
title: "CME futures positioning (weekly COT report, BTC + ETH)",
|
|
324
|
+
description: "Call this when the user asks how hedge funds or institutions are positioned in Bitcoin or Ethereum, or about the CFTC Commitments of Traders report. Returns net positions in contracts, week-over-week changes, open interest and notable extremes/streaks, from official CFTC data updated every Friday. Note: a large share of hedge fund shorts is the market-neutral basis trade, so the weekly change carries more signal than the level.",
|
|
325
|
+
inputSchema: {},
|
|
326
|
+
annotations: READ_ONLY,
|
|
327
|
+
}, async () => {
|
|
328
|
+
try {
|
|
329
|
+
return ok(await fetchJson("/api/public/cot"));
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
return fail(err);
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
server.registerTool("get_options_snapshot", {
|
|
336
|
+
title: "Options walls, gamma exposure and DVOL (BTC + ETH)",
|
|
337
|
+
description: "Call this when the user asks where the big options bets sit, about call/put walls, gamma exposure (GEX), the zero-gamma level, implied volatility (DVOL) or the IV term structure for Bitcoin or Ethereum. Daily snapshot of listed crypto options: top strikes by open interest, put/call ratio, dealer hedging map and ATM IV by expiry.",
|
|
338
|
+
inputSchema: {},
|
|
339
|
+
annotations: READ_ONLY,
|
|
340
|
+
}, async () => {
|
|
341
|
+
try {
|
|
342
|
+
return ok(await fetchJson("/api/public/options"));
|
|
343
|
+
}
|
|
344
|
+
catch (err) {
|
|
345
|
+
return fail(err);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
server.registerTool("get_coinbase_premium", {
|
|
349
|
+
title: "Coinbase Premium (US demand gauge) + carry yield",
|
|
350
|
+
description: "Call this when the user asks whether US investors are buying or selling Bitcoin or Ethereum, about the Coinbase Premium, or what the cash-and-carry basis trade pays. Returns the latest daily premium in percent, 7-day average, same-sign streak, the last 30 days, and annualized quarterly carry yields. History since 2017; positive premium = US buying pressure.",
|
|
351
|
+
inputSchema: {},
|
|
352
|
+
annotations: READ_ONLY,
|
|
353
|
+
}, async () => {
|
|
354
|
+
try {
|
|
355
|
+
return ok(await fetchJson("/api/public/premium"));
|
|
356
|
+
}
|
|
357
|
+
catch (err) {
|
|
358
|
+
return fail(err);
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
server.registerTool("get_flow_toxicity", {
|
|
362
|
+
title: "Order-flow toxicity (VPIN) for BTC, ETH, SOL perps",
|
|
363
|
+
description: "Call this when the user asks whether informed or toxic order flow is building, about VPIN, or whether market makers are under pressure in Bitcoin, Ethereum or Solana. Returns the current VPIN (0 = balanced, 1 = fully one-sided), its 90-day percentile, the danger threshold and the 24h average. Elevated readings historically precede volatility; VPIN says nothing about direction.",
|
|
364
|
+
inputSchema: {},
|
|
365
|
+
annotations: READ_ONLY,
|
|
366
|
+
}, async () => {
|
|
367
|
+
try {
|
|
368
|
+
return ok(await fetchJson("/api/public/flow"));
|
|
369
|
+
}
|
|
370
|
+
catch (err) {
|
|
371
|
+
return fail(err);
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
server.registerTool("get_options_flow", {
|
|
375
|
+
title: "Options tape: biggest prints and premium flow (BTC + ETH)",
|
|
376
|
+
description: "Call this when the user asks what big options players are buying, about block trades, or whether call or put premium dominates today. Returns 24h call vs put premium bought, the block-trade share, and the largest prints of the last 48 hours with strikes, premium and IV. Updated every 15 minutes.",
|
|
377
|
+
inputSchema: {},
|
|
378
|
+
annotations: READ_ONLY,
|
|
379
|
+
}, async () => {
|
|
380
|
+
try {
|
|
381
|
+
return ok(await fetchJson("/api/public/options-flow"));
|
|
382
|
+
}
|
|
383
|
+
catch (err) {
|
|
384
|
+
return fail(err);
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
server.registerTool("get_slippage", {
|
|
388
|
+
title: "Live execution cost: what a market order really costs",
|
|
389
|
+
description: "Call this when the user asks how much slippage a trade of a given size would face, how thick the books are, or which major perp market is thinnest right now. Returns live cost ladders in basis points for $10K to $5M market orders across 8 major perpetuals, both sides, from the full visible order book. Excludes fees; null = the book cannot absorb that size.",
|
|
390
|
+
inputSchema: {},
|
|
391
|
+
annotations: READ_ONLY,
|
|
392
|
+
}, async () => {
|
|
393
|
+
try {
|
|
394
|
+
return ok(await fetchJson("/api/public/slippage"));
|
|
395
|
+
}
|
|
396
|
+
catch (err) {
|
|
397
|
+
return fail(err);
|
|
398
|
+
}
|
|
399
|
+
});
|
|
322
400
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bykaranteli-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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": {
|
|
@@ -64,4 +64,4 @@
|
|
|
64
64
|
"default": "./dist/tools.js"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
}
|
|
67
|
+
}
|