hvip-mcp-server 0.1.5 → 0.1.6

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 (2) hide show
  1. package/dist/index.js +257 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -21168,7 +21168,20 @@ var publicApi = {
21168
21168
  getSupportCoin: () => request("GET", "/api/v5/rubik/stat/trading-data/support-coin"),
21169
21169
  getTopTraderLongShortRatio: (instId, begin, end) => request("GET", "/api/v5/rubik/stat/contracts/long-short-account-ratio-contract-top-trader", { params: { instId, begin, end } }),
21170
21170
  getOptionPutCallRatio: (ccy, begin, end) => request("GET", "/api/v5/rubik/stat/option/open-interest-volume-ratio", { params: { ccy, begin, end } }),
21171
- getLendingRateSummary: (ccy) => request("GET", "/api/v5/finance/savings/lending-rate-summary", { params: { ccy } })
21171
+ getLendingRateSummary: (ccy) => request("GET", "/api/v5/finance/savings/lending-rate-summary", { params: { ccy } }),
21172
+ // ── 网格交易机器人(公共) ────────────────────────────────────────────────────
21173
+ getGridAiParam: (instId, algoOrdType, direction) => request("GET", "/api/v5/tradingBot/grid/ai-param", { params: { instId, algoOrdType, direction } }),
21174
+ // ── 大宗交易行情(公共) ─────────────────────────────────────────────────────
21175
+ getBlockTickers: (instType) => request("GET", "/api/v5/market/block-tickers", { params: { instType } }),
21176
+ // ── 价差交易(公共) ──────────────────────────────────────────────────────────
21177
+ getSpreads: (sprdId, baseCcy, instId, state) => request("GET", "/api/v5/sprd/spreads", { params: { sprdId, baseCcy, instId, state } }),
21178
+ getSpreadTicker: (sprdId) => request("GET", "/api/v5/sprd/ticker", { params: { sprdId } }),
21179
+ getSpreadOrderbook: (sprdId, sz) => request("GET", "/api/v5/sprd/books", { params: { sprdId, sz } }),
21180
+ getSpreadTrades: (sprdId, limit) => request("GET", "/api/v5/sprd/trades", { params: { sprdId, limit } }),
21181
+ getSpreadCandles: (sprdId, bar, limit) => request("GET", "/api/v5/sprd/candles", { params: { sprdId, bar, limit } }),
21182
+ // ── 公告(公共) ──────────────────────────────────────────────────────────────
21183
+ getAnnouncements: (annType, lang) => request("GET", "/api/v5/support/announcements", { params: { annType, lang } }),
21184
+ getAnnouncementTypes: () => request("GET", "/api/v5/support/announcement-types")
21172
21185
  };
21173
21186
  var privateApi = {
21174
21187
  getBalance: (auth, ccy) => request("GET", "/api/v5/account/balance", { params: { ccy }, auth }),
@@ -21195,6 +21208,13 @@ var privateApi = {
21195
21208
  getEthStakingBalance: (auth) => request("GET", "/api/v5/finance/staking-defi/eth/balance", { auth }),
21196
21209
  getEthStakingHistory: (auth, limit) => request("GET", "/api/v5/finance/staking-defi/eth/purchase-redeem-history", { params: { limit }, auth }),
21197
21210
  getSolStakingBalance: (auth) => request("GET", "/api/v5/finance/staking-defi/sol/balance", { auth }),
21211
+ // ── 网格交易机器人(私有) ────────────────────────────────────────────────────
21212
+ getGridOrdersPending: (auth, algoOrdType, instId, instType) => request("GET", "/api/v5/tradingBot/grid/orders-algo-pending", { params: { algoOrdType, instId, instType }, auth }),
21213
+ getGridOrdersHistory: (auth, algoOrdType, instId, instType) => request("GET", "/api/v5/tradingBot/grid/orders-algo-history", { params: { algoOrdType, instId, instType }, auth }),
21214
+ getGridSubOrders: (auth, algoId, algoOrdType, type, groupId) => request("GET", "/api/v5/tradingBot/grid/sub-orders", { params: { algoId, algoOrdType, type, groupId }, auth }),
21215
+ // ── 定投机器人(私有) ────────────────────────────────────────────────────────
21216
+ getRecurringOrdersPending: (auth) => request("GET", "/api/v5/tradingBot/recurring/orders-algo-pending", { auth }),
21217
+ getRecurringOrdersHistory: (auth) => request("GET", "/api/v5/tradingBot/recurring/orders-algo-history", { auth }),
21198
21218
  getAlgoOrders: (auth, ordType, instType) => request("GET", "/api/v5/trade/orders-algo-pending", { params: { ordType, instType }, auth }),
21199
21219
  getAlgoOrdersHistory: (auth, ordType, state, instType) => request("GET", "/api/v5/trade/orders-algo-history", { params: { ordType, state, instType }, auth }),
21200
21220
  placeAlgoOrder: (auth, body) => request("POST", "/api/v5/trade/order-algo", { body, auth }),
@@ -21420,6 +21440,21 @@ function registerMarketTools(server) {
21420
21440
  }
21421
21441
  }
21422
21442
  );
21443
+ server.tool(
21444
+ "okx_get_block_tickers",
21445
+ "\u83B7\u53D6\u5927\u5B97\u4EA4\u6613\uFF08Block Trading\uFF09\u5B9E\u65F6\u884C\u60C5\uFF0C\u542B\u6210\u4EA4\u91CF\u7EDF\u8BA1\u3002\u5927\u5B97\u4EA4\u6613\u4E13\u4E3A\u673A\u6784\u5927\u989D\u4EA4\u6613\u8BBE\u8BA1\uFF0C\u6210\u4EA4\u6570\u636E\u53CD\u6620\u673A\u6784\u8D44\u91D1\u52A8\u5411\u3002",
21446
+ {
21447
+ instType: external_exports.enum(["SPOT", "SWAP", "FUTURES", "OPTION"]).describe("\u4EA7\u54C1\u7C7B\u578B")
21448
+ },
21449
+ async ({ instType }) => {
21450
+ try {
21451
+ const data = await publicApi.getBlockTickers(instType);
21452
+ return toResult(data);
21453
+ } catch (e) {
21454
+ return toError(e);
21455
+ }
21456
+ }
21457
+ );
21423
21458
  }
21424
21459
 
21425
21460
  // src/tools/public.ts
@@ -21561,6 +21596,35 @@ function registerPublicTools(server) {
21561
21596
  }
21562
21597
  }
21563
21598
  );
21599
+ server.tool(
21600
+ "okx_get_announcements",
21601
+ "\u83B7\u53D6OKX\u5B98\u65B9\u516C\u544A\u5217\u8868\uFF08\u7EF4\u62A4\u901A\u77E5\u3001\u65B0\u5E01\u4E0A\u7EBF\u3001\u6D3B\u52A8\u7B49\uFF09\u3002\u5B9A\u671F\u67E5\u8BE2\u53EF\u53CA\u65F6\u4E86\u89E3\u5E73\u53F0\u53D8\u5316\uFF0C\u63D0\u524D\u505A\u597D\u98CE\u9669\u51C6\u5907\u3002",
21602
+ {
21603
+ annType: external_exports.string().optional().describe("\u516C\u544A\u7C7B\u578BID\uFF0C\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8\u3002\u53EF\u5148\u8C03\u7528 okx_get_announcement_types \u67E5\u8BE2\u53EF\u7528\u7C7B\u578B"),
21604
+ lang: external_exports.enum(["zh-Hans", "en-US"]).optional().describe("\u8BED\u8A00\uFF0C\u9ED8\u8BA4\u4E2D\u6587")
21605
+ },
21606
+ async ({ annType, lang }) => {
21607
+ try {
21608
+ const data = await publicApi.getAnnouncements(annType, lang);
21609
+ return toResult(data);
21610
+ } catch (e) {
21611
+ return toError(e);
21612
+ }
21613
+ }
21614
+ );
21615
+ server.tool(
21616
+ "okx_get_announcement_types",
21617
+ "\u83B7\u53D6OKX\u516C\u544A\u5206\u7C7B\u5217\u8868\uFF08\u5982\u7EF4\u62A4\u901A\u77E5\u3001\u4E0A\u65B0\u516C\u544A\u3001\u6D3B\u52A8\u516C\u544A\u7B49\uFF09\u3002\u7528\u4E8E\u7B5B\u9009\u7279\u5B9A\u7C7B\u578B\u516C\u544A\u3002",
21618
+ {},
21619
+ async () => {
21620
+ try {
21621
+ const data = await publicApi.getAnnouncementTypes();
21622
+ return toResult(data);
21623
+ } catch (e) {
21624
+ return toError(e);
21625
+ }
21626
+ }
21627
+ );
21564
21628
  }
21565
21629
 
21566
21630
  // src/tools/account.ts
@@ -22365,17 +22429,208 @@ function registerOutcomesTools(server) {
22365
22429
  );
22366
22430
  }
22367
22431
 
22432
+ // src/tools/bot.ts
22433
+ function registerBotTools(server, auth) {
22434
+ server.tool(
22435
+ "okx_get_grid_ai_param",
22436
+ "\u83B7\u53D6OKX\u667A\u80FD\u7F51\u683C\u63A8\u8350\u53C2\u6570\uFF08\u65E0\u9700API Key\uFF09\u3002\u5305\u542B\u5EFA\u8BAE\u7684\u7F51\u683C\u4E0A\u4E0B\u754C\u3001\u683C\u6570\u3001\u9884\u671F\u5E74\u5316\u6536\u76CA\u3002\u5F00\u7F51\u683C\u524D\u5FEB\u901F\u8BC4\u4F30\u53C2\u6570\u5408\u7406\u6027\u3002",
22437
+ {
22438
+ instId: external_exports.string().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT\u3001BTC-USDT-SWAP"),
22439
+ algoOrdType: external_exports.enum(["grid", "contract_grid", "moon_grid"]).describe("\u7F51\u683C\u7C7B\u578B\uFF1Agrid=\u73B0\u8D27\u7F51\u683C\uFF0Ccontract_grid=\u5408\u7EA6\u7F51\u683C\uFF0Cmoon_grid=\u5929\u5730\u7F51\u683C"),
22440
+ direction: external_exports.enum(["long", "short", "neutral"]).optional().describe("\u5408\u7EA6\u7F51\u683C\u65B9\u5411\uFF08\u4EC5contract_grid\u9700\u8981\uFF09")
22441
+ },
22442
+ async ({ instId, algoOrdType, direction }) => {
22443
+ try {
22444
+ const data = await publicApi.getGridAiParam(instId, algoOrdType, direction);
22445
+ return toResult(data);
22446
+ } catch (e) {
22447
+ return toError(e);
22448
+ }
22449
+ }
22450
+ );
22451
+ server.tool(
22452
+ "okx_get_grid_orders_pending",
22453
+ "\u67E5\u8BE2\u5F53\u524D\u8FD0\u884C\u4E2D\u7684\u7F51\u683C\u7B56\u7565\u5217\u8868\uFF0C\u542B\u6BCF\u4E2A\u7F51\u683C\u7684\u76C8\u4E8F\u3001\u6210\u4EA4\u6B21\u6570\u548C\u8D44\u91D1\u5360\u7528\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
22454
+ {
22455
+ algoOrdType: external_exports.enum(["grid", "contract_grid", "moon_grid"]).describe("\u7F51\u683C\u7C7B\u578B"),
22456
+ instId: external_exports.string().optional().describe("\u4EA7\u54C1ID\uFF0C\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8"),
22457
+ instType: external_exports.enum(["SPOT", "MARGIN", "FUTURES", "SWAP"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B\u7B5B\u9009")
22458
+ },
22459
+ async ({ algoOrdType, instId, instType }) => {
22460
+ if (!auth) return toError(AUTH_REQUIRED);
22461
+ try {
22462
+ const data = await privateApi.getGridOrdersPending(auth, algoOrdType, instId, instType);
22463
+ return toResult(data);
22464
+ } catch (e) {
22465
+ return toError(e);
22466
+ }
22467
+ }
22468
+ );
22469
+ server.tool(
22470
+ "okx_get_grid_orders_history",
22471
+ "\u67E5\u8BE2\u5DF2\u505C\u6B62\u7684\u5386\u53F2\u7F51\u683C\u7B56\u7565\uFF0C\u542B\u6700\u7EC8\u76C8\u4E8F\u548C\u8FD0\u884C\u65F6\u957F\u3002\u7528\u4E8E\u8BC4\u4F30\u5386\u53F2\u7B56\u7565\u6548\u679C\uFF0C\u4F18\u5316\u4E0B\u6B21\u53C2\u6570\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
22472
+ {
22473
+ algoOrdType: external_exports.enum(["grid", "contract_grid", "moon_grid"]).describe("\u7F51\u683C\u7C7B\u578B"),
22474
+ instId: external_exports.string().optional().describe("\u4EA7\u54C1ID\uFF0C\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8"),
22475
+ instType: external_exports.enum(["SPOT", "MARGIN", "FUTURES", "SWAP"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B\u7B5B\u9009")
22476
+ },
22477
+ async ({ algoOrdType, instId, instType }) => {
22478
+ if (!auth) return toError(AUTH_REQUIRED);
22479
+ try {
22480
+ const data = await privateApi.getGridOrdersHistory(auth, algoOrdType, instId, instType);
22481
+ return toResult(data);
22482
+ } catch (e) {
22483
+ return toError(e);
22484
+ }
22485
+ }
22486
+ );
22487
+ server.tool(
22488
+ "okx_get_grid_sub_orders",
22489
+ "\u67E5\u8BE2\u67D0\u4E2A\u7F51\u683C\u7B56\u7565\u7684\u5B50\u8BA2\u5355\u5217\u8868\uFF08\u6BCF\u4E00\u683C\u7684\u4E70\u5356\u8BB0\u5F55\uFF09\u3002\u7528\u4E8E\u5206\u6790\u7F51\u683C\u6210\u4EA4\u60C5\u51B5\uFF0C\u9A8C\u8BC1\u7B56\u7565\u662F\u5426\u6309\u9884\u671F\u8FD0\u884C\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
22490
+ {
22491
+ algoId: external_exports.string().describe("\u7F51\u683C\u7B56\u7565ID"),
22492
+ algoOrdType: external_exports.enum(["grid", "contract_grid", "moon_grid"]).describe("\u7F51\u683C\u7C7B\u578B"),
22493
+ type: external_exports.enum(["filled", "unfilled"]).describe("filled=\u5DF2\u6210\u4EA4\uFF0Cunfilled=\u672A\u6210\u4EA4")
22494
+ },
22495
+ async ({ algoId, algoOrdType, type }) => {
22496
+ if (!auth) return toError(AUTH_REQUIRED);
22497
+ try {
22498
+ const data = await privateApi.getGridSubOrders(auth, algoId, algoOrdType, type);
22499
+ return toResult(data);
22500
+ } catch (e) {
22501
+ return toError(e);
22502
+ }
22503
+ }
22504
+ );
22505
+ server.tool(
22506
+ "okx_get_recurring_orders_pending",
22507
+ "\u67E5\u8BE2\u5F53\u524D\u8FD0\u884C\u4E2D\u7684\u5B9A\u6295\u8BA1\u5212\u5217\u8868\uFF0C\u542B\u6295\u8D44\u5E01\u79CD\u3001\u5468\u671F\u3001\u5DF2\u6295\u603B\u989D\u548C\u5F53\u524D\u76C8\u4E8F\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
22508
+ {},
22509
+ async () => {
22510
+ if (!auth) return toError(AUTH_REQUIRED);
22511
+ try {
22512
+ const data = await privateApi.getRecurringOrdersPending(auth);
22513
+ return toResult(data);
22514
+ } catch (e) {
22515
+ return toError(e);
22516
+ }
22517
+ }
22518
+ );
22519
+ server.tool(
22520
+ "okx_get_recurring_orders_history",
22521
+ "\u67E5\u8BE2\u5DF2\u7ED3\u675F\u7684\u5386\u53F2\u5B9A\u6295\u8BA1\u5212\uFF0C\u542B\u603B\u6295\u5165\u3001\u603B\u6536\u76CA\u548C\u5E74\u5316\u6536\u76CA\u7387\u3002\u7528\u4E8E\u8BC4\u4F30\u5B9A\u6295\u7B56\u7565\u957F\u671F\u6548\u679C\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
22522
+ {},
22523
+ async () => {
22524
+ if (!auth) return toError(AUTH_REQUIRED);
22525
+ try {
22526
+ const data = await privateApi.getRecurringOrdersHistory(auth);
22527
+ return toResult(data);
22528
+ } catch (e) {
22529
+ return toError(e);
22530
+ }
22531
+ }
22532
+ );
22533
+ }
22534
+
22535
+ // src/tools/spread.ts
22536
+ function registerSpreadTools(server) {
22537
+ server.tool(
22538
+ "okx_get_spreads",
22539
+ "\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6\u4EA7\u54C1\u5217\u8868\u3002\u4EF7\u5DEE\u4EA4\u6613\u662F\u540C\u65F6\u4E70\u5165\u4E00\u4E2A\u5408\u7EA6\u3001\u5356\u51FA\u53E6\u4E00\u4E2A\u5408\u7EA6\uFF0C\u6355\u83B7\u4E24\u8005\u4EF7\u683C\u4E4B\u5DEE\uFF0C\u5E38\u7528\u4E8E\u8DE8\u671F\u5957\u5229\u3002",
22540
+ {
22541
+ sprdId: external_exports.string().optional().describe("\u4EF7\u5DEE\u5408\u7EA6ID\uFF0C\u5982 BTC-USDT_BTC-USDT-SWAP"),
22542
+ baseCcy: external_exports.string().optional().describe("\u6807\u7684\u5E01\u79CD\uFF0C\u5982 BTC"),
22543
+ instId: external_exports.string().optional().describe("\u817F\u5408\u7EA6\u4EA7\u54C1ID\uFF0C\u7CBE\u786E\u7B5B\u9009"),
22544
+ state: external_exports.enum(["live", "expired", "suspend"]).optional().describe("\u5408\u7EA6\u72B6\u6001")
22545
+ },
22546
+ async ({ sprdId, baseCcy, instId, state }) => {
22547
+ try {
22548
+ const data = await publicApi.getSpreads(sprdId, baseCcy, instId, state);
22549
+ return toResult(data);
22550
+ } catch (e) {
22551
+ return toError(e);
22552
+ }
22553
+ }
22554
+ );
22555
+ server.tool(
22556
+ "okx_get_spread_ticker",
22557
+ "\u83B7\u53D6\u5355\u4E2A\u4EF7\u5DEE\u5408\u7EA6\u5B9E\u65F6\u884C\u60C5\uFF0C\u542B\u6700\u65B0\u4EF7\u3001\u4E70\u5356\u4EF7\u5DEE\u3002\u5148\u7528 okx_get_spreads \u67E5\u8BE2\u53EF\u7528\u7684\u4EF7\u5DEE\u5408\u7EA6ID\u3002",
22558
+ {
22559
+ sprdId: external_exports.string().describe("\u4EF7\u5DEE\u5408\u7EA6ID\uFF0C\u5982 BTC-USD-SWAP_BTC-USD-260925")
22560
+ },
22561
+ async ({ sprdId }) => {
22562
+ try {
22563
+ const data = await publicApi.getSpreadTicker(sprdId);
22564
+ return toResult(data);
22565
+ } catch (e) {
22566
+ return toError(e);
22567
+ }
22568
+ }
22569
+ );
22570
+ server.tool(
22571
+ "okx_get_spread_orderbook",
22572
+ "\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6\u8BA2\u5355\u7C3F\u6DF1\u5EA6\u3002\u5206\u6790\u4E70\u5356\u53CC\u65B9\u6302\u5355\u5206\u5E03\uFF0C\u5224\u65AD\u4EF7\u5DEE\u5E02\u573A\u7684\u6D41\u52A8\u6027\u8D28\u91CF\u3002",
22573
+ {
22574
+ sprdId: external_exports.string().describe("\u4EF7\u5DEE\u5408\u7EA6ID"),
22575
+ sz: external_exports.number().int().min(1).max(400).optional().describe("\u6DF1\u5EA6\u6863\u4F4D\uFF0C\u9ED8\u8BA420")
22576
+ },
22577
+ async ({ sprdId, sz }) => {
22578
+ try {
22579
+ const data = await publicApi.getSpreadOrderbook(sprdId, sz);
22580
+ return toResult(data);
22581
+ } catch (e) {
22582
+ return toError(e);
22583
+ }
22584
+ }
22585
+ );
22586
+ server.tool(
22587
+ "okx_get_spread_trades",
22588
+ "\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6\u6700\u65B0\u6210\u4EA4\u8BB0\u5F55\u3002\u7528\u4E8E\u5206\u6790\u5E02\u573A\u53C2\u4E0E\u8005\u5BF9\u5F53\u524D\u4EF7\u5DEE\u6C34\u5E73\u7684\u8BA4\u53EF\u5EA6\u3002",
22589
+ {
22590
+ sprdId: external_exports.string().describe("\u4EF7\u5DEE\u5408\u7EA6ID"),
22591
+ limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA420")
22592
+ },
22593
+ async ({ sprdId, limit }) => {
22594
+ try {
22595
+ const data = await publicApi.getSpreadTrades(sprdId, limit);
22596
+ return toResult(data);
22597
+ } catch (e) {
22598
+ return toError(e);
22599
+ }
22600
+ }
22601
+ );
22602
+ server.tool(
22603
+ "okx_get_spread_candles",
22604
+ "\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6K\u7EBF\u6570\u636E\u3002\u7528\u4E8E\u7814\u7A76\u4EF7\u5DEE\u5386\u53F2\u8D70\u52BF\uFF0C\u8BC6\u522B\u5747\u503C\u56DE\u5F52\u673A\u4F1A\u3002",
22605
+ {
22606
+ sprdId: external_exports.string().describe("\u4EF7\u5DEE\u5408\u7EA6ID"),
22607
+ bar: external_exports.enum(["1m", "5m", "15m", "30m", "1H", "4H", "1D"]).optional().describe("K\u7EBF\u5468\u671F\uFF0C\u9ED8\u8BA41H"),
22608
+ limit: external_exports.number().int().min(1).max(300).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100")
22609
+ },
22610
+ async ({ sprdId, bar, limit }) => {
22611
+ try {
22612
+ const data = await publicApi.getSpreadCandles(sprdId, bar, limit);
22613
+ return toResult(data);
22614
+ } catch (e) {
22615
+ return toError(e);
22616
+ }
22617
+ }
22618
+ );
22619
+ }
22620
+
22368
22621
  // src/index.ts
22369
22622
  async function main() {
22370
- const server = new McpServer({ name: "hvip", version: "0.1.0" });
22623
+ const server = new McpServer({ name: "hvip", version: "0.1.5" });
22371
22624
  const auth = getAuth();
22372
22625
  registerMarketTools(server);
22373
22626
  registerPublicTools(server);
22374
22627
  registerStatsTools(server);
22628
+ registerSpreadTools(server);
22375
22629
  registerOutcomesTools(server);
22376
22630
  registerAccountTools(server, auth);
22377
22631
  registerTradingTools(server, auth);
22378
22632
  registerAlgoTools(server, auth);
22633
+ registerBotTools(server, auth);
22379
22634
  registerFundingTools(server, auth);
22380
22635
  registerSubAccountTools(server, auth);
22381
22636
  registerFinanceTools(server, auth);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hvip-mcp-server",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "OKX ecosystem MCP server — full API coverage for AI agents",
5
5
  "homepage": "https://hvip.one",
6
6
  "license": "MIT",