gate-mcp 0.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/LICENSE +21 -0
- package/README.md +131 -0
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +21 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/account.d.ts +3 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +36 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/delivery.d.ts +3 -0
- package/dist/tools/delivery.d.ts.map +1 -0
- package/dist/tools/delivery.js +182 -0
- package/dist/tools/delivery.js.map +1 -0
- package/dist/tools/earn.d.ts +3 -0
- package/dist/tools/earn.d.ts.map +1 -0
- package/dist/tools/earn.js +99 -0
- package/dist/tools/earn.js.map +1 -0
- package/dist/tools/flash_swap.d.ts +3 -0
- package/dist/tools/flash_swap.d.ts.map +1 -0
- package/dist/tools/flash_swap.js +101 -0
- package/dist/tools/flash_swap.js.map +1 -0
- package/dist/tools/futures.d.ts +3 -0
- package/dist/tools/futures.d.ts.map +1 -0
- package/dist/tools/futures.js +306 -0
- package/dist/tools/futures.js.map +1 -0
- package/dist/tools/margin.d.ts +3 -0
- package/dist/tools/margin.d.ts.map +1 -0
- package/dist/tools/margin.js +85 -0
- package/dist/tools/margin.js.map +1 -0
- package/dist/tools/options.d.ts +3 -0
- package/dist/tools/options.d.ts.map +1 -0
- package/dist/tools/options.js +187 -0
- package/dist/tools/options.js.map +1 -0
- package/dist/tools/spot.d.ts +3 -0
- package/dist/tools/spot.d.ts.map +1 -0
- package/dist/tools/spot.js +309 -0
- package/dist/tools/spot.js.map +1 -0
- package/dist/tools/wallet.d.ts +3 -0
- package/dist/tools/wallet.d.ts.map +1 -0
- package/dist/tools/wallet.js +149 -0
- package/dist/tools/wallet.js.map +1 -0
- package/dist/utils.d.ts +24 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +20 -0
- package/dist/utils.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { FlashSwapApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
export function registerFlashSwapTools(server) {
|
|
6
|
+
server.tool('list_flash_swap_currency_pairs', 'List all supported flash swap currency pairs', {
|
|
7
|
+
currency: z.string().optional().describe('Filter by currency symbol'),
|
|
8
|
+
}, async ({ currency }) => {
|
|
9
|
+
try {
|
|
10
|
+
const opts = {};
|
|
11
|
+
if (currency)
|
|
12
|
+
opts.currency = currency;
|
|
13
|
+
const { body } = await new FlashSwapApi(createClient()).listFlashSwapCurrencyPair(opts);
|
|
14
|
+
return textContent(body);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
return errorContent(e);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
server.tool('preview_flash_swap_order', 'Preview a flash swap order to get a quote (requires authentication)', {
|
|
21
|
+
sell_currency: z.string().describe('Currency to sell e.g. USDT'),
|
|
22
|
+
sell_amount: z.string().optional().describe('Amount to sell (specify either sell_amount or buy_amount)'),
|
|
23
|
+
buy_currency: z.string().describe('Currency to buy e.g. BTC'),
|
|
24
|
+
buy_amount: z.string().optional().describe('Amount to buy'),
|
|
25
|
+
}, async ({ sell_currency, sell_amount, buy_currency, buy_amount }) => {
|
|
26
|
+
try {
|
|
27
|
+
requireAuth();
|
|
28
|
+
const preview = { sellCurrency: sell_currency, buyCurrency: buy_currency };
|
|
29
|
+
if (sell_amount)
|
|
30
|
+
preview.sellAmount = sell_amount;
|
|
31
|
+
if (buy_amount)
|
|
32
|
+
preview.buyAmount = buy_amount;
|
|
33
|
+
const { body } = await new FlashSwapApi(createClient()).previewFlashSwapOrder(preview);
|
|
34
|
+
return textContent(body);
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
return errorContent(e);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
server.tool('create_flash_swap_order', 'Execute a flash swap order (requires authentication)', {
|
|
41
|
+
preview_id: z.string().describe('Preview ID from preview_flash_swap_order'),
|
|
42
|
+
sell_currency: z.string().describe('Currency to sell'),
|
|
43
|
+
sell_amount: z.string().describe('Amount to sell'),
|
|
44
|
+
buy_currency: z.string().describe('Currency to buy'),
|
|
45
|
+
buy_amount: z.string().describe('Amount to buy'),
|
|
46
|
+
}, async ({ preview_id, sell_currency, sell_amount, buy_currency, buy_amount }) => {
|
|
47
|
+
try {
|
|
48
|
+
requireAuth();
|
|
49
|
+
const order = {
|
|
50
|
+
previewId: preview_id,
|
|
51
|
+
sellCurrency: sell_currency,
|
|
52
|
+
sellAmount: sell_amount,
|
|
53
|
+
buyCurrency: buy_currency,
|
|
54
|
+
buyAmount: buy_amount,
|
|
55
|
+
};
|
|
56
|
+
const { body } = await new FlashSwapApi(createClient()).createFlashSwapOrder(order);
|
|
57
|
+
return textContent(body);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
return errorContent(e);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
server.tool('list_flash_swap_orders', 'List flash swap order history (requires authentication)', {
|
|
64
|
+
status: z.number().int().optional().describe('Order status: 1=success, 2=failed'),
|
|
65
|
+
sell_currency: z.string().optional(),
|
|
66
|
+
buy_currency: z.string().optional(),
|
|
67
|
+
limit: z.number().int().optional(),
|
|
68
|
+
page: z.number().int().optional(),
|
|
69
|
+
}, async ({ status, sell_currency, buy_currency, limit, page }) => {
|
|
70
|
+
try {
|
|
71
|
+
requireAuth();
|
|
72
|
+
const opts = {};
|
|
73
|
+
if (status !== undefined)
|
|
74
|
+
opts.status = status;
|
|
75
|
+
if (sell_currency)
|
|
76
|
+
opts.sellCurrency = sell_currency;
|
|
77
|
+
if (buy_currency)
|
|
78
|
+
opts.buyCurrency = buy_currency;
|
|
79
|
+
if (limit !== undefined)
|
|
80
|
+
opts.limit = limit;
|
|
81
|
+
if (page !== undefined)
|
|
82
|
+
opts.page = page;
|
|
83
|
+
const { body } = await new FlashSwapApi(createClient()).listFlashSwapOrders(opts);
|
|
84
|
+
return textContent(body);
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
return errorContent(e);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
server.tool('get_flash_swap_order', 'Get details of a flash swap order (requires authentication)', { order_id: z.number().int().describe('Order ID') }, async ({ order_id }) => {
|
|
91
|
+
try {
|
|
92
|
+
requireAuth();
|
|
93
|
+
const { body } = await new FlashSwapApi(createClient()).getFlashSwapOrder(order_id);
|
|
94
|
+
return textContent(body);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
return errorContent(e);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=flash_swap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flash_swap.js","sourceRoot":"","sources":["../../src/tools/flash_swap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"futures.d.ts","sourceRoot":"","sources":["../../src/tools/futures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqU5D"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { FuturesApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
const settleSchema = z.enum(['btc', 'usdt']).describe('Settlement currency: btc or usdt');
|
|
6
|
+
export function registerFuturesTools(server) {
|
|
7
|
+
// ── Public tools ──────────────────────────────────────────────────────────
|
|
8
|
+
server.tool('list_futures_contracts', 'List all perpetual futures contracts', { settle: settleSchema }, async ({ settle }) => {
|
|
9
|
+
try {
|
|
10
|
+
const { body } = await new FuturesApi(createClient()).listFuturesContracts(settle, {});
|
|
11
|
+
return textContent(body);
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
return errorContent(e);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
server.tool('get_futures_contract', 'Get details of a single futures contract', {
|
|
18
|
+
settle: settleSchema,
|
|
19
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
20
|
+
}, async ({ settle, contract }) => {
|
|
21
|
+
try {
|
|
22
|
+
const { body } = await new FuturesApi(createClient()).getFuturesContract(settle, contract);
|
|
23
|
+
return textContent(body);
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
return errorContent(e);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
server.tool('list_futures_order_book', 'Get futures order book', {
|
|
30
|
+
settle: settleSchema,
|
|
31
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
32
|
+
limit: z.number().int().optional(),
|
|
33
|
+
}, async ({ settle, contract, limit }) => {
|
|
34
|
+
try {
|
|
35
|
+
const opts = {};
|
|
36
|
+
if (limit !== undefined)
|
|
37
|
+
opts.limit = limit;
|
|
38
|
+
const { body } = await new FuturesApi(createClient()).listFuturesOrderBook(settle, contract, opts);
|
|
39
|
+
return textContent(body);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
return errorContent(e);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
server.tool('list_futures_candlesticks', 'Get futures candlestick/OHLCV data', {
|
|
46
|
+
settle: settleSchema,
|
|
47
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
48
|
+
interval: z.enum(['10s', '1m', '5m', '15m', '30m', '1h', '4h', '8h', '1d', '7d']).optional(),
|
|
49
|
+
limit: z.number().int().optional(),
|
|
50
|
+
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
51
|
+
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
52
|
+
}, async ({ settle, contract, interval, limit, from, to }) => {
|
|
53
|
+
try {
|
|
54
|
+
const opts = {};
|
|
55
|
+
if (interval)
|
|
56
|
+
opts.interval = interval;
|
|
57
|
+
if (limit !== undefined)
|
|
58
|
+
opts.limit = limit;
|
|
59
|
+
if (from !== undefined)
|
|
60
|
+
opts.from = from;
|
|
61
|
+
if (to !== undefined)
|
|
62
|
+
opts.to = to;
|
|
63
|
+
const { body } = await new FuturesApi(createClient()).listFuturesCandlesticks(settle, contract, opts);
|
|
64
|
+
return textContent(body);
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
return errorContent(e);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
server.tool('list_futures_tickers', 'Get ticker information for futures contracts', {
|
|
71
|
+
settle: settleSchema,
|
|
72
|
+
contract: z.string().optional().describe('Filter by contract name'),
|
|
73
|
+
}, async ({ settle, contract }) => {
|
|
74
|
+
try {
|
|
75
|
+
const opts = {};
|
|
76
|
+
if (contract)
|
|
77
|
+
opts.contract = contract;
|
|
78
|
+
const { body } = await new FuturesApi(createClient()).listFuturesTickers(settle, opts);
|
|
79
|
+
return textContent(body);
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
return errorContent(e);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
server.tool('list_futures_funding_rate_history', 'Get funding rate history for a futures contract', {
|
|
86
|
+
settle: settleSchema,
|
|
87
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
88
|
+
limit: z.number().int().optional(),
|
|
89
|
+
}, async ({ settle, contract, limit }) => {
|
|
90
|
+
try {
|
|
91
|
+
const opts = {};
|
|
92
|
+
if (limit !== undefined)
|
|
93
|
+
opts.limit = limit;
|
|
94
|
+
const { body } = await new FuturesApi(createClient()).listFuturesFundingRateHistory(settle, contract, opts);
|
|
95
|
+
return textContent(body);
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
return errorContent(e);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
// ── Private tools ─────────────────────────────────────────────────────────
|
|
102
|
+
server.tool('list_futures_accounts', 'Get futures account balances (requires authentication)', { settle: settleSchema }, async ({ settle }) => {
|
|
103
|
+
try {
|
|
104
|
+
requireAuth();
|
|
105
|
+
const { body } = await new FuturesApi(createClient()).listFuturesAccounts(settle);
|
|
106
|
+
return textContent(body);
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
return errorContent(e);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
server.tool('list_positions', 'List all open futures positions (requires authentication)', {
|
|
113
|
+
settle: settleSchema,
|
|
114
|
+
holding: z.boolean().optional().describe('Only return positions with non-zero size'),
|
|
115
|
+
limit: z.number().int().optional(),
|
|
116
|
+
offset: z.number().int().optional(),
|
|
117
|
+
}, async ({ settle, holding, limit, offset }) => {
|
|
118
|
+
try {
|
|
119
|
+
requireAuth();
|
|
120
|
+
const opts = {};
|
|
121
|
+
if (holding !== undefined)
|
|
122
|
+
opts.holding = holding;
|
|
123
|
+
if (limit !== undefined)
|
|
124
|
+
opts.limit = limit;
|
|
125
|
+
if (offset !== undefined)
|
|
126
|
+
opts.offset = offset;
|
|
127
|
+
const { body } = await new FuturesApi(createClient()).listPositions(settle, opts);
|
|
128
|
+
return textContent(body);
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
return errorContent(e);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
server.tool('get_position', 'Get a single futures position (requires authentication)', {
|
|
135
|
+
settle: settleSchema,
|
|
136
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
137
|
+
}, async ({ settle, contract }) => {
|
|
138
|
+
try {
|
|
139
|
+
requireAuth();
|
|
140
|
+
const { body } = await new FuturesApi(createClient()).getPosition(settle, contract);
|
|
141
|
+
return textContent(body);
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
return errorContent(e);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
server.tool('list_futures_orders', 'List futures orders (requires authentication)', {
|
|
148
|
+
settle: settleSchema,
|
|
149
|
+
status: z.enum(['open', 'finished']).describe('Order status'),
|
|
150
|
+
contract: z.string().optional().describe('Filter by contract'),
|
|
151
|
+
limit: z.number().int().optional(),
|
|
152
|
+
offset: z.number().int().optional(),
|
|
153
|
+
}, async ({ settle, status, contract, limit, offset }) => {
|
|
154
|
+
try {
|
|
155
|
+
requireAuth();
|
|
156
|
+
const opts = {};
|
|
157
|
+
if (contract)
|
|
158
|
+
opts.contract = contract;
|
|
159
|
+
if (limit !== undefined)
|
|
160
|
+
opts.limit = limit;
|
|
161
|
+
if (offset !== undefined)
|
|
162
|
+
opts.offset = offset;
|
|
163
|
+
const { body } = await new FuturesApi(createClient()).listFuturesOrders(settle, status, opts);
|
|
164
|
+
return textContent(body);
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
return errorContent(e);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
server.tool('create_futures_order', 'Create a futures order (requires authentication)', {
|
|
171
|
+
settle: settleSchema,
|
|
172
|
+
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
173
|
+
size: z.string().describe('Order size in contracts (negative = short)'),
|
|
174
|
+
price: z.string().describe('Order price (0 for market orders)'),
|
|
175
|
+
tif: z.enum(['gtc', 'ioc', 'poc', 'fok']).optional().describe('Time in force'),
|
|
176
|
+
reduce_only: z.boolean().optional().describe('Reduce-only order'),
|
|
177
|
+
close: z.boolean().optional().describe('Close position'),
|
|
178
|
+
text: z.string().optional().describe('Custom reference text'),
|
|
179
|
+
}, async ({ settle, contract, size, price, tif, reduce_only, close, text }) => {
|
|
180
|
+
try {
|
|
181
|
+
requireAuth();
|
|
182
|
+
const order = { contract, size, price };
|
|
183
|
+
if (tif)
|
|
184
|
+
order.tif = tif;
|
|
185
|
+
if (reduce_only !== undefined)
|
|
186
|
+
order.reduceOnly = reduce_only;
|
|
187
|
+
if (close !== undefined)
|
|
188
|
+
order.close = close;
|
|
189
|
+
if (text)
|
|
190
|
+
order.text = text;
|
|
191
|
+
const { body } = await new FuturesApi(createClient()).createFuturesOrder(settle, order, {});
|
|
192
|
+
return textContent(body);
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
return errorContent(e);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
server.tool('get_futures_order', 'Get a futures order by ID (requires authentication)', {
|
|
199
|
+
settle: settleSchema,
|
|
200
|
+
order_id: z.string().describe('Order ID'),
|
|
201
|
+
}, async ({ settle, order_id }) => {
|
|
202
|
+
try {
|
|
203
|
+
requireAuth();
|
|
204
|
+
const { body } = await new FuturesApi(createClient()).getFuturesOrder(settle, order_id);
|
|
205
|
+
return textContent(body);
|
|
206
|
+
}
|
|
207
|
+
catch (e) {
|
|
208
|
+
return errorContent(e);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
server.tool('cancel_futures_order', 'Cancel a futures order (requires authentication)', {
|
|
212
|
+
settle: settleSchema,
|
|
213
|
+
order_id: z.string().describe('Order ID'),
|
|
214
|
+
}, async ({ settle, order_id }) => {
|
|
215
|
+
try {
|
|
216
|
+
requireAuth();
|
|
217
|
+
const { body } = await new FuturesApi(createClient()).cancelFuturesOrder(settle, order_id, {});
|
|
218
|
+
return textContent(body);
|
|
219
|
+
}
|
|
220
|
+
catch (e) {
|
|
221
|
+
return errorContent(e);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
server.tool('amend_futures_order', 'Amend an open futures order (requires authentication)', {
|
|
225
|
+
settle: settleSchema,
|
|
226
|
+
order_id: z.string().describe('Order ID'),
|
|
227
|
+
size: z.string().optional().describe('New order size'),
|
|
228
|
+
price: z.string().optional().describe('New order price'),
|
|
229
|
+
}, async ({ settle, order_id, size, price }) => {
|
|
230
|
+
try {
|
|
231
|
+
requireAuth();
|
|
232
|
+
const amendment = {};
|
|
233
|
+
if (size !== undefined)
|
|
234
|
+
amendment.size = size;
|
|
235
|
+
if (price)
|
|
236
|
+
amendment.price = price;
|
|
237
|
+
const { body } = await new FuturesApi(createClient()).amendFuturesOrder(settle, order_id, amendment, {});
|
|
238
|
+
return textContent(body);
|
|
239
|
+
}
|
|
240
|
+
catch (e) {
|
|
241
|
+
return errorContent(e);
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
server.tool('get_my_futures_trades', 'Get personal futures trading history (requires authentication)', {
|
|
245
|
+
settle: settleSchema,
|
|
246
|
+
contract: z.string().optional().describe('Filter by contract'),
|
|
247
|
+
limit: z.number().int().optional(),
|
|
248
|
+
offset: z.number().int().optional(),
|
|
249
|
+
}, async ({ settle, contract, limit, offset }) => {
|
|
250
|
+
try {
|
|
251
|
+
requireAuth();
|
|
252
|
+
const opts = {};
|
|
253
|
+
if (contract)
|
|
254
|
+
opts.contract = contract;
|
|
255
|
+
if (limit !== undefined)
|
|
256
|
+
opts.limit = limit;
|
|
257
|
+
if (offset !== undefined)
|
|
258
|
+
opts.offset = offset;
|
|
259
|
+
const { body } = await new FuturesApi(createClient()).getMyTrades(settle, opts);
|
|
260
|
+
return textContent(body);
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
return errorContent(e);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
server.tool('list_position_close', 'List position close history (requires authentication)', {
|
|
267
|
+
settle: settleSchema,
|
|
268
|
+
contract: z.string().optional(),
|
|
269
|
+
limit: z.number().int().optional(),
|
|
270
|
+
}, async ({ settle, contract, limit }) => {
|
|
271
|
+
try {
|
|
272
|
+
requireAuth();
|
|
273
|
+
const opts = {};
|
|
274
|
+
if (contract)
|
|
275
|
+
opts.contract = contract;
|
|
276
|
+
if (limit !== undefined)
|
|
277
|
+
opts.limit = limit;
|
|
278
|
+
const { body } = await new FuturesApi(createClient()).listPositionClose(settle, opts);
|
|
279
|
+
return textContent(body);
|
|
280
|
+
}
|
|
281
|
+
catch (e) {
|
|
282
|
+
return errorContent(e);
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
server.tool('list_price_triggered_orders', 'List futures price-triggered orders (requires authentication)', {
|
|
286
|
+
settle: settleSchema,
|
|
287
|
+
status: z.enum(['open', 'finished']),
|
|
288
|
+
contract: z.string().optional(),
|
|
289
|
+
limit: z.number().int().optional(),
|
|
290
|
+
}, async ({ settle, status, contract, limit }) => {
|
|
291
|
+
try {
|
|
292
|
+
requireAuth();
|
|
293
|
+
const opts = {};
|
|
294
|
+
if (contract)
|
|
295
|
+
opts.contract = contract;
|
|
296
|
+
if (limit !== undefined)
|
|
297
|
+
opts.limit = limit;
|
|
298
|
+
const { body } = await new FuturesApi(createClient()).listPriceTriggeredOrders(settle, status, opts);
|
|
299
|
+
return textContent(body);
|
|
300
|
+
}
|
|
301
|
+
catch (e) {
|
|
302
|
+
return errorContent(e);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=futures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"futures.js","sourceRoot":"","sources":["../../src/tools/futures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin.d.ts","sourceRoot":"","sources":["../../src/tools/margin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsF3D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MarginApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
export function registerMarginTools(server) {
|
|
6
|
+
server.tool('list_margin_accounts', 'List margin accounts (requires authentication)', { currency_pair: z.string().optional().describe('Filter by currency pair') }, async ({ currency_pair }) => {
|
|
7
|
+
try {
|
|
8
|
+
requireAuth();
|
|
9
|
+
const opts = {};
|
|
10
|
+
if (currency_pair)
|
|
11
|
+
opts.currencyPair = currency_pair;
|
|
12
|
+
const { body } = await new MarginApi(createClient()).listMarginAccounts(opts);
|
|
13
|
+
return textContent(body);
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
return errorContent(e);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
server.tool('list_margin_account_book', 'List margin account balance change history (requires authentication)', {
|
|
20
|
+
currency: z.string().optional(),
|
|
21
|
+
currency_pair: z.string().optional(),
|
|
22
|
+
type: z.string().optional().describe('Change type filter'),
|
|
23
|
+
limit: z.number().int().optional(),
|
|
24
|
+
offset: z.number().int().optional(),
|
|
25
|
+
}, async ({ currency, currency_pair, type, limit, offset }) => {
|
|
26
|
+
try {
|
|
27
|
+
requireAuth();
|
|
28
|
+
const opts = {};
|
|
29
|
+
if (currency)
|
|
30
|
+
opts.currency = currency;
|
|
31
|
+
if (currency_pair)
|
|
32
|
+
opts.currencyPair = currency_pair;
|
|
33
|
+
if (type)
|
|
34
|
+
opts.type = type;
|
|
35
|
+
if (limit !== undefined)
|
|
36
|
+
opts.limit = limit;
|
|
37
|
+
if (offset !== undefined)
|
|
38
|
+
opts.offset = offset;
|
|
39
|
+
const { body } = await new MarginApi(createClient()).listMarginAccountBook(opts);
|
|
40
|
+
return textContent(body);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
return errorContent(e);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
server.tool('get_auto_repay_status', 'Get auto-repay status for margin loans (requires authentication)', {}, async () => {
|
|
47
|
+
try {
|
|
48
|
+
requireAuth();
|
|
49
|
+
const { body } = await new MarginApi(createClient()).getAutoRepayStatus();
|
|
50
|
+
return textContent(body);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
return errorContent(e);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
server.tool('set_auto_repay', 'Enable or disable auto-repay for margin loans (requires authentication)', {
|
|
57
|
+
status: z.enum(['on', 'off']).describe('Auto-repay status'),
|
|
58
|
+
}, async ({ status }) => {
|
|
59
|
+
try {
|
|
60
|
+
requireAuth();
|
|
61
|
+
const { body } = await new MarginApi(createClient()).setAutoRepay(status);
|
|
62
|
+
return textContent(body);
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
return errorContent(e);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
server.tool('get_margin_transferable', 'Get the maximum amount transferable for a margin currency (requires authentication)', {
|
|
69
|
+
currency: z.string().describe('Currency symbol'),
|
|
70
|
+
currency_pair: z.string().optional().describe('Filter by currency pair'),
|
|
71
|
+
}, async ({ currency, currency_pair }) => {
|
|
72
|
+
try {
|
|
73
|
+
requireAuth();
|
|
74
|
+
const opts = {};
|
|
75
|
+
if (currency_pair)
|
|
76
|
+
opts.currencyPair = currency_pair;
|
|
77
|
+
const { body } = await new MarginApi(createClient()).getMarginTransferable(currency, opts);
|
|
78
|
+
return textContent(body);
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
return errorContent(e);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=margin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin.js","sourceRoot":"","sources":["../../src/tools/margin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/tools/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2M5D"}
|