hvip-mcp-server 0.2.25 → 0.2.26
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 +210 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21355,7 +21355,21 @@ var privateApi = {
|
|
|
21355
21355
|
getSpreadFills: (auth, sprdId, limit) => request("GET", "/api/v5/sprd/fills", { params: { sprdId, limit }, auth }),
|
|
21356
21356
|
// ── 第三批交易收尾 ─────────────────────────────────────────────────────────
|
|
21357
21357
|
resetMmp: (auth, body) => request("POST", "/api/v5/account/mmp-reset", { body, auth }),
|
|
21358
|
-
|
|
21358
|
+
// ── NEW: sprd affiliate ──
|
|
21359
|
+
getOrderByClientId: (auth, instId, clOrdId) => request("GET", "/api/v5/trade/order", { params: { instId, clOrdId }, auth }),
|
|
21360
|
+
// ── 价差收尾(第一批新缺口) ──────────────────────────────────────────
|
|
21361
|
+
getSpreadOrdersHistoryArchive: (auth, sprdId) => request("GET", "/api/v5/sprd/orders-history-archive", { params: { sprdId }, auth }),
|
|
21362
|
+
getSpreadPublicTrades: (sprdId) => request("GET", "/api/v5/sprd/public-trades", { params: { sprdId } }),
|
|
21363
|
+
getSpreadTradeFills: (auth, sprdId) => request("GET", "/api/v5/sprd/trades", { params: { sprdId }, auth }),
|
|
21364
|
+
// ── 子账户+推广(第三批新缺口) ──────────────────────────────────────
|
|
21365
|
+
createSubAccount: (auth, body) => request("POST", "/api/v5/users/subaccount/create-subaccount", { body, auth }),
|
|
21366
|
+
getEntrustSubAccountList: (auth) => request("GET", "/api/v5/users/entrust-subaccount-list", { auth }),
|
|
21367
|
+
getAffiliateInviteeList: (auth) => request("GET", "/api/v5/affiliate/invitee/list", { auth }),
|
|
21368
|
+
getAffiliateInviteeDetail: (auth, uid) => request("GET", "/api/v5/affiliate/invitee/detail", { params: { uid }, auth }),
|
|
21369
|
+
getAffiliateLinkList: (auth) => request("GET", "/api/v5/affiliate/link/list", { auth }),
|
|
21370
|
+
getAffiliatePerformance: (auth) => request("GET", "/api/v5/affiliate/performance/summary", { auth }),
|
|
21371
|
+
getAffiliateCoInviterList: (auth) => request("GET", "/api/v5/affiliate/co-inviter/list", { auth }),
|
|
21372
|
+
getAffiliateSubAffiliateList: (auth) => request("GET", "/api/v5/affiliate/sub-affiliate/list", { auth })
|
|
21359
21373
|
};
|
|
21360
21374
|
|
|
21361
21375
|
// src/adapters/hrails.ts
|
|
@@ -24015,6 +24029,39 @@ function registerSubAccountTools(server, auth) {
|
|
|
24015
24029
|
}
|
|
24016
24030
|
}
|
|
24017
24031
|
);
|
|
24032
|
+
server.tool(
|
|
24033
|
+
"okx_create_subaccount",
|
|
24034
|
+
"## \u529F\u80FD\uFF1A\u521B\u5EFA\u65B0\u7684\u5B50\u8D26\u6237\n## \u573A\u666F\uFF1A\u7528\u4E8E\u521B\u5EFA\u5B50\u8D26\u6237\u7BA1\u7406\u591A\u4E2A\u4EA4\u6613\u7B56\u7565\u3001\u9694\u79BB\u8D44\u91D1\u548C\u98CE\u9669\n## \u5173\u952E\u8BCD\uFF1A\u521B\u5EFA\u5B50\u8D26\u6237, create subaccount, \u65B0\u589E\u5B50\u8D26\u53F7\n## \u53C2\u6570\uFF1A\n## - subAcct: \u5B50\u8D26\u6237\u540D\u79F0\u3002\u5FC5\u586B\n## - label: \u5B50\u8D26\u6237\u5907\u6CE8\u3002\u53EF\u9009\n## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981\u4E3B\u8D26\u6237 API Key\uFF08\u7BA1\u7406\uFF09- \u5C06\u521B\u5EFA\u65B0\u5B50\u8D26\u6237\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u786E\u8BA4\n## \u98CE\u9669\uFF1AADMIN \u2014 \u521B\u5EFA\u5B50\u8D26\u6237\u5F71\u54CD\u8D26\u6237\u7ED3\u6784\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u7531\u7528\u6237\u786E\u8BA4\n## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u521B\u5EFA \u2192 okx_list_subaccounts \u67E5\u770B \u2192 okx_create_subaccount_api_key \u8BBE\u7F6EAPI",
|
|
24035
|
+
{
|
|
24036
|
+
subAcct: external_exports.string().describe("\u5B50\u8D26\u6237\u540D\u79F0\u3002\u5FC5\u586B"),
|
|
24037
|
+
label: external_exports.string().optional().describe("\u5B50\u8D26\u6237\u5907\u6CE8")
|
|
24038
|
+
},
|
|
24039
|
+
async ({ subAcct, label }) => {
|
|
24040
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
24041
|
+
try {
|
|
24042
|
+
const body = { subAcct };
|
|
24043
|
+
if (label) body.label = label;
|
|
24044
|
+
const data = await privateApi.createSubAccount(auth, body);
|
|
24045
|
+
return toResult(data);
|
|
24046
|
+
} catch (e) {
|
|
24047
|
+
return toError(e);
|
|
24048
|
+
}
|
|
24049
|
+
}
|
|
24050
|
+
);
|
|
24051
|
+
server.tool(
|
|
24052
|
+
"okx_get_entrust_subaccount_list",
|
|
24053
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u59D4\u6258\u5B50\u8D26\u6237\u5217\u8868\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u6258\u7BA1\u5B50\u8D26\u6237\u3001\u7BA1\u7406\u59D4\u6258\u4EA4\u6613\u6743\u9650\n## \u5173\u952E\u8BCD\uFF1A\u59D4\u6258\u5B50\u8D26\u6237, entrust subaccount, \u6258\u7BA1\u8D26\u6237, \u59D4\u6258\u7BA1\u7406\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u59D4\u6258\u5B50\u8D26\u6237 \u2192 \u7BA1\u7406\u5B50\u8D26\u6237\u6743\u9650",
|
|
24054
|
+
{},
|
|
24055
|
+
async () => {
|
|
24056
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
24057
|
+
try {
|
|
24058
|
+
const data = await privateApi.getEntrustSubAccountList(auth);
|
|
24059
|
+
return toResult(data);
|
|
24060
|
+
} catch (e) {
|
|
24061
|
+
return toError(e);
|
|
24062
|
+
}
|
|
24063
|
+
}
|
|
24064
|
+
);
|
|
24018
24065
|
}
|
|
24019
24066
|
|
|
24020
24067
|
// src/tools/finance.ts
|
|
@@ -24806,6 +24853,77 @@ function registerSpreadTools(server, auth) {
|
|
|
24806
24853
|
}
|
|
24807
24854
|
}
|
|
24808
24855
|
);
|
|
24856
|
+
server.tool(
|
|
24857
|
+
"okx_get_spread_orders_pending",
|
|
24858
|
+
"## \u529F\u80FD\uFF1A\u67E5\u8BE2\u4EF7\u5DEE\u5408\u7EA6\u5F53\u524D\u6302\u5355\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u4EF7\u5DEE\u5408\u7EA6\u7684\u672A\u6210\u4EA4\u8BA2\u5355\u5217\u8868\u3001\u76D1\u63A7\u6302\u5355\u72B6\u6001\n## \u5173\u952E\u8BCD\uFF1A\u4EF7\u5DEE\u6302\u5355, spread pending, \u4EF7\u5DEE\u59D4\u6258, \u4EF7\u5DEE\u672A\u6210\u4EA4\n## \u53C2\u6570\uFF1A\n## - sprdId: \u4EF7\u5DEE\u5408\u7EA6ID\u3002\u53EF\u9009\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB\n## \u5173\u8054\uFF1Aokx_place_spread_order \u4E0B\u5355 \u2192 \u672C\u5DE5\u5177\u67E5\u770B \u2192 okx_cancel_spread_order \u64A4\u9500",
|
|
24859
|
+
{
|
|
24860
|
+
sprdId: external_exports.string().optional().describe("\u4EF7\u5DEE\u5408\u7EA6ID")
|
|
24861
|
+
},
|
|
24862
|
+
async ({ sprdId }) => {
|
|
24863
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
24864
|
+
try {
|
|
24865
|
+
const data = await privateApi.getSpreadOrdersPending(auth, sprdId);
|
|
24866
|
+
return toResult(data);
|
|
24867
|
+
} catch (e) {
|
|
24868
|
+
return toError(e);
|
|
24869
|
+
}
|
|
24870
|
+
}
|
|
24871
|
+
);
|
|
24872
|
+
server.tool(
|
|
24873
|
+
"okx_get_spread_orders_history_archive",
|
|
24874
|
+
"## \u529F\u80FD\uFF1A\u67E5\u8BE2\u4EF7\u5DEE\u5408\u7EA6\u5F52\u6863\u5386\u53F2\u8BA2\u5355\uFF083\u4E2A\u6708\u524D\uFF09\n## \u573A\u666F\uFF1A\u7528\u4E8E\u957F\u671F\u590D\u76D8\u4EF7\u5DEE\u4EA4\u6613\u3001\u5E74\u5EA6\u4EA4\u6613\u7EDF\u8BA1\n## \u5173\u952E\u8BCD\uFF1A\u4EF7\u5DEE\u5F52\u6863, spread archive, \u4EF7\u5DEE\u5386\u53F2\u5F52\u6863, \u4EF7\u5DEE\u5B58\u6863\n## \u53C2\u6570\uFF1A\n## - sprdId: \u4EF7\u5DEE\u5408\u7EA6ID\u3002\u53EF\u9009\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1Aokx_get_spread_orders_history \u67E5\u8FD1\u671F \u2192 \u672C\u5DE5\u5177\u67E5\u5F52\u6863 \u2192 \u5B8C\u6574\u590D\u76D8",
|
|
24875
|
+
{
|
|
24876
|
+
sprdId: external_exports.string().optional().describe("\u4EF7\u5DEE\u5408\u7EA6ID")
|
|
24877
|
+
},
|
|
24878
|
+
async ({ sprdId }) => {
|
|
24879
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
24880
|
+
try {
|
|
24881
|
+
const data = await privateApi.getSpreadOrdersHistoryArchive(auth, sprdId);
|
|
24882
|
+
return toResult(data);
|
|
24883
|
+
} catch (e) {
|
|
24884
|
+
return toError(e);
|
|
24885
|
+
}
|
|
24886
|
+
}
|
|
24887
|
+
);
|
|
24888
|
+
server.tool(
|
|
24889
|
+
"okx_get_spread_trades_public",
|
|
24890
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6\u516C\u5F00\u6210\u4EA4\u8BB0\u5F55\n## \u573A\u666F\uFF1A\u7528\u4E8E\u65E0\u9700\u9274\u6743\u67E5\u770B\u4EF7\u5DEE\u5E02\u573A\u7684\u6210\u4EA4\u60C5\u51B5\u3001\u5206\u6790\u4EF7\u683C\u8D70\u52BF\n## \u5173\u952E\u8BCD\uFF1A\u4EF7\u5DEE\u516C\u5F00\u6210\u4EA4, spread public trades, \u516C\u5F00\u6210\u4EA4, \u4EF7\u5DEE\u6210\u4EA4\n## \u53C2\u6570\uFF1A\n## - sprdId: \u4EF7\u5DEE\u5408\u7EA6ID\u3002\u5FC5\u586B\n## \u9274\u6743\uFF1APUBLIC \u2014 \u516C\u5F00\u63A5\u53E3\uFF0C\u4E0D\u9700\u8981 API Key\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB\n## \u5173\u8054\uFF1Aokx_get_spread_trades \u770B\u5E26\u8BE6\u60C5\u6210\u4EA4 \u2192 \u672C\u5DE5\u5177\u516C\u5F00\u67E5\u8BE2",
|
|
24891
|
+
{
|
|
24892
|
+
sprdId: external_exports.string().describe("\u4EF7\u5DEE\u5408\u7EA6ID\u3002\u5FC5\u586B")
|
|
24893
|
+
},
|
|
24894
|
+
async ({ sprdId }) => {
|
|
24895
|
+
try {
|
|
24896
|
+
const data = await publicApi.getSpreadPublicTrades(sprdId);
|
|
24897
|
+
const enriched = data.map((item) => ({
|
|
24898
|
+
...item,
|
|
24899
|
+
tsIso: item.ts ? new Date(parseInt(item.ts)).toISOString() : void 0
|
|
24900
|
+
}));
|
|
24901
|
+
return toResult(enriched);
|
|
24902
|
+
} catch (e) {
|
|
24903
|
+
return toError(e);
|
|
24904
|
+
}
|
|
24905
|
+
}
|
|
24906
|
+
);
|
|
24907
|
+
server.tool(
|
|
24908
|
+
"okx_get_spread_trades_fills",
|
|
24909
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u4EF7\u5DEE\u5408\u7EA6\u7684\u6210\u4EA4\u660E\u7EC6\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u4EF7\u5DEE\u8BA2\u5355\u7684\u9010\u7B14\u6210\u4EA4\u8BB0\u5F55\u3001\u6838\u5BF9\u6210\u4EA4\u4EF7\n## \u5173\u952E\u8BCD\uFF1A\u4EF7\u5DEE\u6210\u4EA4\u660E\u7EC6, spread fills, \u4EF7\u5DEE\u9010\u7B14, \u4EF7\u5DEE\u6210\u4EA4\u8BB0\u5F55\n## \u53C2\u6570\uFF1A\n## - sprdId: \u4EF7\u5DEE\u5408\u7EA6ID\u3002\u53EF\u9009\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1Aokx_get_spread_orders \u67E5\u8BA2\u5355 \u2192 \u672C\u5DE5\u5177\u67E5\u6210\u4EA4 \u2192 \u6838\u7B97\u6210\u672C",
|
|
24910
|
+
{
|
|
24911
|
+
sprdId: external_exports.string().optional().describe("\u4EF7\u5DEE\u5408\u7EA6ID")
|
|
24912
|
+
},
|
|
24913
|
+
async ({ sprdId }) => {
|
|
24914
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
24915
|
+
try {
|
|
24916
|
+
const data = await privateApi.getSpreadTradeFills(auth, sprdId);
|
|
24917
|
+
const enriched = data.map((item) => ({
|
|
24918
|
+
...item,
|
|
24919
|
+
tsIso: item.ts ? new Date(parseInt(item.ts)).toISOString() : void 0
|
|
24920
|
+
}));
|
|
24921
|
+
return toResult(enriched);
|
|
24922
|
+
} catch (e) {
|
|
24923
|
+
return toError(e);
|
|
24924
|
+
}
|
|
24925
|
+
}
|
|
24926
|
+
);
|
|
24809
24927
|
}
|
|
24810
24928
|
|
|
24811
24929
|
// src/tools/copy.ts
|
|
@@ -25304,6 +25422,96 @@ function registerRfqTools(server, auth) {
|
|
|
25304
25422
|
);
|
|
25305
25423
|
}
|
|
25306
25424
|
|
|
25425
|
+
// src/tools/affiliate.ts
|
|
25426
|
+
function registerAffiliateTools(server, auth) {
|
|
25427
|
+
server.tool(
|
|
25428
|
+
"okx_get_affiliate_invitee_list",
|
|
25429
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u63A8\u5E7F\u9080\u8BF7\u7684\u7528\u6237\u5217\u8868\n## \u573A\u666F\uFF1A\u7528\u4E8E\u63A8\u5E7F\u5458\u67E5\u770B\u9080\u8BF7\u4E86\u54EA\u4E9B\u7528\u6237\u3001\u7EDF\u8BA1\u63A8\u5E7F\u6548\u679C\n## \u5173\u952E\u8BCD\uFF1A\u63A8\u5E7F\u5217\u8868, invitee list, \u9080\u8BF7\u5217\u8868, \u63A8\u5E7F\u5927\u4F7F\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u9080\u8BF7\u5217\u8868 \u2192 okx_get_affiliate_performance \u67E5\u770B\u63A8\u5E7F\u7EE9\u6548",
|
|
25430
|
+
{},
|
|
25431
|
+
async () => {
|
|
25432
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25433
|
+
try {
|
|
25434
|
+
const data = await privateApi.getAffiliateInviteeList(auth);
|
|
25435
|
+
return toResult(data);
|
|
25436
|
+
} catch (e) {
|
|
25437
|
+
return toError(e);
|
|
25438
|
+
}
|
|
25439
|
+
}
|
|
25440
|
+
);
|
|
25441
|
+
server.tool(
|
|
25442
|
+
"okx_get_affiliate_invitee_detail",
|
|
25443
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u63A8\u5E7F\u9080\u8BF7\u7684\u67D0\u4E2A\u7528\u6237\u8BE6\u7EC6\u4FE1\u606F\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u7279\u5B9A\u88AB\u9080\u8BF7\u7528\u6237\u7684\u4EA4\u6613\u91CF\u548C\u8FD4\u4F63\u8BE6\u60C5\n## \u5173\u952E\u8BCD\uFF1A\u9080\u8BF7\u8BE6\u60C5, invitee detail, \u63A8\u5E7F\u660E\u7EC6, \u7528\u6237\u8BE6\u60C5\n## \u53C2\u6570\uFF1A\n## - uid: \u7528\u6237ID\u3002\u53EF\u9009\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB\n## \u5173\u8054\uFF1Aokx_get_affiliate_invitee_list \u83B7\u53D6\u7528\u6237\u5217\u8868 \u2192 \u672C\u5DE5\u5177\u67E5\u8BE6\u60C5",
|
|
25444
|
+
{
|
|
25445
|
+
uid: external_exports.string().optional().describe("\u7528\u6237ID")
|
|
25446
|
+
},
|
|
25447
|
+
async ({ uid }) => {
|
|
25448
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25449
|
+
try {
|
|
25450
|
+
const data = await privateApi.getAffiliateInviteeDetail(auth, uid);
|
|
25451
|
+
return toResult(data);
|
|
25452
|
+
} catch (e) {
|
|
25453
|
+
return toError(e);
|
|
25454
|
+
}
|
|
25455
|
+
}
|
|
25456
|
+
);
|
|
25457
|
+
server.tool(
|
|
25458
|
+
"okx_get_affiliate_link_list",
|
|
25459
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u63A8\u5E7F\u94FE\u63A5\u5217\u8868\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u5DF2\u521B\u5EFA\u7684\u63A8\u5E7F\u94FE\u63A5\u3001\u7BA1\u7406\u63A8\u5E7F\u6E20\u9053\n## \u5173\u952E\u8BCD\uFF1A\u63A8\u5E7F\u94FE\u63A5, affiliate link, \u9080\u8BF7\u94FE\u63A5, \u63A8\u5E7F\u6E20\u9053\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u94FE\u63A5 \u2192 \u5206\u4EAB\u7ED9\u7528\u6237 \u2192 \u8FFD\u8E2A\u63A8\u5E7F\u6548\u679C",
|
|
25460
|
+
{},
|
|
25461
|
+
async () => {
|
|
25462
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25463
|
+
try {
|
|
25464
|
+
const data = await privateApi.getAffiliateLinkList(auth);
|
|
25465
|
+
return toResult(data);
|
|
25466
|
+
} catch (e) {
|
|
25467
|
+
return toError(e);
|
|
25468
|
+
}
|
|
25469
|
+
}
|
|
25470
|
+
);
|
|
25471
|
+
server.tool(
|
|
25472
|
+
"okx_get_affiliate_performance",
|
|
25473
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u63A8\u5E7F\u7EE9\u6548\u6C47\u603B\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u63A8\u5E7F\u6536\u76CA\u3001\u4EA4\u6613\u91CF\u3001\u8FD4\u4F63\u6BD4\u4F8B\u7B49\u6838\u5FC3\u6570\u636E\n## \u5173\u952E\u8BCD\uFF1A\u63A8\u5E7F\u7EE9\u6548, affiliate performance, \u63A8\u5E7F\u6536\u76CA, \u8FD4\u4F63, \u4F63\u91D1\u7EDF\u8BA1\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u603B\u7EE9\u6548 \u2192 okx_get_affiliate_invitee_list \u770B\u660E\u7EC6 \u2192 \u4F18\u5316\u63A8\u5E7F\u7B56\u7565",
|
|
25474
|
+
{},
|
|
25475
|
+
async () => {
|
|
25476
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25477
|
+
try {
|
|
25478
|
+
const data = await privateApi.getAffiliatePerformance(auth);
|
|
25479
|
+
return toResult(data);
|
|
25480
|
+
} catch (e) {
|
|
25481
|
+
return toError(e);
|
|
25482
|
+
}
|
|
25483
|
+
}
|
|
25484
|
+
);
|
|
25485
|
+
server.tool(
|
|
25486
|
+
"okx_get_co_inviter_list",
|
|
25487
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u8054\u5408\u9080\u8BF7\u4EBA\u5217\u8868\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u5408\u4F5C\u63A8\u5E7F\u7684\u8054\u5408\u9080\u8BF7\u4EBA\n## \u5173\u952E\u8BCD\uFF1A\u8054\u5408\u9080\u8BF7, co-inviter, \u5408\u4F5C\u63A8\u5E7F, \u5408\u9080\u5217\u8868\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u8054\u5408\u9080\u8BF7\u4EBA \u2192 \u7BA1\u7406\u5408\u4F5C\u63A8\u5E7F\u5173\u7CFB",
|
|
25488
|
+
{},
|
|
25489
|
+
async () => {
|
|
25490
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25491
|
+
try {
|
|
25492
|
+
const data = await privateApi.getAffiliateCoInviterList(auth);
|
|
25493
|
+
return toResult(data);
|
|
25494
|
+
} catch (e) {
|
|
25495
|
+
return toError(e);
|
|
25496
|
+
}
|
|
25497
|
+
}
|
|
25498
|
+
);
|
|
25499
|
+
server.tool(
|
|
25500
|
+
"okx_get_sub_affiliate_list",
|
|
25501
|
+
"## \u529F\u80FD\uFF1A\u83B7\u53D6\u4E0B\u7EA7\u63A8\u5E7F\u5458\u5217\u8868\n## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u81EA\u5DF1\u7684\u4E0B\u7EA7\u63A8\u5E7F\u5458\u3001\u7BA1\u7406\u63A8\u5E7F\u56E2\u961F\n## \u5173\u952E\u8BCD\uFF1A\u4E0B\u7EA7\u63A8\u5E7F, sub affiliate, \u4E0B\u7EA7\u4EE3\u7406, \u63A8\u5E7F\u56E2\u961F\n## \u53C2\u6570\uFF1A\u65E0\n## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09\n## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528\n## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB\n## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u770B\u4E0B\u7EA7\u63A8\u5E7F\u5458 \u2192 \u7BA1\u7406\u63A8\u5E7F\u56E2\u961F \u2192 \u5E26\u52A8\u56E2\u961F\u4E1A\u7EE9",
|
|
25502
|
+
{},
|
|
25503
|
+
async () => {
|
|
25504
|
+
if (!auth) return toError(AUTH_REQUIRED);
|
|
25505
|
+
try {
|
|
25506
|
+
const data = await privateApi.getAffiliateSubAffiliateList(auth);
|
|
25507
|
+
return toResult(data);
|
|
25508
|
+
} catch (e) {
|
|
25509
|
+
return toError(e);
|
|
25510
|
+
}
|
|
25511
|
+
}
|
|
25512
|
+
);
|
|
25513
|
+
}
|
|
25514
|
+
|
|
25307
25515
|
// src/index.ts
|
|
25308
25516
|
async function main() {
|
|
25309
25517
|
const server = new McpServer({ name: "hvip", version: "0.2.1" });
|
|
@@ -25322,6 +25530,7 @@ async function main() {
|
|
|
25322
25530
|
registerFundingTools(server, auth);
|
|
25323
25531
|
registerSubAccountTools(server, auth);
|
|
25324
25532
|
registerFinanceTools(server, auth);
|
|
25533
|
+
registerAffiliateTools(server, auth);
|
|
25325
25534
|
registerRfqTools(server, auth);
|
|
25326
25535
|
const transport = new StdioServerTransport();
|
|
25327
25536
|
await server.connect(transport);
|