hvip-mcp-server 0.2.0 → 0.2.1
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/index.js +194 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -21187,7 +21187,9 @@ var publicApi = {
|
|
|
21187
21187
|
getSpreadCandles: (sprdId, bar, limit) => request("GET", "/api/v5/sprd/candles", { params: { sprdId, bar, limit } }),
|
|
21188
21188
|
// ── 公告(公共) ──────────────────────────────────────────────────────────────
|
|
21189
21189
|
getAnnouncements: (annType, lang) => request("GET", "/api/v5/support/announcements", { params: { annType, lang } }),
|
|
21190
|
-
getAnnouncementTypes: () => request("GET", "/api/v5/support/announcement-types")
|
|
21190
|
+
getAnnouncementTypes: () => request("GET", "/api/v5/support/announcement-types"),
|
|
21191
|
+
getUnderlying: (instType) => request("GET", "/api/v5/public/underlying", { params: { instType } }),
|
|
21192
|
+
getTakerFlow: (ccy, instType, begin, end) => request("GET", "/api/v5/rubik/stat/taker-flow", { params: { ccy, instType, begin, end } })
|
|
21191
21193
|
};
|
|
21192
21194
|
var privateApi = {
|
|
21193
21195
|
getBalance: (auth, ccy) => request("GET", "/api/v5/account/balance", { params: { ccy }, auth }),
|
|
@@ -21211,6 +21213,11 @@ var privateApi = {
|
|
|
21211
21213
|
batchOrders: (auth, body) => request("POST", "/api/v5/trade/batch-orders", { body, auth }),
|
|
21212
21214
|
cancelBatchOrders: (auth, body) => request("POST", "/api/v5/trade/cancel-batch-orders", { body, auth }),
|
|
21213
21215
|
closePosition: (auth, body) => request("POST", "/api/v5/trade/close-position", { body, auth }),
|
|
21216
|
+
amendBatchOrders: (auth, body) => request("POST", "/api/v5/trade/amend-batch-orders", { body, auth }),
|
|
21217
|
+
getFillsHistory: (auth, instType, instId, limit) => request("GET", "/api/v5/trade/fills-history", { params: { instType, instId, limit }, auth }),
|
|
21218
|
+
massCancel: (auth, instType, instFamily) => request("POST", "/api/v5/trade/mass-cancel", { body: { instType, instFamily }, auth }),
|
|
21219
|
+
getMaxLoan: (auth, instId, mgnMode) => request("GET", "/api/v5/account/max-loan", { params: { instId, mgnMode }, auth }),
|
|
21220
|
+
getInterestAccrued: (auth, instId, ccy, limit) => request("GET", "/api/v5/account/interest-accrued", { params: { instId, ccy, limit }, auth }),
|
|
21214
21221
|
getOrdersPending: (auth, instType, instId, ordType) => request("GET", "/api/v5/trade/orders-pending", { params: { instType, instId, ordType }, auth }),
|
|
21215
21222
|
getFills: (auth, instType, instId, limit) => request("GET", "/api/v5/trade/fills", { params: { instType, instId, limit }, auth }),
|
|
21216
21223
|
getOrdersHistoryArchive: (auth, instType, limit) => request("GET", "/api/v5/trade/orders-history-archive", { params: { instType, limit }, auth }),
|
|
@@ -21790,6 +21797,58 @@ function registerPublicTools(server) {
|
|
|
21790
21797
|
}
|
|
21791
21798
|
}
|
|
21792
21799
|
);
|
|
21800
|
+
server.tool(
|
|
21801
|
+
"okx_get_underlying",
|
|
21802
|
+
`## \u529F\u80FD\uFF1A\u67E5\u8BE2OKX\u652F\u6301\u7684\u6807\u7684\u6307\u6570\u5217\u8868
|
|
21803
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u83B7\u53D6\u53EF\u4EA4\u6613\u7684\u5E95\u5C42\u8D44\u4EA7\u5217\u8868\u3001\u7B5B\u9009\u7279\u5B9A\u7C7B\u578B\u7684\u5408\u7EA6\u6807\u7684
|
|
21804
|
+
## \u5173\u952E\u8BCD\uFF1A\u6807\u7684\u6307\u6570, \u5E95\u5C42\u8D44\u4EA7, underlying, \u5408\u7EA6\u6807\u7684, \u6307\u6570\u5217\u8868
|
|
21805
|
+
## \u53C2\u6570\uFF1A
|
|
21806
|
+
## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002SWAP/FUTURES/OPTION\u3002\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8
|
|
21807
|
+
## \u9274\u6743\uFF1APUBLIC \u2014 \u516C\u5F00\u63A5\u53E3\uFF0C\u4E0D\u9700\u8981 API Key
|
|
21808
|
+
## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
|
|
21809
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
|
|
21810
|
+
## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u83B7\u53D6\u6807\u7684 \u2192 okx_get_instruments \u67E5\u5177\u4F53\u4EA7\u54C1 \u2192 okx_get_ticker \u67E5\u884C\u60C5`,
|
|
21811
|
+
{
|
|
21812
|
+
instType: external_exports.enum(["SWAP", "FUTURES", "OPTION"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B\uFF0C\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8")
|
|
21813
|
+
},
|
|
21814
|
+
async ({ instType }) => {
|
|
21815
|
+
try {
|
|
21816
|
+
const data = await publicApi.getUnderlying(instType);
|
|
21817
|
+
return toResult(data);
|
|
21818
|
+
} catch (e) {
|
|
21819
|
+
return toError(e);
|
|
21820
|
+
}
|
|
21821
|
+
}
|
|
21822
|
+
);
|
|
21823
|
+
server.tool(
|
|
21824
|
+
"okx_get_taker_flow",
|
|
21825
|
+
`## \u529F\u80FD\uFF1A\u83B7\u53D6\u4E3B\u52A8\u4E70\u5356\u6210\u4EA4\u6570\u636E\uFF08Taker\u6D41\u91CF\uFF09
|
|
21826
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u5224\u65AD\u591A\u7A7A\u529B\u91CF\u5BF9\u6BD4\uFF08\u4E70\u5165Taker\u591A=\u591A\u5934\u5F3A\uFF09\u3001\u5206\u6790\u8D44\u91D1\u6D41\u5411\u8D8B\u52BF
|
|
21827
|
+
## \u5173\u952E\u8BCD\uFF1A\u4E3B\u52A8\u6210\u4EA4, taker flow, \u4E70\u5356\u529B\u91CF, \u8D44\u91D1\u6D41\u5411, \u4E3B\u52A8\u4E70\u5356
|
|
21828
|
+
## \u53C2\u6570\uFF1A
|
|
21829
|
+
## - ccy: \u5E01\u79CD\uFF0C\u5982 BTC\u3002\u5FC5\u586B
|
|
21830
|
+
## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002SWAP/FUTURES\u3002\u53EF\u9009
|
|
21831
|
+
## - begin: \u5F00\u59CB\u65F6\u95F4\u6233(ms)\u3002\u53EF\u9009
|
|
21832
|
+
## - end: \u7ED3\u675F\u65F6\u95F4\u6233(ms)\u3002\u53EF\u9009
|
|
21833
|
+
## \u9274\u6743\uFF1APUBLIC \u2014 \u516C\u5F00\u63A5\u53E3\uFF0C\u4E0D\u9700\u8981 API Key
|
|
21834
|
+
## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
|
|
21835
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB
|
|
21836
|
+
## \u5173\u8054\uFF1Aokx_get_taker_volume \u67E5\u6210\u4EA4\u91CF \u2192 \u672C\u5DE5\u5177\u67E5Taker\u6D41\u5411 \u2192 \u5224\u65AD\u591A\u7A7A\u65B9\u5411`,
|
|
21837
|
+
{
|
|
21838
|
+
ccy: external_exports.string().describe("\u5E01\u79CD\uFF0C\u5982 BTC\u3002\u5FC5\u586B"),
|
|
21839
|
+
instType: external_exports.enum(["SWAP", "FUTURES"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B"),
|
|
21840
|
+
begin: external_exports.string().optional().describe("\u5F00\u59CB\u65F6\u95F4\u6233(ms)"),
|
|
21841
|
+
end: external_exports.string().optional().describe("\u7ED3\u675F\u65F6\u95F4\u6233(ms)")
|
|
21842
|
+
},
|
|
21843
|
+
async ({ ccy, instType, begin, end }) => {
|
|
21844
|
+
try {
|
|
21845
|
+
const data = await publicApi.getTakerFlow(ccy, instType, begin, end);
|
|
21846
|
+
return toResult(data);
|
|
21847
|
+
} catch (e) {
|
|
21848
|
+
return toError(e);
|
|
21849
|
+
}
|
|
21850
|
+
}
|
|
21851
|
+
);
|
|
21793
21852
|
}
|
|
21794
21853
|
|
|
21795
21854
|
// src/tools/account.ts
|
|
@@ -22019,6 +22078,60 @@ function registerAccountTools(server, auth) {
|
|
|
22019
22078
|
}
|
|
22020
22079
|
}
|
|
22021
22080
|
);
|
|
22081
|
+
server.tool(
|
|
22082
|
+
"okx_get_max_loan",
|
|
22083
|
+
`## \u529F\u80FD\uFF1A\u67E5\u8BE2\u67D0\u4EA7\u54C1\u7684\u6700\u5927\u53EF\u501F\u6570\u91CF
|
|
22084
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u6760\u6746\u4EA4\u6613\u524D\u5224\u65AD\u6700\u5927\u53EF\u501F\u989D\u5EA6\u3001\u8BA1\u7B97\u4FDD\u8BC1\u91D1\u4F7F\u7528\u7387
|
|
22085
|
+
## \u5173\u952E\u8BCD\uFF1A\u6700\u5927\u53EF\u501F, \u501F\u6B3E\u4E0A\u9650, max loan, \u6760\u6746\u501F\u6B3E, \u53EF\u501F\u989D\u5EA6
|
|
22086
|
+
## \u53C2\u6570\uFF1A
|
|
22087
|
+
## - instId: \u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT\u3002\u5FC5\u586B
|
|
22088
|
+
## - mgnMode: \u4FDD\u8BC1\u91D1\u6A21\u5F0F\u3002cross=\u5168\u4ED3, isolated=\u9010\u4ED3\u3002\u5FC5\u586B
|
|
22089
|
+
## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
|
|
22090
|
+
## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
|
|
22091
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u5355\u4EA7\u54C1 ~200B \u2014 \u5FAE\u5C0F
|
|
22092
|
+
## \u5173\u8054\uFF1Aokx_get_max_size \u67E5\u53EF\u5F00\u6570\u91CF \u2192 \u672C\u5DE5\u5177\u67E5\u53EF\u501F\u989D\u5EA6 \u2192 okx_place_order \u4E0B\u5355`,
|
|
22093
|
+
{
|
|
22094
|
+
instId: external_exports.string().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT\u3002\u5FC5\u586B"),
|
|
22095
|
+
mgnMode: external_exports.enum(["cross", "isolated"]).describe("\u4FDD\u8BC1\u91D1\u6A21\u5F0F\u3002cross=\u5168\u4ED3, isolated=\u9010\u4ED3")
|
|
22096
|
+
},
|
|
22097
|
+
async ({ instId, mgnMode }) => {
|
|
22098
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22099
|
+
try {
|
|
22100
|
+
const data = await privateApi.getMaxLoan(auth, instId, mgnMode);
|
|
22101
|
+
return toResult(data);
|
|
22102
|
+
} catch (e) {
|
|
22103
|
+
return toError(e);
|
|
22104
|
+
}
|
|
22105
|
+
}
|
|
22106
|
+
);
|
|
22107
|
+
server.tool(
|
|
22108
|
+
"okx_get_interest_accrued",
|
|
22109
|
+
`## \u529F\u80FD\uFF1A\u67E5\u8BE2\u501F\u5E01\u5229\u606F\u7D2F\u8BA1\u660E\u7EC6
|
|
22110
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u8BA1\u7B97\u5F53\u524D\u501F\u5E01\u6210\u672C\u3001\u8BC4\u4F30\u6301\u4ED3\u5229\u606F\u8D1F\u62C5\u3001\u51B3\u5B9A\u662F\u5426\u63D0\u524D\u8FD8\u6B3E
|
|
22111
|
+
## \u5173\u952E\u8BCD\uFF1A\u501F\u5E01\u5229\u606F, \u5229\u606F\u660E\u7EC6, interest accrued, \u501F\u6B3E\u6210\u672C, \u5229\u606F\u7D2F\u8BA1
|
|
22112
|
+
## \u53C2\u6570\uFF1A
|
|
22113
|
+
## - instId: \u4EA7\u54C1ID\uFF0C\u53EF\u9009
|
|
22114
|
+
## - ccy: \u5E01\u79CD\uFF0C\u5982 USDT\u3002\u53EF\u9009
|
|
22115
|
+
## - limit: \u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100
|
|
22116
|
+
## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
|
|
22117
|
+
## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
|
|
22118
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
|
|
22119
|
+
## \u5173\u8054\uFF1Aokx_get_balance \u67E5\u4F59\u989D \u2192 \u672C\u5DE5\u5177\u67E5\u5229\u606F \u2192 \u8BA1\u7B97\u51C0\u6536\u76CA`,
|
|
22120
|
+
{
|
|
22121
|
+
instId: external_exports.string().optional().describe("\u4EA7\u54C1ID\uFF0C\u53EF\u9009"),
|
|
22122
|
+
ccy: external_exports.string().optional().describe("\u5E01\u79CD\uFF0C\u5982 USDT"),
|
|
22123
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100")
|
|
22124
|
+
},
|
|
22125
|
+
async ({ instId, ccy, limit }) => {
|
|
22126
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22127
|
+
try {
|
|
22128
|
+
const data = await privateApi.getInterestAccrued(auth, instId, ccy, limit);
|
|
22129
|
+
return toResult(data);
|
|
22130
|
+
} catch (e) {
|
|
22131
|
+
return toError(e);
|
|
22132
|
+
}
|
|
22133
|
+
}
|
|
22134
|
+
);
|
|
22022
22135
|
}
|
|
22023
22136
|
|
|
22024
22137
|
// src/tools/trading.ts
|
|
@@ -22222,6 +22335,85 @@ function registerTradingTools(server, auth) {
|
|
|
22222
22335
|
}
|
|
22223
22336
|
}
|
|
22224
22337
|
);
|
|
22338
|
+
server.tool(
|
|
22339
|
+
"okx_amend_batch_orders",
|
|
22340
|
+
`## \u529F\u80FD\uFF1A\u6279\u91CF\u4FEE\u6539\u672A\u6210\u4EA4\u8BA2\u5355
|
|
22341
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u540C\u65F6\u8C03\u6574\u591A\u4E2A\u9650\u4EF7\u5355\u7684\u4EF7\u683C\u6216\u6570\u91CF\u3001\u6279\u91CF\u66F4\u65B0\u6302\u5355\u7B56\u7565
|
|
22342
|
+
## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u6539\u5355, \u6279\u91CF\u4FEE\u6539, amend batch orders, \u6279\u91CF\u6539\u4EF7, \u6279\u91CF\u8C03\u91CF
|
|
22343
|
+
## \u53C2\u6570\uFF1A
|
|
22344
|
+
## - orders: \u6539\u5355\u6570\u7EC4\uFF08JSON\u6570\u7EC4\u5B57\u7B26\u4E32\uFF09\uFF0C\u6BCF\u9879\u542B instId/ordId/newSz/newPx\u3002\u6700\u591A20\u7B14
|
|
22345
|
+
## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4
|
|
22346
|
+
## \u98CE\u9669\uFF1AWRITE \u2014 \u4FEE\u6539\u8BA2\u5355\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
|
|
22347
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
|
|
22348
|
+
## \u5173\u8054\uFF1Aokx_get_orders_pending \u67E5\u770B\u6302\u5355 \u2192 \u672C\u5DE5\u5177\u6279\u91CF\u6539\u5355 \u2192 okx_get_order \u786E\u8BA4\u4FEE\u6539`,
|
|
22349
|
+
{
|
|
22350
|
+
orders: external_exports.string().describe(`\u6539\u5355\u6570\u7EC4JSON\u5B57\u7B26\u4E32\uFF0C\u5982 '[{"instId":"BTC-USDT","ordId":"123","newPx":"62000"}]'\u3002\u6700\u591A20\u7B14`)
|
|
22351
|
+
},
|
|
22352
|
+
async ({ orders }) => {
|
|
22353
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22354
|
+
try {
|
|
22355
|
+
const parsed = JSON.parse(orders);
|
|
22356
|
+
const data = await privateApi.amendBatchOrders(auth, parsed);
|
|
22357
|
+
return toResult(data);
|
|
22358
|
+
} catch (e) {
|
|
22359
|
+
return toError(e);
|
|
22360
|
+
}
|
|
22361
|
+
}
|
|
22362
|
+
);
|
|
22363
|
+
server.tool(
|
|
22364
|
+
"okx_get_fills_history",
|
|
22365
|
+
`## \u529F\u80FD\uFF1A\u67E5\u8BE2\u5386\u53F2\u6210\u4EA4\u660E\u7EC6\uFF08\u6700\u8FD13\u4E2A\u6708\uFF09
|
|
22366
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u7CBE\u786E\u8BA1\u7B97\u5386\u53F2\u6210\u4EA4\u5747\u4EF7\u3001\u590D\u76D8\u4EA4\u6613\u8868\u73B0\u3001\u6838\u5BF9\u6210\u4EA4\u8BB0\u5F55
|
|
22367
|
+
## \u5173\u952E\u8BCD\uFF1A\u6210\u4EA4\u5386\u53F2, \u6210\u4EA4\u660E\u7EC6, fills history, \u5386\u53F2\u6210\u4EA4, \u9010\u7B14\u6210\u4EA4\u5386\u53F2
|
|
22368
|
+
## \u53C2\u6570\uFF1A
|
|
22369
|
+
## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002\u53EF\u9009
|
|
22370
|
+
## - instId: \u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT\u3002\u53EF\u9009
|
|
22371
|
+
## - limit: \u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100
|
|
22372
|
+
## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
|
|
22373
|
+
## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
|
|
22374
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~10KB
|
|
22375
|
+
## \u5173\u8054\uFF1Aokx_get_fills \u67E5\u6700\u8FD1\u6210\u4EA4 \u2192 \u672C\u5DE5\u5177\u67E5\u5386\u53F2\u6210\u4EA4 \u2192 okx_get_orders_history \u5BF9\u8D26`,
|
|
22376
|
+
{
|
|
22377
|
+
instType: external_exports.enum(["SPOT", "MARGIN", "SWAP", "FUTURES", "OPTION"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B"),
|
|
22378
|
+
instId: external_exports.string().optional().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT"),
|
|
22379
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100")
|
|
22380
|
+
},
|
|
22381
|
+
async ({ instType, instId, limit }) => {
|
|
22382
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22383
|
+
try {
|
|
22384
|
+
const data = await privateApi.getFillsHistory(auth, instType, instId, limit);
|
|
22385
|
+
return toResult(data);
|
|
22386
|
+
} catch (e) {
|
|
22387
|
+
return toError(e);
|
|
22388
|
+
}
|
|
22389
|
+
}
|
|
22390
|
+
);
|
|
22391
|
+
server.tool(
|
|
22392
|
+
"okx_mass_cancel",
|
|
22393
|
+
`## \u529F\u80FD\uFF1A\u6279\u91CF\u64A4\u9500\u67D0\u4EA7\u54C1\u7C7B\u578B\u4E0B\u6240\u6709\u6302\u5355
|
|
22394
|
+
## \u573A\u666F\uFF1A\u7528\u4E8E\u6781\u7AEF\u884C\u60C5\u4E0B\u7D27\u6025\u6E05\u7A7A\u6240\u6709\u6302\u5355\u3001\u5FEB\u901F\u91CD\u7F6E\u4EA4\u6613\u7B56\u7565
|
|
22395
|
+
## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u64A4\u5355, \u5168\u90E8\u64A4\u5355, mass cancel, \u6E05\u7A7A\u6302\u5355, \u7D27\u6025\u64A4\u5355
|
|
22396
|
+
## \u53C2\u6570\uFF1A
|
|
22397
|
+
## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002SPOT/MARGIN/SWAP/FUTURES/OPTION\u3002\u5FC5\u586B
|
|
22398
|
+
## - instFamily: \u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USDT\u3002\u53EF\u9009\uFF08\u4EC5\u5408\u7EA6\u9700\u8981\uFF09
|
|
22399
|
+
## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4
|
|
22400
|
+
## \u98CE\u9669\uFF1AWRITE \u2014 \u64A4\u9500\u6240\u6709\u6302\u5355\uFF0C\u5F71\u54CD\u8303\u56F4\u5927\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u786E\u8BA4
|
|
22401
|
+
## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
|
|
22402
|
+
## \u5173\u8054\uFF1Aokx_get_orders_pending \u786E\u8BA4\u6302\u5355 \u2192 \u672C\u5DE5\u5177\u5168\u90E8\u64A4\u9500 \u2192 okx_get_orders_history \u786E\u8BA4`,
|
|
22403
|
+
{
|
|
22404
|
+
instType: external_exports.enum(["SPOT", "MARGIN", "SWAP", "FUTURES", "OPTION"]).describe("\u4EA7\u54C1\u7C7B\u578B"),
|
|
22405
|
+
instFamily: external_exports.string().optional().describe("\u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USDT\u3002\u4EC5\u5408\u7EA6\u9700\u586B")
|
|
22406
|
+
},
|
|
22407
|
+
async ({ instType, instFamily }) => {
|
|
22408
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22409
|
+
try {
|
|
22410
|
+
const data = await privateApi.massCancel(auth, instType, instFamily);
|
|
22411
|
+
return toResult(data);
|
|
22412
|
+
} catch (e) {
|
|
22413
|
+
return toError(e);
|
|
22414
|
+
}
|
|
22415
|
+
}
|
|
22416
|
+
);
|
|
22225
22417
|
}
|
|
22226
22418
|
|
|
22227
22419
|
// src/tools/algo.ts
|
|
@@ -23225,7 +23417,7 @@ function registerSignalTools(server, auth) {
|
|
|
23225
23417
|
|
|
23226
23418
|
// src/index.ts
|
|
23227
23419
|
async function main() {
|
|
23228
|
-
const server = new McpServer({ name: "hvip", version: "0.2.
|
|
23420
|
+
const server = new McpServer({ name: "hvip", version: "0.2.1" });
|
|
23229
23421
|
const auth = getAuth();
|
|
23230
23422
|
registerMarketTools(server);
|
|
23231
23423
|
registerPublicTools(server);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hvip-mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "OKX ecosystem MCP server
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "OKX ecosystem MCP server - full API coverage for AI agents",
|
|
5
5
|
"homepage": "https://hvip.one",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"bin": {
|