hvip-mcp-server 0.1.7 → 0.1.8
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 +116 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21237,7 +21237,14 @@ var privateApi = {
|
|
|
21237
21237
|
getSavingsBalance: (auth, ccy) => request("GET", "/api/v5/finance/savings/balance", { params: { ccy }, auth }),
|
|
21238
21238
|
getSavingsLendingHistory: (auth, ccy) => request("GET", "/api/v5/finance/savings/lending-history", { params: { ccy }, auth }),
|
|
21239
21239
|
getStakingOffers: (auth, productId) => request("GET", "/api/v5/finance/staking-defi/offers", { params: { productId }, auth }),
|
|
21240
|
-
getEarnOffers: (ccy, productId) => request("GET", "/api/v5/finance/staking-defi/eth/balance", { params: { ccy, productId } })
|
|
21240
|
+
getEarnOffers: (ccy, productId) => request("GET", "/api/v5/finance/staking-defi/eth/balance", { params: { ccy, productId } }),
|
|
21241
|
+
// ── 信号交易(私有) ──────────────────────────────────────────────────────────
|
|
21242
|
+
getSignalBotsPending: (auth, algoId, instType) => request("GET", "/api/v5/tradingBot/signal/orders-algo-pending", { params: { algoOrdType: "contract", algoId, instType }, auth }),
|
|
21243
|
+
getSignalBotsHistory: (auth, algoId, instType, limit) => request("GET", "/api/v5/tradingBot/signal/orders-algo-history", { params: { algoOrdType: "contract", algoId, instType, limit }, auth }),
|
|
21244
|
+
getSignalPositions: (auth, algoId) => request("GET", "/api/v5/tradingBot/signal/positions", { params: { algoId }, auth }),
|
|
21245
|
+
getSignalPositionsHistory: (auth, algoId, limit) => request("GET", "/api/v5/tradingBot/signal/positions-history", { params: { algoOrdType: "contract", algoId, limit }, auth }),
|
|
21246
|
+
getSignalSubOrders: (auth, algoId, limit) => request("GET", "/api/v5/tradingBot/signal/sub-orders", { params: { algoOrdType: "contract", algoId, limit }, auth }),
|
|
21247
|
+
getSignalEventHistory: (auth, algoId, limit) => request("GET", "/api/v5/tradingBot/signal/event-histories", { params: { algoId, limit }, auth })
|
|
21241
21248
|
};
|
|
21242
21249
|
|
|
21243
21250
|
// src/adapters/hrails.ts
|
|
@@ -22764,9 +22771,115 @@ function registerCopyTools(server, auth) {
|
|
|
22764
22771
|
);
|
|
22765
22772
|
}
|
|
22766
22773
|
|
|
22774
|
+
// src/tools/signal.ts
|
|
22775
|
+
function registerSignalTools(server, auth) {
|
|
22776
|
+
server.tool(
|
|
22777
|
+
"okx_get_signal_bots_pending",
|
|
22778
|
+
"\u67E5\u8BE2\u5F53\u524D\u8FD0\u884C\u4E2D\u7684\u4FE1\u53F7\u4EA4\u6613\u673A\u5668\u4EBA\u5217\u8868\uFF0C\u542B\u54C1\u79CD\u3001\u65B9\u5411\u3001\u4ED3\u4F4D\u548C\u4FE1\u53F7\u6765\u6E90\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22779
|
+
{
|
|
22780
|
+
algoId: external_exports.string().optional().describe("\u6307\u5B9A\u673A\u5668\u4EBAID\uFF0C\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8"),
|
|
22781
|
+
instType: external_exports.enum(["SPOT", "SWAP", "FUTURES", "MARGIN"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B")
|
|
22782
|
+
},
|
|
22783
|
+
async ({ algoId, instType }) => {
|
|
22784
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22785
|
+
try {
|
|
22786
|
+
const data = await privateApi.getSignalBotsPending(auth, algoId, instType);
|
|
22787
|
+
return toResult(data);
|
|
22788
|
+
} catch (e) {
|
|
22789
|
+
return toError(e);
|
|
22790
|
+
}
|
|
22791
|
+
}
|
|
22792
|
+
);
|
|
22793
|
+
server.tool(
|
|
22794
|
+
"okx_get_signal_bots_history",
|
|
22795
|
+
"\u67E5\u8BE2\u5DF2\u505C\u6B62\u7684\u4FE1\u53F7\u4EA4\u6613\u673A\u5668\u4EBA\u5386\u53F2\u8BB0\u5F55\uFF0C\u542B\u6BCF\u4E2A\u673A\u5668\u4EBA\u7684\u7D2F\u8BA1\u76C8\u4E8F\u548C\u8FD0\u884C\u65F6\u957F\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22796
|
+
{
|
|
22797
|
+
algoId: external_exports.string().optional().describe("\u6307\u5B9A\u673A\u5668\u4EBAID"),
|
|
22798
|
+
instType: external_exports.enum(["SPOT", "SWAP", "FUTURES", "MARGIN"]).optional().describe("\u4EA7\u54C1\u7C7B\u578B"),
|
|
22799
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA420")
|
|
22800
|
+
},
|
|
22801
|
+
async ({ algoId, instType, limit }) => {
|
|
22802
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22803
|
+
try {
|
|
22804
|
+
const data = await privateApi.getSignalBotsHistory(auth, algoId, instType, limit);
|
|
22805
|
+
return toResult(data);
|
|
22806
|
+
} catch (e) {
|
|
22807
|
+
return toError(e);
|
|
22808
|
+
}
|
|
22809
|
+
}
|
|
22810
|
+
);
|
|
22811
|
+
server.tool(
|
|
22812
|
+
"okx_get_signal_positions",
|
|
22813
|
+
"\u67E5\u8BE2\u6307\u5B9A\u4FE1\u53F7\u673A\u5668\u4EBA\u7684\u5F53\u524D\u6301\u4ED3\uFF0C\u542B\u672A\u5B9E\u73B0\u76C8\u4E8F\u548C\u5F00\u4ED3\u5747\u4EF7\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22814
|
+
{
|
|
22815
|
+
algoId: external_exports.string().describe("\u4FE1\u53F7\u673A\u5668\u4EBAID\uFF08\u4ECE okx_get_signal_bots_pending \u83B7\u53D6\uFF09")
|
|
22816
|
+
},
|
|
22817
|
+
async ({ algoId }) => {
|
|
22818
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22819
|
+
try {
|
|
22820
|
+
const data = await privateApi.getSignalPositions(auth, algoId);
|
|
22821
|
+
return toResult(data);
|
|
22822
|
+
} catch (e) {
|
|
22823
|
+
return toError(e);
|
|
22824
|
+
}
|
|
22825
|
+
}
|
|
22826
|
+
);
|
|
22827
|
+
server.tool(
|
|
22828
|
+
"okx_get_signal_positions_history",
|
|
22829
|
+
"\u67E5\u8BE2\u6307\u5B9A\u4FE1\u53F7\u673A\u5668\u4EBA\u7684\u5386\u53F2\u6301\u4ED3\u8BB0\u5F55\uFF0C\u542B\u6BCF\u7B14\u7684\u5B9E\u73B0\u76C8\u4E8F\u548C\u6301\u4ED3\u65F6\u957F\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22830
|
+
{
|
|
22831
|
+
algoId: external_exports.string().describe("\u4FE1\u53F7\u673A\u5668\u4EBAID\uFF08\u4ECE okx_get_signal_bots_history \u83B7\u53D6\uFF09"),
|
|
22832
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA420")
|
|
22833
|
+
},
|
|
22834
|
+
async ({ algoId, limit }) => {
|
|
22835
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22836
|
+
try {
|
|
22837
|
+
const data = await privateApi.getSignalPositionsHistory(auth, algoId, limit);
|
|
22838
|
+
return toResult(data);
|
|
22839
|
+
} catch (e) {
|
|
22840
|
+
return toError(e);
|
|
22841
|
+
}
|
|
22842
|
+
}
|
|
22843
|
+
);
|
|
22844
|
+
server.tool(
|
|
22845
|
+
"okx_get_signal_sub_orders",
|
|
22846
|
+
"\u67E5\u8BE2\u4FE1\u53F7\u673A\u5668\u4EBA\u89E6\u53D1\u7684\u5B50\u8BA2\u5355\u5217\u8868\uFF0C\u53EF\u8FFD\u8E2A\u6BCF\u4E2A\u4FE1\u53F7\u5BF9\u5E94\u7684\u5B9E\u9645\u4E0B\u5355\u60C5\u51B5\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22847
|
+
{
|
|
22848
|
+
algoId: external_exports.string().describe("\u4FE1\u53F7\u673A\u5668\u4EBAID"),
|
|
22849
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA420")
|
|
22850
|
+
},
|
|
22851
|
+
async ({ algoId, limit }) => {
|
|
22852
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22853
|
+
try {
|
|
22854
|
+
const data = await privateApi.getSignalSubOrders(auth, algoId, limit);
|
|
22855
|
+
return toResult(data);
|
|
22856
|
+
} catch (e) {
|
|
22857
|
+
return toError(e);
|
|
22858
|
+
}
|
|
22859
|
+
}
|
|
22860
|
+
);
|
|
22861
|
+
server.tool(
|
|
22862
|
+
"okx_get_signal_event_history",
|
|
22863
|
+
"\u67E5\u8BE2\u4FE1\u53F7\u673A\u5668\u4EBA\u6536\u5230\u7684\u4FE1\u53F7\u4E8B\u4EF6\u5386\u53F2\uFF0C\u542B\u6BCF\u6761\u4FE1\u53F7\u7684\u5185\u5BB9\u3001\u89E6\u53D1\u65F6\u95F4\u548C\u6267\u884C\u7ED3\u679C\u3002\u26A0\uFE0F \u9700\u8981API Key\u9274\u6743\u3002",
|
|
22864
|
+
{
|
|
22865
|
+
algoId: external_exports.string().describe("\u4FE1\u53F7\u673A\u5668\u4EBAID"),
|
|
22866
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA420")
|
|
22867
|
+
},
|
|
22868
|
+
async ({ algoId, limit }) => {
|
|
22869
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
22870
|
+
try {
|
|
22871
|
+
const data = await privateApi.getSignalEventHistory(auth, algoId, limit);
|
|
22872
|
+
return toResult(data);
|
|
22873
|
+
} catch (e) {
|
|
22874
|
+
return toError(e);
|
|
22875
|
+
}
|
|
22876
|
+
}
|
|
22877
|
+
);
|
|
22878
|
+
}
|
|
22879
|
+
|
|
22767
22880
|
// src/index.ts
|
|
22768
22881
|
async function main() {
|
|
22769
|
-
const server = new McpServer({ name: "hvip", version: "0.1.
|
|
22882
|
+
const server = new McpServer({ name: "hvip", version: "0.1.8" });
|
|
22770
22883
|
const auth = getAuth();
|
|
22771
22884
|
registerMarketTools(server);
|
|
22772
22885
|
registerPublicTools(server);
|
|
@@ -22778,6 +22891,7 @@ async function main() {
|
|
|
22778
22891
|
registerAlgoTools(server, auth);
|
|
22779
22892
|
registerBotTools(server, auth);
|
|
22780
22893
|
registerCopyTools(server, auth);
|
|
22894
|
+
registerSignalTools(server, auth);
|
|
22781
22895
|
registerFundingTools(server, auth);
|
|
22782
22896
|
registerSubAccountTools(server, auth);
|
|
22783
22897
|
registerFinanceTools(server, auth);
|