bykaranteli-mcp 0.4.0 → 0.6.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 +9 -0
- package/dist/tools.js +78 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,6 +47,15 @@ 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?" |
|
|
56
|
+
| `get_fomc_impact` | "What does BTC do on Fed days?", "When is the next FOMC meeting?" |
|
|
57
|
+
| `get_liquidation_cascades` | "What caused that flush?", "Who got liquidated this week?" |
|
|
58
|
+
| `get_open_interest` | "Is leverage entering the market?", "Are shorts building in XRP?" |
|
|
50
59
|
|
|
51
60
|
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
61
|
|
package/dist/tools.js
CHANGED
|
@@ -358,4 +358,82 @@ export function registerByKaranteliTools(server, options) {
|
|
|
358
358
|
return fail(err);
|
|
359
359
|
}
|
|
360
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
|
+
});
|
|
400
|
+
server.registerTool("get_fomc_impact", {
|
|
401
|
+
title: "Measured FOMC impact on Bitcoin",
|
|
402
|
+
description: "Call this when the user asks what Bitcoin does on Fed days, how FOMC statements move crypto, or when the next FOMC meeting is. Returns per-statement 5/30/60-minute BTC reactions measured from a minute-resolution record, the average move versus a normal half hour, the up/down split (near a coin flip), and the next meeting date. Description, not prediction.",
|
|
403
|
+
inputSchema: {},
|
|
404
|
+
annotations: READ_ONLY,
|
|
405
|
+
}, async () => {
|
|
406
|
+
try {
|
|
407
|
+
return ok(await fetchJson("/api/public/events"));
|
|
408
|
+
}
|
|
409
|
+
catch (err) {
|
|
410
|
+
return fail(err);
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
server.registerTool("get_liquidation_cascades", {
|
|
414
|
+
title: "Auto-detected liquidation cascades (forensic case file)",
|
|
415
|
+
description: "Call this when the user asks what caused a recent crash or flush, about liquidation cascades, or who got liquidated. Returns auto-detected cascade incidents: when, total notional flushed, long/short split, which coins led, and BTC's move during the window. Totals are an honestly-labeled lower bound from a real liquidation tape.",
|
|
416
|
+
inputSchema: {},
|
|
417
|
+
annotations: READ_ONLY,
|
|
418
|
+
}, async () => {
|
|
419
|
+
try {
|
|
420
|
+
return ok(await fetchJson("/api/public/incidents"));
|
|
421
|
+
}
|
|
422
|
+
catch (err) {
|
|
423
|
+
return fail(err);
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
server.registerTool("get_open_interest", {
|
|
427
|
+
title: "Intraday open interest and leverage regimes (10 major perps)",
|
|
428
|
+
description: "Call this when the user asks whether leverage is entering or leaving the market, about open interest changes, or whether longs or shorts are building in a major coin. Returns 5-minute-resolution OI with 24h OI and price deltas and a four-regime read per symbol: longs building, shorts building, long squeeze, short squeeze, or quiet.",
|
|
429
|
+
inputSchema: {},
|
|
430
|
+
annotations: READ_ONLY,
|
|
431
|
+
}, async () => {
|
|
432
|
+
try {
|
|
433
|
+
return ok(await fetchJson("/api/public/oi"));
|
|
434
|
+
}
|
|
435
|
+
catch (err) {
|
|
436
|
+
return fail(err);
|
|
437
|
+
}
|
|
438
|
+
});
|
|
361
439
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bykaranteli-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.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": {
|