@sharpe-terminal/mcp-server 1.2.0 → 1.4.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/dist/tools.d.ts CHANGED
@@ -1,12 +1,67 @@
1
1
  import { z } from "zod";
2
+ export declare const globalOverviewSchema: {
3
+ tab: z.ZodDefault<z.ZodEnum<{
4
+ crypto: "crypto";
5
+ equity: "equity";
6
+ preipo: "preipo";
7
+ etf: "etf";
8
+ index: "index";
9
+ commodity: "commodity";
10
+ fx: "fx";
11
+ }>>;
12
+ limit: z.ZodOptional<z.ZodNumber>;
13
+ cursor: z.ZodOptional<z.ZodString>;
14
+ };
15
+ export declare const rwaPerpRatesSchema: {
16
+ type: z.ZodDefault<z.ZodEnum<{
17
+ current: "current";
18
+ history: "history";
19
+ stats: "stats";
20
+ }>>;
21
+ symbol: z.ZodOptional<z.ZodString>;
22
+ venue: z.ZodOptional<z.ZodString>;
23
+ days: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
24
+ limit: z.ZodOptional<z.ZodNumber>;
25
+ cursor: z.ZodOptional<z.ZodString>;
26
+ };
2
27
  export declare const fundingRatesSchema: {
3
28
  type: z.ZodDefault<z.ZodEnum<{
4
- accumulated: "accumulated";
5
29
  current: "current";
6
30
  history: "history";
31
+ accumulated: "accumulated";
7
32
  }>>;
8
33
  coin: z.ZodOptional<z.ZodString>;
34
+ exchange: z.ZodOptional<z.ZodString>;
35
+ margin: z.ZodOptional<z.ZodEnum<{
36
+ linear: "linear";
37
+ inverse: "inverse";
38
+ }>>;
39
+ asset_class: z.ZodOptional<z.ZodEnum<{
40
+ crypto: "crypto";
41
+ equity: "equity";
42
+ index: "index";
43
+ commodity: "commodity";
44
+ fx: "fx";
45
+ }>>;
9
46
  days: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
47
+ limit: z.ZodOptional<z.ZodNumber>;
48
+ cursor: z.ZodOptional<z.ZodString>;
49
+ };
50
+ export declare const fundingSettlementSchema: {
51
+ window: z.ZodDefault<z.ZodEnum<{
52
+ current: "current";
53
+ "1d": "1d";
54
+ "3d": "3d";
55
+ "7d": "7d";
56
+ }>>;
57
+ class: z.ZodDefault<z.ZodEnum<{
58
+ rwa: "rwa";
59
+ crypto: "crypto";
60
+ all: "all";
61
+ }>>;
62
+ coin: z.ZodOptional<z.ZodString>;
63
+ exchange: z.ZodOptional<z.ZodString>;
64
+ limit: z.ZodOptional<z.ZodNumber>;
10
65
  };
11
66
  export declare const futuresDataSchema: {
12
67
  chart: z.ZodEnum<{
@@ -14,15 +69,17 @@ export declare const futuresDataSchema: {
14
69
  }>;
15
70
  coin: z.ZodOptional<z.ZodDefault<z.ZodString>>;
16
71
  timeframe: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
17
- "3M": "3M";
18
72
  "1W": "1W";
19
73
  "2W": "2W";
20
74
  "1M": "1M";
75
+ "3M": "3M";
21
76
  "6M": "6M";
22
77
  "1Y": "1Y";
23
78
  "3Y": "3Y";
24
79
  }>>>;
25
80
  exchanges: z.ZodOptional<z.ZodString>;
81
+ limit: z.ZodOptional<z.ZodNumber>;
82
+ cursor: z.ZodOptional<z.ZodString>;
26
83
  };
27
84
  export declare const futuresCoinsSchema: {};
28
85
  export declare const correlationMatrixSchema: {
@@ -44,13 +101,26 @@ export declare const arbitrageSpotPerpSchema: {
44
101
  };
45
102
  export declare const arbitrageCrossExchangeSchema: {
46
103
  exchanges: z.ZodOptional<z.ZodString>;
104
+ minOiUsd: z.ZodOptional<z.ZodNumber>;
105
+ minVolUsd: z.ZodOptional<z.ZodNumber>;
106
+ assetClass: z.ZodOptional<z.ZodEnum<{
107
+ rwa: "rwa";
108
+ crypto: "crypto";
109
+ all: "all";
110
+ }>>;
47
111
  };
48
112
  export declare const arbitrageScannerSchema: {
49
113
  coin: z.ZodOptional<z.ZodString>;
50
114
  exchanges: z.ZodOptional<z.ZodString>;
51
115
  minApr: z.ZodOptional<z.ZodNumber>;
52
116
  minOiUsd: z.ZodOptional<z.ZodNumber>;
117
+ minVolumeUsd: z.ZodOptional<z.ZodNumber>;
53
118
  minDepthUsd: z.ZodOptional<z.ZodNumber>;
119
+ marginType: z.ZodOptional<z.ZodEnum<{
120
+ linear: "linear";
121
+ inverse: "inverse";
122
+ both: "both";
123
+ }>>;
54
124
  notional: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
55
125
  limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
56
126
  cursor: z.ZodOptional<z.ZodString>;
@@ -66,28 +136,12 @@ export declare const cexSpotTransferScannerSchema: {
66
136
  };
67
137
  export declare const heatmapSchema: {
68
138
  mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
69
- narratives: "narratives";
70
139
  coins: "coins";
140
+ narratives: "narratives";
71
141
  ecosystems: "ecosystems";
72
142
  }>>>;
73
143
  category: z.ZodOptional<z.ZodDefault<z.ZodString>>;
74
144
  };
75
- export declare const dexScreenerDataSchema: {
76
- category: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
77
- volume: "volume";
78
- trending: "trending";
79
- gainers: "gainers";
80
- losers: "losers";
81
- new_pairs: "new_pairs";
82
- }>>>;
83
- network: z.ZodOptional<z.ZodString>;
84
- phrase: z.ZodOptional<z.ZodString>;
85
- limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
86
- };
87
- export declare const dexScreenerSecuritySchema: {
88
- address: z.ZodString;
89
- chainId: z.ZodNumber;
90
- };
91
145
  export declare const tokenScannerSchema: {
92
146
  mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
93
147
  hot: "hot";
@@ -102,13 +156,26 @@ export declare const tokenScannerSchema: {
102
156
  discovery: "discovery";
103
157
  balanced: "balanced";
104
158
  strict: "strict";
105
- custom: "custom";
106
159
  }>>;
160
+ days: z.ZodOptional<z.ZodNumber>;
107
161
  limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
108
162
  minLiquidityUsd: z.ZodOptional<z.ZodNumber>;
109
163
  minVolumeH24: z.ZodOptional<z.ZodNumber>;
110
164
  minTxnsH1: z.ZodOptional<z.ZodNumber>;
165
+ minTxnsH24: z.ZodOptional<z.ZodNumber>;
111
166
  maxAgeHours: z.ZodOptional<z.ZodNumber>;
167
+ includeUnknownAge: z.ZodOptional<z.ZodBoolean>;
168
+ sortBy: z.ZodOptional<z.ZodEnum<{
169
+ score: "score";
170
+ readiness: "readiness";
171
+ rs: "rs";
172
+ volume: "volume";
173
+ momentum: "momentum";
174
+ }>>;
175
+ minBreakoutReadiness: z.ZodOptional<z.ZodNumber>;
176
+ minRelativeStrength: z.ZodOptional<z.ZodNumber>;
177
+ maxVolLiqRatio: z.ZodOptional<z.ZodNumber>;
178
+ minPriceChangeH1: z.ZodOptional<z.ZodNumber>;
112
179
  };
113
180
  export declare const rugCheckSecuritySchema: {
114
181
  address: z.ZodString;
@@ -119,8 +186,8 @@ export declare const rugCheckTrendingSchema: {
119
186
  };
120
187
  export declare const stablecoinsSchema: {
121
188
  type: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
122
- overview: "overview";
123
189
  detail: "detail";
190
+ overview: "overview";
124
191
  yields: "yields";
125
192
  }>>>;
126
193
  slug: z.ZodOptional<z.ZodString>;
@@ -136,39 +203,38 @@ export declare const mindshareSchema: {
136
203
  false: "false";
137
204
  }>>;
138
205
  timeframe: z.ZodOptional<z.ZodEnum<{
139
- "3M": "3M";
140
206
  "1W": "1W";
141
207
  "1M": "1M";
208
+ "3M": "3M";
142
209
  "6M": "6M";
143
210
  "1Y": "1Y";
144
211
  "3Y": "3Y";
145
212
  }>>;
146
213
  window: z.ZodOptional<z.ZodEnum<{
214
+ "7d": "7d";
147
215
  "30d": "30d";
148
216
  now: "now";
149
217
  "24h": "24h";
150
- "7d": "7d";
151
218
  }>>;
152
219
  };
153
220
  export declare const webTrafficSchema: {
154
221
  type: z.ZodOptional<z.ZodEnum<{
155
- coin: "coin";
156
222
  exchange: "exchange";
223
+ coin: "coin";
157
224
  narrative: "narrative";
158
225
  }>>;
159
226
  mode: z.ZodOptional<z.ZodEnum<{
160
227
  rankings: "rankings";
161
- trends: "trends";
162
228
  snapshots: "snapshots";
163
229
  market: "market";
164
230
  }>>;
165
231
  tf: z.ZodOptional<z.ZodEnum<{
232
+ "7d": "7d";
166
233
  all: "all";
167
234
  "30d": "30d";
168
235
  "90d": "90d";
169
236
  "1y": "1y";
170
237
  "3y": "3y";
171
- "7d": "7d";
172
238
  }>>;
173
239
  entities: z.ZodOptional<z.ZodString>;
174
240
  sub: z.ZodOptional<z.ZodEnum<{
@@ -177,7 +243,6 @@ export declare const webTrafficSchema: {
177
243
  global: "global";
178
244
  }>>;
179
245
  };
180
- export declare const katanaSchema: {};
181
246
  export declare const narrativesSchema: {
182
247
  narrative: z.ZodOptional<z.ZodString>;
183
248
  correlation: z.ZodOptional<z.ZodString>;
@@ -192,15 +257,15 @@ export declare const ecosystemsSchema: {
192
257
  export declare const memecoinsSchema: {
193
258
  narrative: z.ZodOptional<z.ZodString>;
194
259
  historical: z.ZodOptional<z.ZodEnum<{
260
+ "7d": "7d";
195
261
  "30d": "30d";
196
262
  "1y": "1y";
197
263
  "24h": "24h";
198
- "7d": "7d";
199
264
  }>>;
200
265
  coinHistory: z.ZodOptional<z.ZodEnum<{
266
+ "7d": "7d";
201
267
  "1y": "1y";
202
268
  "24h": "24h";
203
- "7d": "7d";
204
269
  "1m": "1m";
205
270
  }>>;
206
271
  };
@@ -219,19 +284,9 @@ export declare const newsSchema: {
219
284
  category: z.ZodOptional<z.ZodString>;
220
285
  coin: z.ZodOptional<z.ZodString>;
221
286
  since: z.ZodOptional<z.ZodString>;
287
+ q: z.ZodOptional<z.ZodString>;
222
288
  offset: z.ZodOptional<z.ZodNumber>;
223
289
  };
224
- export declare const curatedNewsSchema: {
225
- limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
226
- category: z.ZodOptional<z.ZodEnum<{
227
- all: "all";
228
- crypto: "crypto";
229
- ai: "ai";
230
- markets: "markets";
231
- geopolitics: "geopolitics";
232
- }>>;
233
- cursor: z.ZodOptional<z.ZodString>;
234
- };
235
290
  export declare const marketOverviewSchema: {};
236
291
  export declare const pricePredictionSchema: {
237
292
  coin: z.ZodOptional<z.ZodString>;
@@ -241,45 +296,18 @@ export declare const searchMarketCapSchema: {
241
296
  };
242
297
  export declare const gemFinderSchema: {
243
298
  limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
299
+ cursor: z.ZodOptional<z.ZodString>;
244
300
  };
245
301
  export declare const derivativesOverviewSchema: {};
246
302
  export declare const apiCoverageSchema: {};
247
303
  export declare const listingsDataSchema: {
248
304
  narrative: z.ZodOptional<z.ZodString>;
249
305
  exchange: z.ZodOptional<z.ZodEnum<{
250
- hyperliquid: "hyperliquid";
251
306
  binance: "binance";
252
307
  okx: "okx";
253
308
  bybit: "bybit";
254
309
  gateio: "gateio";
255
310
  mexc: "mexc";
256
- bitget: "bitget";
257
- kucoin: "kucoin";
258
- bingx: "bingx";
259
- bitmart: "bitmart";
260
- deepcoin: "deepcoin";
261
- coinbase: "coinbase";
262
- kraken: "kraken";
263
- crypto_com: "crypto_com";
264
- upbit: "upbit";
265
- bithumb: "bithumb";
266
- htx: "htx";
267
- bitfinex: "bitfinex";
268
- bitstamp: "bitstamp";
269
- gemini: "gemini";
270
- bitmex: "bitmex";
271
- deribit: "deribit";
272
- phemex: "phemex";
273
- lbank: "lbank";
274
- bitrue: "bitrue";
275
- coinex: "coinex";
276
- backpack: "backpack";
277
- hashkey: "hashkey";
278
- whitebit: "whitebit";
279
- toobit: "toobit";
280
- aster: "aster";
281
- dydx: "dydx";
282
- aevo: "aevo";
283
311
  }>>;
284
312
  };
285
313
  export declare const listingsRecentSchema: {
@@ -320,9 +348,9 @@ export declare const listingsRecentSchema: {
320
348
  aevo: "aevo";
321
349
  }>>;
322
350
  venue_type: z.ZodOptional<z.ZodEnum<{
351
+ dex: "dex";
323
352
  cex: "cex";
324
353
  perp_dex: "perp_dex";
325
- dex: "dex";
326
354
  }>>;
327
355
  market_type: z.ZodOptional<z.ZodEnum<{
328
356
  spot: "spot";
@@ -404,9 +432,9 @@ export declare const listingsEventsSchema: {
404
432
  aevo: "aevo";
405
433
  }>>;
406
434
  venue_type: z.ZodOptional<z.ZodEnum<{
435
+ dex: "dex";
407
436
  cex: "cex";
408
437
  perp_dex: "perp_dex";
409
- dex: "dex";
410
438
  }>>;
411
439
  market_type: z.ZodOptional<z.ZodEnum<{
412
440
  spot: "spot";
@@ -454,9 +482,9 @@ export declare const listingsEventsSchema: {
454
482
  };
455
483
  export declare const listingsExchangesSchema: {
456
484
  venue_type: z.ZodOptional<z.ZodEnum<{
485
+ dex: "dex";
457
486
  cex: "cex";
458
487
  perp_dex: "perp_dex";
459
- dex: "dex";
460
488
  }>>;
461
489
  market_type: z.ZodOptional<z.ZodEnum<{
462
490
  spot: "spot";
@@ -485,19 +513,55 @@ export declare const pumpDumpSchema: {
485
513
  dumping: "dumping";
486
514
  }>>;
487
515
  };
516
+ /**
517
+ * The free pump-dump and insider-selling routes are statically cached and
518
+ * read no query params, so limit, min_score and phase only ever reached v1
519
+ * (2026-09-24 audit). Re-apply them to the keyless `{ scores, meta }` payload
520
+ * the way the v1 routes do: score floor, phase mapping, then limit over the
521
+ * score-ordered rows. The v1 payload (`{ coins, ... }`) is already filtered.
522
+ */
523
+ export declare function filterSignalScores(data: unknown, args: Record<string, unknown>): unknown;
524
+ /**
525
+ * oi-snapshot is documented as current open interest by exchange, but both
526
+ * routes return the whole ascending window (up to 5,000 raw rows). Keep each
527
+ * exchange's newest reading, largest first, so "current" means current.
528
+ */
529
+ export declare function latestRowPerExchange(rows: unknown[]): unknown[];
530
+ export interface PostProcessContext {
531
+ /** The API already paged this response (it carried a pagination block). */
532
+ paginated: boolean;
533
+ }
488
534
  export interface ToolDef {
489
535
  name: string;
490
536
  description: string;
491
537
  schema: Record<string, z.ZodType>;
492
538
  apiPath: string;
493
539
  fallbackPath: string;
540
+ /**
541
+ * Adjusts the arguments before the request, e.g. a default page size for a
542
+ * route whose unpaged answer is megabytes the MAX_ITEMS cap would discard.
543
+ */
544
+ prepareArgs?: (args: Record<string, unknown>) => Record<string, unknown>;
494
545
  /**
495
546
  * Runs after the HTTP response is unwrapped but before MAX_ITEMS truncation.
496
- * Use this when the backend ignores a filter param (e.g. funding/rates
497
- * ignores `coin` in current/accumulated mode) -- filtering client-side here
498
- * ensures the target rows survive truncation instead of being dropped.
547
+ * Use this to re-apply a filter the tool already sent to the backend, so the
548
+ * requested rows survive truncation instead of being cut off by an
549
+ * arbitrary prefix of the unfiltered book, or to page a free route that
550
+ * ignores limit/cursor (skip it when `context.paginated` says the API
551
+ * already did).
499
552
  */
500
- postProcess?: (data: unknown, args: Record<string, unknown>) => unknown;
553
+ postProcess?: (data: unknown, args: Record<string, unknown>, context?: PostProcessContext) => unknown;
501
554
  }
555
+ /**
556
+ * The rows of a funding response that belong to `coin`. The funding API
557
+ * resolves `coin` to an asset and returns every contract of it, so `PEPE`
558
+ * also returns the 1000PEPE and KPEPE lot contracts, whose base_coin differs.
559
+ * A row is kept when its base_coin, asset_symbol or asset_id names the coin,
560
+ * or when it is a contract of the same asset as a row that does
561
+ * (`coin=1000PEPE` keeps the PEPE-spelled contracts too). Rows from an API
562
+ * without the asset fields, or with them null (no instrument master to read),
563
+ * match on base_coin exactly as before.
564
+ */
565
+ export declare function rowsForFundingCoin<T>(rows: readonly T[], coin: string): T[];
502
566
  export declare const TOOL_DEFS: ToolDef[];
503
567
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,kBAAkB;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAsB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,IAAK,CAAC;AAErC,eAAO,MAAM,uBAAuB;;;;;;;;CAYnC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;CAanC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;CAOxC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CAsClC,CAAC;AAIF,eAAO,MAAM,4BAA4B;;;;;;;;CAQxC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAWzB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;CASjC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;CAGrC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAoB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;CAO7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,eAAO,MAAM,YAAY,IAAK,CAAC;AAE/B,eAAO,MAAM,gBAAgB;;;;CAc5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;CAoB5B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;CAe3B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CAalC,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;CAkCtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;CAkB7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAK,CAAC;AAEvC,eAAO,MAAM,qBAAqB;;CAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAMjC,CAAC;AAEF,eAAO,MAAM,eAAe;;CAQ3B,CAAC;AAEF,eAAO,MAAM,yBAAyB,IAAK,CAAC;AAE5C,eAAO,MAAM,iBAAiB,IAAK,CAAC;AAsCpC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW9B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAanC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAgB7B,CAAC;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;CAoB1B,CAAC;AAIF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;CACzE;AAED,eAAO,MAAM,SAAS,EAAE,OAAO,EAsU9B,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}