hchain-mcp 1.0.3 → 1.1.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/README.md +4 -3
- package/dist/http.js +2 -0
- package/dist/http.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/balance.d.ts.map +1 -1
- package/dist/tools/balance.js +23 -19
- package/dist/tools/balance.js.map +1 -1
- package/dist/tools/defi.d.ts.map +1 -1
- package/dist/tools/defi.js +54 -88
- package/dist/tools/defi.js.map +1 -1
- package/dist/tools/gateway.js +11 -11
- package/dist/tools/gateway.js.map +1 -1
- package/dist/tools/help.d.ts +8 -0
- package/dist/tools/help.d.ts.map +1 -0
- package/dist/tools/help.js +92 -0
- package/dist/tools/help.js.map +1 -0
- package/dist/tools/intent.js +12 -18
- package/dist/tools/intent.js.map +1 -1
- package/dist/tools/market.d.ts.map +1 -1
- package/dist/tools/market.js +121 -113
- package/dist/tools/market.js.map +1 -1
- package/dist/tools/payments.js +5 -5
- package/dist/tools/payments.js.map +1 -1
- package/dist/tools/skills.d.ts.map +1 -1
- package/dist/tools/skills.js +78 -14
- package/dist/tools/skills.js.map +1 -1
- package/dist/tools/trade.d.ts.map +1 -1
- package/dist/tools/trade.js +33 -24
- package/dist/tools/trade.js.map +1 -1
- package/dist/tools/txhistory.d.ts.map +1 -1
- package/dist/tools/txhistory.js +10 -6
- package/dist/tools/txhistory.js.map +1 -1
- package/dist/tools/ws.js +6 -6
- package/dist/tools/ws.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://github.com/hwalletvip888-h/hchain-mcp/actions)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
|
|
9
|
-
AI-native multi-chain trading MCP Server —
|
|
9
|
+
AI-native multi-chain trading MCP Server — 100 tools over HTTP & stdio.
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -78,7 +78,7 @@ Or HTTP mode:
|
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
## Tools (
|
|
81
|
+
## Tools (100)
|
|
82
82
|
|
|
83
83
|
### Phase 1 — Base APIs (95 tools)
|
|
84
84
|
|
|
@@ -94,7 +94,7 @@ Or HTTP mode:
|
|
|
94
94
|
| WS | 4 | WebSocket connect/subscribe |
|
|
95
95
|
| TxHistory | 3 | Transaction history |
|
|
96
96
|
|
|
97
|
-
### Phase 2 — API Composition Skills (
|
|
97
|
+
### Phase 2 — API Composition Skills (5 tools)
|
|
98
98
|
|
|
99
99
|
| Tool | Description |
|
|
100
100
|
|------|-------------|
|
|
@@ -102,6 +102,7 @@ Or HTTP mode:
|
|
|
102
102
|
| `onchainos_skill_risk_detect` | 4-dimension risk scan with 0-100 scoring |
|
|
103
103
|
| `onchainos_skill_smart_slippage` | Volatility-based slippage recommendation |
|
|
104
104
|
| `onchainos_skill_signal_aggregate` | Signal discovery with automatic risk filtering |
|
|
105
|
+
| `onchainos_skill_market_overview` | Market overview: price + candles + security + sentiment |
|
|
105
106
|
|
|
106
107
|
## Docker
|
|
107
108
|
|
package/dist/http.js
CHANGED
|
@@ -21,6 +21,7 @@ import { registerIntentTools } from "./tools/intent.js";
|
|
|
21
21
|
import { registerMarketTools } from "./tools/market.js";
|
|
22
22
|
import { registerWsTools } from "./tools/ws.js";
|
|
23
23
|
import { registerSkillTools } from "./tools/skills.js";
|
|
24
|
+
import { registerHelpTools } from "./tools/help.js";
|
|
24
25
|
const { version } = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
25
26
|
/** 简陋 body parser — 读 JSON body 到 req.body */
|
|
26
27
|
function jsonBody(req) {
|
|
@@ -88,6 +89,7 @@ async function main() {
|
|
|
88
89
|
registerMarketTools(server, auth);
|
|
89
90
|
registerWsTools(server, auth);
|
|
90
91
|
registerSkillTools(server, auth);
|
|
92
|
+
registerHelpTools(server, auth);
|
|
91
93
|
// 3. 连接 server 到 HTTP transport
|
|
92
94
|
await server.connect(transport);
|
|
93
95
|
// 4. 原生 HTTP server
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import { registerIntentTools } from "./tools/intent.js";
|
|
|
18
18
|
import { registerMarketTools } from "./tools/market.js";
|
|
19
19
|
import { registerWsTools } from "./tools/ws.js";
|
|
20
20
|
import { registerSkillTools } from "./tools/skills.js";
|
|
21
|
+
import { registerHelpTools } from "./tools/help.js";
|
|
21
22
|
const { version } = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
22
23
|
function shutdown(signal) {
|
|
23
24
|
console.error(`[h-mcp] 收到 ${signal},优雅退出`);
|
|
@@ -46,6 +47,7 @@ async function main() {
|
|
|
46
47
|
registerMarketTools(server, auth);
|
|
47
48
|
registerWsTools(server, auth);
|
|
48
49
|
registerSkillTools(server, auth);
|
|
50
|
+
registerHelpTools(server, auth);
|
|
49
51
|
const transport = new StdioServerTransport();
|
|
50
52
|
await server.connect(transport);
|
|
51
53
|
console.error("[h-mcp] 就绪");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAsE/E"}
|
package/dist/tools/balance.js
CHANGED
|
@@ -6,60 +6,64 @@ import { z } from "zod";
|
|
|
6
6
|
import { balanceApi } from "../adapters/onchainos.js";
|
|
7
7
|
import { toResult, toError, AUTH_REQUIRED } from "../adapters/shared.js";
|
|
8
8
|
export function registerBalanceTools(server, auth) {
|
|
9
|
-
server.tool("onchainos_balance_supported_chain", "链上-账户 | 获取余额 API
|
|
9
|
+
server.tool("onchainos_balance_supported_chain", "链上-账户 | 获取余额 API 支持的链列表【场景:查哪些链有余额API支持】", { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async () => { if (!auth)
|
|
10
10
|
return AUTH_REQUIRED("READ"); try {
|
|
11
11
|
return toResult(await balanceApi.supportedChain(auth));
|
|
12
12
|
}
|
|
13
13
|
catch (e) {
|
|
14
14
|
return toError(e);
|
|
15
15
|
} });
|
|
16
|
-
server.tool("onchainos_balance_total_value", "链上-账户 | 获取地址的总资产 USD
|
|
16
|
+
server.tool("onchainos_balance_total_value", "链上-账户 | 获取地址的总资产 USD 估值【场景:查钱包总余额/总资产】", {
|
|
17
17
|
address: z.string().describe("钱包地址。Agent 从用户输入或上下文获取"),
|
|
18
|
-
chains: z.string().describe("
|
|
18
|
+
chains: z.string().describe("链ID,逗号分隔最多50个。如 '1,56,501,8453'。⚠️ 不确定钱包在哪些链 → 传 '1,56,501,8453,42161,137,196' 盲查全部主流链"),
|
|
19
19
|
assetType: z.enum(["0", "1", "2"]).optional().describe("资产类型: 不传默认所有, '0'=代币+DeFi, '1'=仅代币, '2'=仅DeFi"),
|
|
20
20
|
excludeRiskToken: z.boolean().optional().describe("过滤风险/貔貅代币。不传默认过滤, false 传不过滤"),
|
|
21
21
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ address, chains, assetType, excludeRiskToken }) => {
|
|
22
22
|
if (!auth)
|
|
23
23
|
return AUTH_REQUIRED("READ");
|
|
24
24
|
try {
|
|
25
|
-
return toResult(await balanceApi.totalValue(auth, address, chains, assetType, excludeRiskToken)
|
|
25
|
+
return toResult(await balanceApi.totalValue(auth, address, chains, assetType, excludeRiskToken), {
|
|
26
|
+
nextSteps: [
|
|
27
|
+
{ action: "查持仓明细", tool: "onchainos_balance_all_tokens", params: { address, chains } },
|
|
28
|
+
{ action: "分析地址画像(PnL/胜率)", tool: "onchainos_portfolio_overview", condition: "需要指定单链" },
|
|
29
|
+
],
|
|
30
|
+
});
|
|
26
31
|
}
|
|
27
32
|
catch (e) {
|
|
28
33
|
return toError(e);
|
|
29
34
|
}
|
|
30
35
|
});
|
|
31
|
-
server.tool("onchainos_balance_all_tokens", "链上-账户 |
|
|
36
|
+
server.tool("onchainos_balance_all_tokens", "链上-账户 | 获取地址的代币持仓明细【场景:查钱包里有什么币/持仓列表】", {
|
|
32
37
|
address: z.string().describe("钱包地址。Agent 从用户输入或上下文获取"),
|
|
33
|
-
chains: z.string().describe("
|
|
38
|
+
chains: z.string().describe("链ID,逗号分隔最多50个。如 '1,56,501,8453'。⚠️ 不确定钱包在哪些链 → 传 '1,56,501,8453,42161,137,196' 盲查全部主流链"),
|
|
34
39
|
excludeRiskToken: z.enum(["0", "1"]).optional().describe("'0'=过滤风险/貔貅代币(默认), '1'=不过滤"),
|
|
35
40
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ address, chains, excludeRiskToken }) => {
|
|
36
41
|
if (!auth)
|
|
37
42
|
return AUTH_REQUIRED("READ");
|
|
38
43
|
try {
|
|
39
|
-
return toResult(await balanceApi.allTokenBalances(auth, address, chains, excludeRiskToken)
|
|
44
|
+
return toResult(await balanceApi.allTokenBalances(auth, address, chains, excludeRiskToken), {
|
|
45
|
+
nextSteps: [
|
|
46
|
+
{ action: "如发现高风险代币, 做安全分析", tool: "onchainos_token_advanced_info", condition: "需要 chainIndex + tokenContractAddress" },
|
|
47
|
+
{ action: "分析地址交易历史", tool: "onchainos_transaction_history", params: { address, chains } },
|
|
48
|
+
],
|
|
49
|
+
});
|
|
40
50
|
}
|
|
41
51
|
catch (e) {
|
|
42
52
|
return toError(e);
|
|
43
53
|
}
|
|
44
54
|
});
|
|
45
|
-
server.tool("onchainos_balance_specific_token", "链上-账户 |
|
|
55
|
+
server.tool("onchainos_balance_specific_token", "链上-账户 | 批量查询指定代币余额【场景:查某个代币在钱包里的数量】", {
|
|
46
56
|
address: z.string().describe("钱包地址。Agent 从用户输入或上下文获取"),
|
|
47
|
-
tokens: z.
|
|
57
|
+
tokens: z.array(z.object({
|
|
58
|
+
chainIndex: z.string().describe("链ID(字符串)。如 '1'=ETH '56'=BSC '501'=Solana。不确定先调 onchainos_balance_supported_chain"),
|
|
59
|
+
tokenContractAddress: z.string().describe("代币合约地址(小写)。主链币传空字符串 ''"),
|
|
60
|
+
})).min(1).max(20).describe("要查询的代币列表, 最多20个。每个元素指定在哪条链查哪个代币"),
|
|
48
61
|
excludeRiskToken: z.enum(["0", "1"]).optional().describe("'0'=过滤风险/貔貅代币(默认), '1'=不过滤"),
|
|
49
62
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ address, tokens, excludeRiskToken }) => {
|
|
50
63
|
if (!auth)
|
|
51
64
|
return AUTH_REQUIRED("READ");
|
|
52
65
|
try {
|
|
53
|
-
|
|
54
|
-
try {
|
|
55
|
-
parsed = JSON.parse(tokens);
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return toError(new Error("tokens 格式错误: 需要 JSON 数组, 例 [{\"chainIndex\":\"1\",\"tokenContractAddress\":\"0xabc...\"}]"));
|
|
59
|
-
}
|
|
60
|
-
if (!Array.isArray(parsed) || parsed.length === 0 || parsed.length > 20)
|
|
61
|
-
return toError(new Error("tokens 需为非空数组且最多20个元素"));
|
|
62
|
-
return toResult(await balanceApi.specificTokenBalance(auth, address, parsed, excludeRiskToken));
|
|
66
|
+
return toResult(await balanceApi.specificTokenBalance(auth, address, tokens, excludeRiskToken));
|
|
63
67
|
}
|
|
64
68
|
catch (e) {
|
|
65
69
|
return toError(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGzE,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,IAAiB;IAEvE,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAC7C,
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/defi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defi.d.ts","sourceRoot":"","sources":["../../src/tools/defi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"defi.d.ts","sourceRoot":"","sources":["../../src/tools/defi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAqO5E"}
|
package/dist/tools/defi.js
CHANGED
|
@@ -6,53 +6,37 @@ import { z } from "zod";
|
|
|
6
6
|
import { defiApi } from "../adapters/onchainos.js";
|
|
7
7
|
import { toResult, toError, AUTH_REQUIRED } from "../adapters/shared.js";
|
|
8
8
|
export function registerDefiTools(server, auth) {
|
|
9
|
-
server.tool("onchainos_defi_supported_chains", "链上-分析 | 获取 DeFi
|
|
9
|
+
server.tool("onchainos_defi_supported_chains", "链上-分析 | 获取 DeFi 投资品覆盖的链列表【场景:查哪些链有DeFi投资品】", {}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async () => { if (!auth)
|
|
10
10
|
return AUTH_REQUIRED("READ"); try {
|
|
11
11
|
return toResult(await defiApi.supportedChains(auth));
|
|
12
12
|
}
|
|
13
13
|
catch (e) {
|
|
14
14
|
return toError(e);
|
|
15
15
|
} });
|
|
16
|
-
server.tool("onchainos_defi_supported_platforms", "链上-分析 | 获取支持的 DeFi
|
|
16
|
+
server.tool("onchainos_defi_supported_platforms", "链上-分析 | 获取支持的 DeFi 协议列表【场景:查有哪些DeFi协议/Aave等】", {}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async () => { if (!auth)
|
|
17
17
|
return AUTH_REQUIRED("READ"); try {
|
|
18
18
|
return toResult(await defiApi.supportedPlatforms(auth));
|
|
19
19
|
}
|
|
20
20
|
catch (e) {
|
|
21
21
|
return toError(e);
|
|
22
22
|
} });
|
|
23
|
-
server.tool("onchainos_defi_search_products", "链上-分析 | 按代币/协议/链搜索 DeFi
|
|
24
|
-
tokenKeywordList: z.string().describe("
|
|
25
|
-
platformKeywordList: z.string().optional().describe("
|
|
23
|
+
server.tool("onchainos_defi_search_products", "链上-分析 | 按代币/协议/链搜索 DeFi 投资品【场景:搜理财/赚币/质押产品】", {
|
|
24
|
+
tokenKeywordList: z.array(z.string()).min(1).describe("代币关键词, 如 ['USDC','ETH']。支持传名称或符号"),
|
|
25
|
+
platformKeywordList: z.array(z.string()).optional().describe("协议关键词过滤, 如 ['Aave V3']。从 onchainos_defi_supported_platforms 获取可用协议名"),
|
|
26
26
|
pageNum: z.number().int().min(1).optional().describe("页码, 最小1, 每页20条。默认1"),
|
|
27
|
-
chainIndex: z.string().optional().describe("链ID(字符串)。如 '1'=ETH '8453'=Base
|
|
27
|
+
chainIndex: z.string().optional().describe("链ID(字符串)。如 '1'=ETH '8453'=Base。不传查所有链。不确定先调 onchainos_defi_supported_chains"),
|
|
28
28
|
productGroup: z.enum(["SINGLE_EARN", "DEX_POOL", "LENDING"]).optional().describe("投资类型: SINGLE_EARN=单币赚币 DEX_POOL=流动性池 LENDING=借贷"),
|
|
29
29
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ tokenKeywordList, platformKeywordList, pageNum, chainIndex, productGroup }) => {
|
|
30
30
|
if (!auth)
|
|
31
31
|
return AUTH_REQUIRED("READ");
|
|
32
32
|
try {
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
tokens = JSON.parse(tokenKeywordList);
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return toError(new Error("tokenKeywordList 格式错误: 需要 JSON 数组, 如 '[\"USDC\"]'"));
|
|
39
|
-
}
|
|
40
|
-
let platforms;
|
|
41
|
-
if (platformKeywordList) {
|
|
42
|
-
try {
|
|
43
|
-
platforms = JSON.parse(platformKeywordList);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return toError(new Error("platformKeywordList 格式错误: 需要 JSON 数组"));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return toResult(await defiApi.searchProducts(auth, { tokenKeywordList: tokens, platformKeywordList: platforms, pageNum, chainIndex, productGroup }));
|
|
33
|
+
return toResult(await defiApi.searchProducts(auth, { tokenKeywordList, platformKeywordList, pageNum, chainIndex, productGroup }));
|
|
50
34
|
}
|
|
51
35
|
catch (e) {
|
|
52
36
|
return toError(e);
|
|
53
37
|
}
|
|
54
38
|
});
|
|
55
|
-
server.tool("onchainos_defi_product_detail", "链上-分析 | 获取投资品详情(APY/资产/状态)", {
|
|
39
|
+
server.tool("onchainos_defi_product_detail", "链上-分析 | 获取投资品详情(APY/资产/状态)【场景:看理财产品详情/收益率】", {
|
|
56
40
|
investmentId: z.string().describe("投资品ID。从 onchainos_defi_search_products 返回值的 investmentId 字段获取"),
|
|
57
41
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ investmentId }) => { if (!auth)
|
|
58
42
|
return AUTH_REQUIRED("READ"); try {
|
|
@@ -61,7 +45,7 @@ export function registerDefiTools(server, auth) {
|
|
|
61
45
|
catch (e) {
|
|
62
46
|
return toError(e);
|
|
63
47
|
} });
|
|
64
|
-
server.tool("onchainos_defi_rate_chart", "链上-分析 | 获取投资品历史 APY
|
|
48
|
+
server.tool("onchainos_defi_rate_chart", "链上-分析 | 获取投资品历史 APY 走势【场景:看APY收益率历史曲线】", {
|
|
65
49
|
investmentId: z.string().describe("投资品ID。从 onchainos_defi_search_products 返回值获取"),
|
|
66
50
|
timeRange: z.enum(["WEEK", "MONTH", "SEASON", "YEAR"]).optional().describe("时间范围: WEEK=一周 MONTH=一月 SEASON=三月 YEAR=一年。默认WEEK"),
|
|
67
51
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ investmentId, timeRange }) => { if (!auth)
|
|
@@ -71,7 +55,7 @@ export function registerDefiTools(server, auth) {
|
|
|
71
55
|
catch (e) {
|
|
72
56
|
return toError(e);
|
|
73
57
|
} });
|
|
74
|
-
server.tool("onchainos_defi_tvl_chart", "链上-分析 | 获取投资品历史 TVL
|
|
58
|
+
server.tool("onchainos_defi_tvl_chart", "链上-分析 | 获取投资品历史 TVL 走势【场景:看TVL/锁仓量历史曲线】", {
|
|
75
59
|
investmentId: z.string().describe("投资品ID"),
|
|
76
60
|
timeRange: z.enum(["WEEK", "MONTH", "SEASON", "YEAR"]).optional().describe("时间范围。默认WEEK"),
|
|
77
61
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ investmentId, timeRange }) => { if (!auth)
|
|
@@ -81,7 +65,7 @@ export function registerDefiTools(server, auth) {
|
|
|
81
65
|
catch (e) {
|
|
82
66
|
return toError(e);
|
|
83
67
|
} });
|
|
84
|
-
server.tool("onchainos_defi_depth_price_chart", "链上-分析 | 获取 V3 Pool
|
|
68
|
+
server.tool("onchainos_defi_depth_price_chart", "链上-分析 | 获取 V3 Pool 流动性深度/价格图【场景:看V3池的深度图/价格分布】", {
|
|
85
69
|
investmentId: z.string().describe("投资品ID"),
|
|
86
70
|
chartType: z.enum(["DEPTH", "PRICE"]).optional().describe("图表类型: DEPTH=深度图(默认) PRICE=价格历史图"),
|
|
87
71
|
timeRange: z.enum(["DAY", "WEEK"]).optional().describe("时间范围(仅chartType=PRICE时生效): DAY=24h WEEK=1周。默认DAY"),
|
|
@@ -92,14 +76,14 @@ export function registerDefiTools(server, auth) {
|
|
|
92
76
|
catch (e) {
|
|
93
77
|
return toError(e);
|
|
94
78
|
} });
|
|
95
|
-
server.tool("onchainos_defi_prepare_transaction", "链上-分析 |
|
|
79
|
+
server.tool("onchainos_defi_prepare_transaction", "链上-分析 | 申购/赎回前的参数准备【场景:申购前查准备参数/支持哪些代币】", { investmentId: z.string().describe("投资品ID。从 onchainos_defi_search_products 返回值获取") }, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ investmentId }) => { if (!auth)
|
|
96
80
|
return AUTH_REQUIRED("READ"); try {
|
|
97
81
|
return toResult(await defiApi.prepareTransaction(auth, investmentId));
|
|
98
82
|
}
|
|
99
83
|
catch (e) {
|
|
100
84
|
return toError(e);
|
|
101
85
|
} });
|
|
102
|
-
server.tool("onchainos_defi_calc_enter_info", "链上-分析 | V3 Pool
|
|
86
|
+
server.tool("onchainos_defi_calc_enter_info", "链上-分析 | V3 Pool 双币分配计算【场景:算V3池双币投入分配】", {
|
|
103
87
|
inputAmount: z.string().describe("单币金额, 人类可读(如'0.05')"),
|
|
104
88
|
inputTokenAddress: z.string().describe("输入的代币合约地址。可以是 V3 Pool 的 token0 或 token1"),
|
|
105
89
|
tokenDecimal: z.string().describe("输入代币精度(如'18','6')"),
|
|
@@ -114,10 +98,14 @@ export function registerDefiTools(server, auth) {
|
|
|
114
98
|
catch (e) {
|
|
115
99
|
return toError(e);
|
|
116
100
|
} });
|
|
117
|
-
server.tool("onchainos_defi_enter", "链上-分析 | DeFi 申购/存款,返回 calldata
|
|
118
|
-
investmentId: z.string().describe("投资品ID"),
|
|
101
|
+
server.tool("onchainos_defi_enter", "链上-分析 | DeFi 申购/存款,返回 calldata 列表【场景:买入理财/存款/质押】", {
|
|
102
|
+
investmentId: z.string().describe("投资品ID。从 onchainos_defi_search_products 返回值获取"),
|
|
119
103
|
address: z.string().describe("用户钱包地址"),
|
|
120
|
-
userInputList: z.
|
|
104
|
+
userInputList: z.array(z.object({
|
|
105
|
+
tokenAddress: z.string().describe("代币合约地址(小写)"),
|
|
106
|
+
chainIndex: z.string().describe("链ID(字符串)。如 '1'=ETH"),
|
|
107
|
+
coinAmount: z.string().describe("投入数量(人类可读, 如 '0.05')"),
|
|
108
|
+
})).describe("投入代币列表。从 onchainos_defi_prepare_transaction 返回的 investWithTokenList 获取"),
|
|
121
109
|
tickLower: z.string().optional().describe("V3 tick 下限。仅 Dex Pool 新建仓位时需要"),
|
|
122
110
|
tickUpper: z.string().optional().describe("V3 tick 上限。仅 Dex Pool 新建仓位时需要"),
|
|
123
111
|
tokenId: z.string().optional().describe("V3 NFT position token ID。向已有仓位追加时必传"),
|
|
@@ -126,15 +114,8 @@ export function registerDefiTools(server, auth) {
|
|
|
126
114
|
if (!auth)
|
|
127
115
|
return AUTH_REQUIRED("TRADE");
|
|
128
116
|
try {
|
|
129
|
-
let input;
|
|
130
|
-
try {
|
|
131
|
-
input = JSON.parse(userInputList);
|
|
132
|
-
}
|
|
133
|
-
catch {
|
|
134
|
-
return toError(new Error("userInputList 格式错误: 需要 JSON 数组"));
|
|
135
|
-
}
|
|
136
117
|
const data = await defiApi.enter(auth, {
|
|
137
|
-
investmentId, address, userInputList
|
|
118
|
+
investmentId, address, userInputList,
|
|
138
119
|
...(tickLower ? { tickLower } : {}), ...(tickUpper ? { tickUpper } : {}),
|
|
139
120
|
...(tokenId ? { tokenId } : {}), slippage,
|
|
140
121
|
});
|
|
@@ -148,11 +129,15 @@ export function registerDefiTools(server, auth) {
|
|
|
148
129
|
return toError(e);
|
|
149
130
|
}
|
|
150
131
|
});
|
|
151
|
-
server.tool("onchainos_defi_exit", "链上-分析 | DeFi 赎回/还款,返回 calldata
|
|
132
|
+
server.tool("onchainos_defi_exit", "链上-分析 | DeFi 赎回/还款,返回 calldata 列表【场景:赎回理财/还款/取回资金】", {
|
|
152
133
|
investmentId: z.string().describe("投资品ID"),
|
|
153
134
|
address: z.string().describe("用户钱包地址"),
|
|
154
135
|
redeemPercent: z.string().optional().describe("赎回比例, 建议必传。'1'=100% '0.5'=50%。不传可能导致 aToken 动态余额 revert"),
|
|
155
|
-
userInputList: z.
|
|
136
|
+
userInputList: z.array(z.object({
|
|
137
|
+
tokenAddress: z.string().describe("代币合约地址"),
|
|
138
|
+
chainIndex: z.string().describe("链ID(字符串)。常见值: '1'=ETH '56'=BSC '501'=Solana。不确定先调 onchainos_defi_supported_chains"),
|
|
139
|
+
coinAmount: z.string().optional().describe("数量"),
|
|
140
|
+
})).optional().describe("输入代币列表。Farm/v2pool 传 LP Token, 其他情况传目标接收 token"),
|
|
156
141
|
tokenId: z.string().optional().describe("V3 NFT position token ID。V3 Pool 赎回必传"),
|
|
157
142
|
slippage: z.string().optional().describe("滑点。默认'0.01'"),
|
|
158
143
|
}, { readOnlyHint: false, idempotentHint: false, destructiveHint: true }, async ({ investmentId, address, redeemPercent, userInputList, tokenId, slippage }) => {
|
|
@@ -162,14 +147,8 @@ export function registerDefiTools(server, auth) {
|
|
|
162
147
|
const body = { investmentId, address };
|
|
163
148
|
if (redeemPercent)
|
|
164
149
|
body.redeemPercent = redeemPercent;
|
|
165
|
-
if (userInputList)
|
|
166
|
-
|
|
167
|
-
body.userInputList = JSON.parse(userInputList);
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
return toError(new Error("userInputList 格式错误"));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
150
|
+
if (userInputList)
|
|
151
|
+
body.userInputList = userInputList;
|
|
173
152
|
if (tokenId)
|
|
174
153
|
body.tokenId = tokenId;
|
|
175
154
|
if (slippage)
|
|
@@ -182,14 +161,18 @@ export function registerDefiTools(server, auth) {
|
|
|
182
161
|
return toError(e);
|
|
183
162
|
}
|
|
184
163
|
});
|
|
185
|
-
server.tool("onchainos_defi_claim", "链上-分析 | 领取 DeFi
|
|
164
|
+
server.tool("onchainos_defi_claim", "链上-分析 | 领取 DeFi 协议奖励【场景:领矿币奖励/协议分红/手续费】", {
|
|
186
165
|
address: z.string().describe("用户钱包地址"),
|
|
187
166
|
rewardType: z.enum(["REWARD_INVESTMENT", "REWARD_PLATFORM", "V3_FEE", "REWARD_OKX_BONUS", "REWARD_MERKLE_BONUS", "UNLOCKED_PRINCIPAL"]).describe("奖励类型: REWARD_INVESTMENT=矿币奖励 REWARD_PLATFORM=协议奖励 V3_FEE=V3手续费 REWARD_OKX_BONUS=OKX Bonus REWARD_MERKLE_BONUS=Merkle Bonus UNLOCKED_PRINCIPAL=到期本金"),
|
|
188
167
|
investmentId: z.string().optional().describe("投资品ID。除 REWARD_PLATFORM 外都需传"),
|
|
189
168
|
analysisPlatformId: z.string().optional().describe("协议ID。REWARD_PLATFORM 时填写"),
|
|
190
169
|
tokenId: z.string().optional().describe("V3 仓位 tokenId。V3_FEE 时填写"),
|
|
191
170
|
principalIndex: z.string().optional().describe("到期订单 index。UNLOCKED_PRINCIPAL 时填写"),
|
|
192
|
-
expectOutputList: z.
|
|
171
|
+
expectOutputList: z.array(z.object({
|
|
172
|
+
chainIndex: z.string().describe("链ID(字符串)。常见值: '1'=ETH '56'=BSC '501'=Solana。不确定先调 onchainos_defi_supported_chains"),
|
|
173
|
+
tokenAddress: z.string().describe("代币合约地址"),
|
|
174
|
+
coinAmount: z.string().describe("数量"),
|
|
175
|
+
})).optional().describe("预期输出列表。仅 REWARD_MERKLE_BONUS 时填写"),
|
|
193
176
|
}, { readOnlyHint: false, idempotentHint: false, destructiveHint: true }, async ({ address, rewardType, investmentId, analysisPlatformId, tokenId, principalIndex, expectOutputList }) => {
|
|
194
177
|
if (!auth)
|
|
195
178
|
return AUTH_REQUIRED("TRADE");
|
|
@@ -203,62 +186,45 @@ export function registerDefiTools(server, auth) {
|
|
|
203
186
|
body.tokenId = tokenId;
|
|
204
187
|
if (principalIndex)
|
|
205
188
|
body.principalIndex = principalIndex;
|
|
206
|
-
if (expectOutputList)
|
|
207
|
-
|
|
208
|
-
body.expectOutputList = JSON.parse(expectOutputList);
|
|
209
|
-
}
|
|
210
|
-
catch {
|
|
211
|
-
return toError(new Error("expectOutputList 格式错误"));
|
|
212
|
-
}
|
|
213
|
-
}
|
|
189
|
+
if (expectOutputList)
|
|
190
|
+
body.expectOutputList = expectOutputList;
|
|
214
191
|
return toResult(await defiApi.claim(auth, body));
|
|
215
192
|
}
|
|
216
193
|
catch (e) {
|
|
217
194
|
return toError(e);
|
|
218
195
|
}
|
|
219
196
|
});
|
|
220
|
-
server.tool("onchainos_defi_user_platform_list", "链上-分析 | 查询用户在各 DeFi
|
|
221
|
-
walletAddressList: z.
|
|
197
|
+
server.tool("onchainos_defi_user_platform_list", "链上-分析 | 查询用户在各 DeFi 协议的持仓概览【场景:查我的DeFi持仓/存了哪些理财】", {
|
|
198
|
+
walletAddressList: z.array(z.object({
|
|
199
|
+
chainIndex: z.string().describe("链ID(字符串)。如 '1'=ETH '56'=BSC '501'=Solana。⚠️ 不确定钱包在哪些链有 DeFi 持仓 → 每个主流链都传一个: '1','56','501','8453','42161'"),
|
|
200
|
+
walletAddress: z.string().describe("钱包地址"),
|
|
201
|
+
pubKey: z.string().optional().describe("公钥(某些链需要)"),
|
|
202
|
+
})).min(1).describe("钱包地址列表。支持多链多钱包, 每个元素指定链ID和钱包地址"),
|
|
222
203
|
tag: z.string().optional().describe("自定义标签, 用于标记查询"),
|
|
223
204
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ walletAddressList, tag }) => {
|
|
224
205
|
if (!auth)
|
|
225
206
|
return AUTH_REQUIRED("READ");
|
|
226
207
|
try {
|
|
227
|
-
|
|
228
|
-
try {
|
|
229
|
-
list = JSON.parse(walletAddressList);
|
|
230
|
-
}
|
|
231
|
-
catch {
|
|
232
|
-
return toError(new Error("walletAddressList 格式错误: 需要 JSON 数组"));
|
|
233
|
-
}
|
|
234
|
-
return toResult(await defiApi.userPlatformList(auth, { walletAddressList: list, ...(tag ? { tag } : {}) }));
|
|
208
|
+
return toResult(await defiApi.userPlatformList(auth, { walletAddressList, ...(tag ? { tag } : {}) }));
|
|
235
209
|
}
|
|
236
210
|
catch (e) {
|
|
237
211
|
return toError(e);
|
|
238
212
|
}
|
|
239
213
|
});
|
|
240
|
-
server.tool("onchainos_defi_user_platform_detail", "链上-分析 |
|
|
241
|
-
walletAddressList: z.
|
|
242
|
-
|
|
214
|
+
server.tool("onchainos_defi_user_platform_detail", "链上-分析 | 查询用户在某协议的详细持仓【场景:查某个协议里的具体持仓明细】", {
|
|
215
|
+
walletAddressList: z.array(z.object({
|
|
216
|
+
chainIndex: z.string().describe("链ID(字符串)。常见值: '1'=ETH '56'=BSC '501'=Solana。不确定先调 onchainos_defi_supported_chains"),
|
|
217
|
+
walletAddress: z.string().describe("钱包地址"),
|
|
218
|
+
})).min(1).describe("钱包地址列表"),
|
|
219
|
+
platformList: z.array(z.object({
|
|
220
|
+
chainIndex: z.string().describe("链ID(字符串)。常见值: '1'=ETH '56'=BSC '501'=Solana。不确定先调 onchainos_defi_supported_chains"),
|
|
221
|
+
analysisPlatformId: z.string().describe("协议ID。从 onchainos_defi_user_platform_list 返回值获取"),
|
|
222
|
+
})).min(1).describe("协议列表。analysisPlatformId 从 onchainos_defi_user_platform_list 返回值获取"),
|
|
243
223
|
}, { readOnlyHint: true, idempotentHint: true, destructiveHint: false }, async ({ walletAddressList, platformList }) => {
|
|
244
224
|
if (!auth)
|
|
245
225
|
return AUTH_REQUIRED("READ");
|
|
246
226
|
try {
|
|
247
|
-
|
|
248
|
-
try {
|
|
249
|
-
wallets = JSON.parse(walletAddressList);
|
|
250
|
-
}
|
|
251
|
-
catch {
|
|
252
|
-
return toError(new Error("walletAddressList 格式错误"));
|
|
253
|
-
}
|
|
254
|
-
let platforms;
|
|
255
|
-
try {
|
|
256
|
-
platforms = JSON.parse(platformList);
|
|
257
|
-
}
|
|
258
|
-
catch {
|
|
259
|
-
return toError(new Error("platformList 格式错误"));
|
|
260
|
-
}
|
|
261
|
-
return toResult(await defiApi.userPlatformDetail(auth, { walletAddressList: wallets, platformList: platforms }));
|
|
227
|
+
return toResult(await defiApi.userPlatformDetail(auth, { walletAddressList, platformList }));
|
|
262
228
|
}
|
|
263
229
|
catch (e) {
|
|
264
230
|
return toError(e);
|
package/dist/tools/defi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defi.js","sourceRoot":"","sources":["../../src/tools/defi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defi.js","sourceRoot":"","sources":["../../src/tools/defi.ts"],"names":[],"mappings":"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"}
|