bykaranteli-mcp 0.30.1 → 0.30.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.
Files changed (3) hide show
  1. package/README.md +32 -13
  2. package/dist/tools.js +26 -0
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -2,15 +2,26 @@
2
2
 
3
3
  MCP (Model Context Protocol) server for **live crypto derivatives data**: funding rates, cross-exchange funding arbitrage, open interest pressure, liquidations, options, ETF flows, Fear & Greed and BTC dominance.
4
4
 
5
- 50 read-only tools over the public JSON API of [bykaranteli.com](https://bykaranteli.com/developers). Since 2026-09-10 the API asks programs for an account key: a **free key** comes with any verified account at <https://bykaranteli.com/dashboard/api> (30 requests a minute, public depth), and the Builder, Business and Scale plans raise the rate and unlock member depth (LiqMap on seven timeframes, 5-minute series, the x402 catalog included). Set it as `BYKARANTELI_API_KEY`. Data covers Binance USDT-M perpetuals; funding arbitrage, liquidations, order book depth, options, positioning and insurance funds add the other venues each board lists on bykaranteli.com/coverage.
5
+ 51 read-only tools over the public JSON API of [bykaranteli.com](https://bykaranteli.com/developers). Since 2026-09-10 the API asks programs for an account key: a **free key** comes with any verified account at <https://bykaranteli.com/dashboard/api> (30 requests a minute and 15,000 a month, public depth), and the Builder, Business and Scale plans raise the rate and the monthly fair use and unlock member depth (LiqMap on seven timeframes, 5-minute series, a monthly x402 catalog allowance). Set it as `BYKARANTELI_API_KEY`. Data covers Binance USDT-M perpetuals; funding arbitrage, liquidations, order book depth, options, positioning and insurance funds add the other venues each board lists on bykaranteli.com/coverage.
6
6
 
7
7
  ## Hosted endpoint (no install)
8
8
 
9
9
  Paste `https://mcp.bykaranteli.com` as a custom connector in any MCP-capable
10
- assistant. Same 50 tools, nothing to install. Without a key it runs on the
11
- shared Free pool; a connector header with your account key, `x-api-key: bk_...`
12
- (claude.ai custom connectors) or `Authorization: Bearer bk_...` (Builder and
13
- above), brings your own rate limit and member depth.
10
+ assistant. Same 51 tools, nothing to install. Every tool call needs your
11
+ account key (free at <https://bykaranteli.com/dashboard/api>); connecting and
12
+ listing the tools work without one. The key travels one of three ways:
13
+
14
+ - the request header `x-api-key: bk_...` (claude.ai custom connectors, Cursor,
15
+ Claude Code);
16
+ - the request header `Authorization: Bearer bk_...`;
17
+ - the address `https://mcp.bykaranteli.com/?key=bk_...` for clients that cannot
18
+ send headers (ChatGPT). Treat that address like a password and revoke the key
19
+ if it leaks.
20
+
21
+ A free account covers the API and the hosted MCP on one monthly counter;
22
+ Builder and above bring higher rates and member depth.
23
+
24
+ Step-by-step guide for beginners: https://bykaranteli.com/guide/connect
14
25
 
15
26
  ## Quick start
16
27
 
@@ -89,6 +100,7 @@ Requires Node.js 18 or newer.
89
100
  | `get_coverage` | "Which exchanges are behind your liquidation totals? How fresh is the data?" |
90
101
  | `get_orderbook_depth` | "Where is the biggest BTC bid wall? How deep is ETH within 2% on Coinbase vs Binance?" |
91
102
  | `get_jupiter_perps` | "How much long vs short OI is on Jupiter SOL perps? Who topped Jupiter this week? What is the JLP APR?" |
103
+ | `get_solana_perps` | "Which Solana perp DEX has the most open interest? What is Pacifica's BTC funding and 24h volume? Jupiter versus Pacifica?" |
92
104
  | `get_turkey_premium` | "What do lira buyers pay for bitcoin above the world price? What is the Turkey Premium Index and its score right now? Which Turkish exchange is dearest? What is USDT/TRY against the official rate?" |
93
105
  | `get_data_proof` | "Can I verify a ByKaranteli number was not changed later? Show the on-chain proof for BTC funding right now. Which Solana transaction sealed the newest epoch?" |
94
106
  | `get_cycle_indicators` | "Has the Pi Cycle crossed? Mayer Multiple and Puell today?" |
@@ -126,16 +138,23 @@ Server: MIT. Data: personal and research use with attribution "ByKaranteli (byka
126
138
 
127
139
  ## Plans and paid depth
128
140
 
129
- | Plan | Price | Rate | Depth |
130
- |---|---|---|---|
131
- | Free API | $0 | 30 / min | public pages |
132
- | Builder | $49 / mo | 300 / min | member depth, x402 catalog included |
133
- | Business | $149 / mo | 1,200 / min | member depth, commercial licence, monthly bulk |
134
- | Scale | $399 / mo | 3,000 / min | member depth, derived redistribution, daily raw |
141
+ | Plan | Price | Rate | Monthly | Depth |
142
+ |---|---|---|---|---|
143
+ | Free API | $0 | 30 / min | 15,000 | public pages |
144
+ | Terminal | $29 / mo | 60 / min | 150,000 | public pages |
145
+ | Builder | $49 / mo | 300 / min | 1,000,000 fair use | member depth, 1,000 x402 catalog calls a month |
146
+ | Business | $149 / mo | 1,200 / min | 3,000,000 fair use | member depth, commercial licence, 10,000 x402 catalog calls a month, monthly bulk |
147
+ | Scale | $399 / mo | 3,000 / min | 10,000,000 fair use | member depth, derived redistribution, x402 catalog with no ceiling, daily raw |
148
+
149
+ A Free or Terminal key past its monthly figure gets 429 until
150
+ the month resets. A paid key past its fair use is never stopped: it answers at
151
+ the Free rate (30 a minute) until the month resets, with `x-quota-state: slow`
152
+ on every answer.
135
153
 
136
154
  Full table: <https://bykaranteli.com/developers#tiers>. For recorded history and
137
155
  raw records beyond the live snapshots, bykaranteli.com also exposes pay-per-call
138
156
  x402 endpoints for anonymous agents (USDC on Solana or Base, priced per call,
139
157
  no account): <https://bykaranteli.com/developers#x402> · machine catalog:
140
- <https://bykaranteli.com/api/x402>. Builder and higher keys call those routes
141
- unpaid within their plan limits.
158
+ <https://bykaranteli.com/api/x402>. Builder keys call those routes unpaid up to
159
+ 1,000 calls a month, Business up to 10,000, Scale with no ceiling; past the
160
+ allowance a key pays per call like an anonymous agent or moves up a plan.
package/dist/tools.js CHANGED
@@ -1106,6 +1106,32 @@ export function registerByKaranteliTools(server, options) {
1106
1106
  return fail(err);
1107
1107
  }
1108
1108
  });
1109
+ server.registerTool("get_solana_perps", {
1110
+ title: "Solana Perps board: open interest, 24h volume and hourly rates across Solana perpetual venues (Jupiter, Pacifica)",
1111
+ description: "Call this when the user asks about perpetuals on Solana as a whole, which Solana perp DEX has the most open interest or volume, Pacifica markets (funding, open interest, 24h volume, mark) or how Jupiter compares with an order-book venue. Returns every venue summed and every market largest first, refreshed every 10 minutes; a venue filter and hourly history of one Pacifica market (up to 30 days) are optional. Jupiter-only detail (long versus short, utilization, JLP, top traders) is get_jupiter_perps.",
1112
+ inputSchema: {
1113
+ venue: z.string().trim().toLowerCase().regex(/^(jupiter|pacifica)$/).optional().describe("Venue filter: jupiter or pacifica"),
1114
+ symbol: z.string().trim().toUpperCase().regex(/^[A-Z0-9_.-]{1,24}$/).optional().describe("Pacifica market symbol for hourly history, e.g. SOL or BTC"),
1115
+ history_days: z.number().int().min(1).max(30).optional().describe("Hourly history for the symbol, 1..30 days"),
1116
+ },
1117
+ annotations: READ_ONLY,
1118
+ }, async ({ venue, symbol, history_days }) => {
1119
+ try {
1120
+ const q = new URLSearchParams();
1121
+ if (venue)
1122
+ q.set("venue", venue);
1123
+ if (symbol)
1124
+ q.set("symbol", symbol);
1125
+ if (history_days)
1126
+ q.set("days", String(history_days));
1127
+ const qs = q.toString();
1128
+ const path = `/api/public/solana-perps${qs ? `?${qs}` : ""}`;
1129
+ return ok(withProvenance(await fetchJson(path), path));
1130
+ }
1131
+ catch (err) {
1132
+ return fail(err);
1133
+ }
1134
+ });
1109
1135
  server.registerTool("get_coverage", {
1110
1136
  title: "Coverage registry: which venues and data types we collect, how, and how fresh",
1111
1137
  description: "Call this when the user asks which exchanges sit behind a ByKaranteli number, whether a feed is complete or sampled, since when a venue is collected, or how fresh the data is. Returns the live coverage registry: liquidation feeds per venue with kind and last record, snapshot feeds per venue and market, funding arbitrage legs, positioning sources, whale tape, spot minutes and the Hyperliquid whale scan with freshness. snapshots[].country is the jurisdiction only when the venue states one; it is null for most venues, so do not read null as unknown risk.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bykaranteli-mcp",
3
- "version": "0.30.1",
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. 50 read-only tools, free account key, paid depth via plans or x402.",
3
+ "version": "0.30.3",
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. 51 read-only tools, free account key, paid depth via plans or x402.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "bykaranteli-mcp": "dist/index.js"