gate-mcp 0.1.4 → 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/README.md +14 -8
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/account.d.ts.map +1 -1
- package/dist/tools/account.js +80 -0
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/futures.d.ts.map +1 -1
- package/dist/tools/futures.js +422 -0
- package/dist/tools/futures.js.map +1 -1
- package/dist/tools/options.d.ts.map +1 -1
- package/dist/tools/options.js +9 -0
- package/dist/tools/options.js.map +1 -1
- package/dist/tools/spot.d.ts.map +1 -1
- package/dist/tools/spot.js +178 -0
- package/dist/tools/spot.js.map +1 -1
- package/dist/tools/sub_account.d.ts +3 -0
- package/dist/tools/sub_account.d.ts.map +1 -0
- package/dist/tools/sub_account.js +127 -0
- package/dist/tools/sub_account.js.map +1 -0
- package/dist/tools/unified.d.ts +3 -0
- package/dist/tools/unified.d.ts.map +1 -0
- package/dist/tools/unified.js +252 -0
- package/dist/tools/unified.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { UnifiedApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
export function registerUnifiedTools(server) {
|
|
6
|
+
server.tool('list_unified_accounts', 'Get unified account balances and info (requires authentication)', {
|
|
7
|
+
currency: z.string().optional().describe('Filter by currency'),
|
|
8
|
+
sub_uid: z.string().optional().describe('Sub-account UID'),
|
|
9
|
+
}, async ({ currency, sub_uid }) => {
|
|
10
|
+
try {
|
|
11
|
+
requireAuth();
|
|
12
|
+
const opts = {};
|
|
13
|
+
if (currency)
|
|
14
|
+
opts.currency = currency;
|
|
15
|
+
if (sub_uid)
|
|
16
|
+
opts.subUid = sub_uid;
|
|
17
|
+
const { body } = await new UnifiedApi(createClient()).listUnifiedAccounts(opts);
|
|
18
|
+
return textContent(body);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
return errorContent(e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
server.tool('list_unified_currencies', 'List currencies supported in unified account (requires authentication)', { currency: z.string().optional().describe('Filter by currency') }, async ({ currency }) => {
|
|
25
|
+
try {
|
|
26
|
+
requireAuth();
|
|
27
|
+
const opts = {};
|
|
28
|
+
if (currency)
|
|
29
|
+
opts.currency = currency;
|
|
30
|
+
const { body } = await new UnifiedApi(createClient()).listUnifiedCurrencies(opts);
|
|
31
|
+
return textContent(body);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
return errorContent(e);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
server.tool('get_unified_mode', 'Get current unified account mode (requires authentication)', {}, async () => {
|
|
38
|
+
try {
|
|
39
|
+
requireAuth();
|
|
40
|
+
const { body } = await new UnifiedApi(createClient()).getUnifiedMode();
|
|
41
|
+
return textContent(body);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
return errorContent(e);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
server.tool('set_unified_mode', 'Switch unified account mode (requires authentication) — always confirm with the user before calling this tool', {
|
|
48
|
+
mode: z.string().describe('Mode: classic, multi_currency, or portfolio'),
|
|
49
|
+
}, async ({ mode }) => {
|
|
50
|
+
try {
|
|
51
|
+
requireAuth();
|
|
52
|
+
const { body } = await new UnifiedApi(createClient()).setUnifiedMode({ mode });
|
|
53
|
+
return textContent(body ?? { success: true });
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
return errorContent(e);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
server.tool('get_unified_risk_units', 'Get risk unit details for portfolio margin mode (requires authentication)', {}, async () => {
|
|
60
|
+
try {
|
|
61
|
+
requireAuth();
|
|
62
|
+
const { body } = await new UnifiedApi(createClient()).getUnifiedRiskUnits();
|
|
63
|
+
return textContent(body);
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
return errorContent(e);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
server.tool('get_unified_borrowable', 'Get maximum borrowable amount for a currency in unified account (requires authentication)', { currency: z.string().describe('Currency symbol e.g. USDT') }, async ({ currency }) => {
|
|
70
|
+
try {
|
|
71
|
+
requireAuth();
|
|
72
|
+
const { body } = await new UnifiedApi(createClient()).getUnifiedBorrowable(currency);
|
|
73
|
+
return textContent(body);
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
return errorContent(e);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
server.tool('get_unified_transferable', 'Get maximum transferable amount for a currency in unified account (requires authentication)', { currency: z.string().describe('Currency symbol e.g. USDT') }, async ({ currency }) => {
|
|
80
|
+
try {
|
|
81
|
+
requireAuth();
|
|
82
|
+
const { body } = await new UnifiedApi(createClient()).getUnifiedTransferable(currency);
|
|
83
|
+
return textContent(body);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
return errorContent(e);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
server.tool('get_unified_estimate_rate', 'Get estimated borrow interest rates for currencies (requires authentication)', { currencies: z.array(z.string()).describe('List of currency symbols e.g. ["BTC","USDT"]') }, async ({ currencies }) => {
|
|
90
|
+
try {
|
|
91
|
+
requireAuth();
|
|
92
|
+
const { body } = await new UnifiedApi(createClient()).getUnifiedEstimateRate(currencies);
|
|
93
|
+
return textContent(body);
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
return errorContent(e);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
server.tool('list_unified_loans', 'List active loans in unified account (requires authentication)', {
|
|
100
|
+
currency: z.string().optional().describe('Filter by currency'),
|
|
101
|
+
type: z.string().optional().describe('Loan type: platform or margin'),
|
|
102
|
+
page: z.number().int().min(1).optional(),
|
|
103
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
104
|
+
}, async ({ currency, type, page, limit }) => {
|
|
105
|
+
try {
|
|
106
|
+
requireAuth();
|
|
107
|
+
const opts = {};
|
|
108
|
+
if (currency)
|
|
109
|
+
opts.currency = currency;
|
|
110
|
+
if (type)
|
|
111
|
+
opts.type = type;
|
|
112
|
+
if (page !== undefined)
|
|
113
|
+
opts.page = page;
|
|
114
|
+
if (limit !== undefined)
|
|
115
|
+
opts.limit = limit;
|
|
116
|
+
const { body } = await new UnifiedApi(createClient()).listUnifiedLoans(opts);
|
|
117
|
+
return textContent(body);
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
return errorContent(e);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
server.tool('create_unified_loan', 'Borrow or repay in unified account (requires authentication) — always confirm the details with the user before calling this tool', {
|
|
124
|
+
currency: z.string().describe('Currency to borrow/repay'),
|
|
125
|
+
type: z.enum(['borrow', 'repay']),
|
|
126
|
+
amount: z.string().describe('Amount to borrow or repay'),
|
|
127
|
+
repaid_all: z.boolean().optional().describe('Repay full outstanding balance (repay only)'),
|
|
128
|
+
text: z.string().optional().describe('Custom remark'),
|
|
129
|
+
}, async ({ currency, type, amount, repaid_all, text }) => {
|
|
130
|
+
try {
|
|
131
|
+
requireAuth();
|
|
132
|
+
const loan = { currency, type, amount };
|
|
133
|
+
if (repaid_all !== undefined)
|
|
134
|
+
loan.repaidAll = repaid_all;
|
|
135
|
+
if (text)
|
|
136
|
+
loan.text = text;
|
|
137
|
+
const { body } = await new UnifiedApi(createClient()).createUnifiedLoan(loan);
|
|
138
|
+
return textContent(body);
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
return errorContent(e);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
server.tool('list_unified_loan_records', 'Get borrow/repay history in unified account (requires authentication)', {
|
|
145
|
+
currency: z.string().optional(),
|
|
146
|
+
type: z.string().optional().describe('borrow or repay'),
|
|
147
|
+
page: z.number().int().min(1).optional(),
|
|
148
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
149
|
+
}, async ({ currency, type, page, limit }) => {
|
|
150
|
+
try {
|
|
151
|
+
requireAuth();
|
|
152
|
+
const opts = {};
|
|
153
|
+
if (currency)
|
|
154
|
+
opts.currency = currency;
|
|
155
|
+
if (type)
|
|
156
|
+
opts.type = type;
|
|
157
|
+
if (page !== undefined)
|
|
158
|
+
opts.page = page;
|
|
159
|
+
if (limit !== undefined)
|
|
160
|
+
opts.limit = limit;
|
|
161
|
+
const { body } = await new UnifiedApi(createClient()).listUnifiedLoanRecords(opts);
|
|
162
|
+
return textContent(body);
|
|
163
|
+
}
|
|
164
|
+
catch (e) {
|
|
165
|
+
return errorContent(e);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
server.tool('list_unified_loan_interest_records', 'Get interest charge history in unified account (requires authentication)', {
|
|
169
|
+
currency: z.string().optional(),
|
|
170
|
+
type: z.string().optional().describe('Loan type'),
|
|
171
|
+
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
172
|
+
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
173
|
+
page: z.number().int().min(1).optional(),
|
|
174
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
175
|
+
}, async ({ currency, type, from, to, page, limit }) => {
|
|
176
|
+
try {
|
|
177
|
+
requireAuth();
|
|
178
|
+
const opts = {};
|
|
179
|
+
if (currency)
|
|
180
|
+
opts.currency = currency;
|
|
181
|
+
if (type)
|
|
182
|
+
opts.type = type;
|
|
183
|
+
if (from !== undefined)
|
|
184
|
+
opts.from = from;
|
|
185
|
+
if (to !== undefined)
|
|
186
|
+
opts.to = to;
|
|
187
|
+
if (page !== undefined)
|
|
188
|
+
opts.page = page;
|
|
189
|
+
if (limit !== undefined)
|
|
190
|
+
opts.limit = limit;
|
|
191
|
+
const { body } = await new UnifiedApi(createClient()).listUnifiedLoanInterestRecords(opts);
|
|
192
|
+
return textContent(body);
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
return errorContent(e);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
server.tool('list_currency_discount_tiers', 'List currency discount tiers for unified account collateral', {}, async () => {
|
|
199
|
+
try {
|
|
200
|
+
const { body } = await new UnifiedApi(createClient()).listCurrencyDiscountTiers();
|
|
201
|
+
return textContent(body);
|
|
202
|
+
}
|
|
203
|
+
catch (e) {
|
|
204
|
+
return errorContent(e);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
server.tool('get_user_leverage_currency_setting', 'Get leverage settings for currencies in unified account (requires authentication)', { currency: z.string().optional().describe('Filter by currency') }, async ({ currency }) => {
|
|
208
|
+
try {
|
|
209
|
+
requireAuth();
|
|
210
|
+
const opts = {};
|
|
211
|
+
if (currency)
|
|
212
|
+
opts.currency = currency;
|
|
213
|
+
const { body } = await new UnifiedApi(createClient()).getUserLeverageCurrencySetting(opts);
|
|
214
|
+
return textContent(body);
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
return errorContent(e);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
server.tool('set_user_leverage_currency_setting', 'Set leverage for a currency in unified account (requires authentication) — always confirm with the user before calling this tool', {
|
|
221
|
+
currency: z.string().describe('Currency symbol e.g. BTC'),
|
|
222
|
+
leverage: z.string().describe('Leverage value'),
|
|
223
|
+
}, async ({ currency, leverage }) => {
|
|
224
|
+
try {
|
|
225
|
+
requireAuth();
|
|
226
|
+
const { body } = await new UnifiedApi(createClient()).setUserLeverageCurrencySetting({ currency, leverage });
|
|
227
|
+
return textContent(body ?? { success: true });
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
return errorContent(e);
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
server.tool('set_unified_collateral', 'Enable or disable currencies as collateral in unified account (requires authentication)', {
|
|
234
|
+
enable_list: z.array(z.string()).optional().describe('Currencies to enable as collateral'),
|
|
235
|
+
disable_list: z.array(z.string()).optional().describe('Currencies to disable as collateral'),
|
|
236
|
+
}, async ({ enable_list, disable_list }) => {
|
|
237
|
+
try {
|
|
238
|
+
requireAuth();
|
|
239
|
+
const req = {};
|
|
240
|
+
if (enable_list)
|
|
241
|
+
req.enableList = enable_list;
|
|
242
|
+
if (disable_list)
|
|
243
|
+
req.disableList = disable_list;
|
|
244
|
+
const { body } = await new UnifiedApi(createClient()).setUnifiedCollateral(req);
|
|
245
|
+
return textContent(body);
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
return errorContent(e);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=unified.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/tools/unified.ts"],"names":[],"mappings":"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"}
|