gate-mcp 0.18.2 → 0.18.3
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/tools/account.js +10 -10
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/activity.js +1 -1
- package/dist/tools/activity.js.map +1 -1
- package/dist/tools/alpha.js +6 -6
- package/dist/tools/alpha.js.map +1 -1
- package/dist/tools/coupon.js +2 -2
- package/dist/tools/coupon.js.map +1 -1
- package/dist/tools/cross_ex.js +25 -25
- package/dist/tools/cross_ex.js.map +1 -1
- package/dist/tools/delivery.js +21 -21
- package/dist/tools/delivery.js.map +1 -1
- package/dist/tools/earn.js +28 -28
- package/dist/tools/earn.js.map +1 -1
- package/dist/tools/flash_swap.js +7 -7
- package/dist/tools/flash_swap.js.map +1 -1
- package/dist/tools/futures.js +51 -51
- package/dist/tools/futures.js.map +1 -1
- package/dist/tools/launch.js +4 -4
- package/dist/tools/launch.js.map +1 -1
- package/dist/tools/margin.js +17 -17
- package/dist/tools/margin.js.map +1 -1
- package/dist/tools/multi_collateral_loan.js +8 -8
- package/dist/tools/multi_collateral_loan.js.map +1 -1
- package/dist/tools/options.js +17 -17
- package/dist/tools/options.js.map +1 -1
- package/dist/tools/p2p.js +17 -17
- package/dist/tools/p2p.js.map +1 -1
- package/dist/tools/rebate.js +10 -10
- package/dist/tools/rebate.js.map +1 -1
- package/dist/tools/spot.d.ts +11 -0
- package/dist/tools/spot.d.ts.map +1 -1
- package/dist/tools/spot.js +45 -24
- package/dist/tools/spot.js.map +1 -1
- package/dist/tools/square.js +1 -1
- package/dist/tools/sub_account.js +11 -11
- package/dist/tools/sub_account.js.map +1 -1
- package/dist/tools/trad_fi.js +14 -14
- package/dist/tools/trad_fi.js.map +1 -1
- package/dist/tools/unified.js +20 -20
- package/dist/tools/unified.js.map +1 -1
- package/dist/tools/wallet.js +21 -21
- package/dist/tools/wallet.js.map +1 -1
- package/dist/tools/welfare.js +2 -2
- package/dist/tools/welfare.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/futures.js
CHANGED
|
@@ -150,7 +150,7 @@ export function registerFuturesTools(server) {
|
|
|
150
150
|
return errorContent(e);
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
-
server.tool('cex_futures_list_contract_stats', 'Get contract statistics (open interest
|
|
153
|
+
server.tool('cex_futures_list_contract_stats', 'Get contract statistics (open interest, long/short ratio, etc.)', {
|
|
154
154
|
settle: settleSchema,
|
|
155
155
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
156
156
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -263,7 +263,7 @@ export function registerFuturesTools(server) {
|
|
|
263
263
|
}
|
|
264
264
|
});
|
|
265
265
|
// ── Private tools ─────────────────────────────────────────────────────────
|
|
266
|
-
server.tool('cex_futures_get_futures_accounts', 'Get futures account balances
|
|
266
|
+
server.tool('cex_futures_get_futures_accounts', 'Get futures account balances.', { settle: settleSchema }, async ({ settle }) => {
|
|
267
267
|
try {
|
|
268
268
|
requireAuth();
|
|
269
269
|
const { body } = await new FuturesApi(createClient()).listFuturesAccounts(settle);
|
|
@@ -273,7 +273,7 @@ export function registerFuturesTools(server) {
|
|
|
273
273
|
return errorContent(e);
|
|
274
274
|
}
|
|
275
275
|
});
|
|
276
|
-
server.tool('cex_futures_list_futures_account_book', 'Get futures account transaction/ledger history
|
|
276
|
+
server.tool('cex_futures_list_futures_account_book', 'Get futures account transaction/ledger history.', {
|
|
277
277
|
settle: settleSchema,
|
|
278
278
|
contract: z.string().optional().describe('Filter by contract'),
|
|
279
279
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -304,7 +304,7 @@ export function registerFuturesTools(server) {
|
|
|
304
304
|
return errorContent(e);
|
|
305
305
|
}
|
|
306
306
|
});
|
|
307
|
-
server.tool('cex_futures_list_futures_positions', 'List all open futures positions
|
|
307
|
+
server.tool('cex_futures_list_futures_positions', 'List all open futures positions.', {
|
|
308
308
|
settle: settleSchema,
|
|
309
309
|
holding: z.boolean().optional().describe('Only return positions with non-zero size'),
|
|
310
310
|
limit: z.number().int().optional(),
|
|
@@ -326,7 +326,7 @@ export function registerFuturesTools(server) {
|
|
|
326
326
|
return errorContent(e);
|
|
327
327
|
}
|
|
328
328
|
});
|
|
329
|
-
server.tool('cex_futures_list_positions_timerange', 'Get position history for a contract filtered by time range
|
|
329
|
+
server.tool('cex_futures_list_positions_timerange', 'Get position history for a contract filtered by time range.', {
|
|
330
330
|
settle: settleSchema,
|
|
331
331
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
332
332
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -352,7 +352,7 @@ export function registerFuturesTools(server) {
|
|
|
352
352
|
return errorContent(e);
|
|
353
353
|
}
|
|
354
354
|
});
|
|
355
|
-
server.tool('cex_futures_get_futures_position', 'Get a single futures position
|
|
355
|
+
server.tool('cex_futures_get_futures_position', 'Get a single futures position.', {
|
|
356
356
|
settle: settleSchema,
|
|
357
357
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
358
358
|
}, async ({ settle, contract }) => {
|
|
@@ -365,7 +365,7 @@ export function registerFuturesTools(server) {
|
|
|
365
365
|
return errorContent(e);
|
|
366
366
|
}
|
|
367
367
|
});
|
|
368
|
-
server.tool('cex_futures_get_leverage', 'Get current leverage for a futures position
|
|
368
|
+
server.tool('cex_futures_get_leverage', 'Get current leverage for a futures position.', {
|
|
369
369
|
settle: settleSchema,
|
|
370
370
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
371
371
|
pos_margin_mode: z.string().describe('Position margin mode filter'),
|
|
@@ -380,7 +380,7 @@ export function registerFuturesTools(server) {
|
|
|
380
380
|
return errorContent(e);
|
|
381
381
|
}
|
|
382
382
|
});
|
|
383
|
-
server.tool('cex_futures_get_futures_fee', 'Get futures trading fee rates
|
|
383
|
+
server.tool('cex_futures_get_futures_fee', 'Get futures trading fee rates.', {
|
|
384
384
|
settle: settleSchema,
|
|
385
385
|
contract: z.string().optional().describe('Filter by contract'),
|
|
386
386
|
}, async ({ settle, contract }) => {
|
|
@@ -417,7 +417,7 @@ export function registerFuturesTools(server) {
|
|
|
417
417
|
return errorContent(e);
|
|
418
418
|
}
|
|
419
419
|
});
|
|
420
|
-
server.tool('cex_futures_get_futures_risk_limit_table', 'Get a specific risk limit tier table by table ID
|
|
420
|
+
server.tool('cex_futures_get_futures_risk_limit_table', 'Get a specific risk limit tier table by table ID.', {
|
|
421
421
|
settle: settleSchema,
|
|
422
422
|
table_id: z.string().describe('Risk limit table ID'),
|
|
423
423
|
}, async ({ settle, table_id }) => {
|
|
@@ -430,7 +430,7 @@ export function registerFuturesTools(server) {
|
|
|
430
430
|
return errorContent(e);
|
|
431
431
|
}
|
|
432
432
|
});
|
|
433
|
-
server.tool('cex_futures_list_futures_orders', 'List futures orders
|
|
433
|
+
server.tool('cex_futures_list_futures_orders', 'List futures orders.', {
|
|
434
434
|
settle: settleSchema,
|
|
435
435
|
status: z.enum(['open', 'finished']).describe('Order status'),
|
|
436
436
|
contract: z.string().optional().describe('Filter by contract'),
|
|
@@ -456,7 +456,7 @@ export function registerFuturesTools(server) {
|
|
|
456
456
|
return errorContent(e);
|
|
457
457
|
}
|
|
458
458
|
});
|
|
459
|
-
server.tool('cex_futures_create_futures_order', 'Create a futures order
|
|
459
|
+
server.tool('cex_futures_create_futures_order', 'Create a futures order State-changing', {
|
|
460
460
|
settle: settleSchema,
|
|
461
461
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
462
462
|
size: z.string().describe('Order size in contracts (negative = short)'),
|
|
@@ -496,7 +496,7 @@ export function registerFuturesTools(server) {
|
|
|
496
496
|
return errorContent(e);
|
|
497
497
|
}
|
|
498
498
|
});
|
|
499
|
-
server.tool('cex_futures_create_futures_bbo_order', 'Create a
|
|
499
|
+
server.tool('cex_futures_create_futures_bbo_order', 'Create a BBO futures order State-changing', {
|
|
500
500
|
settle: settleSchema,
|
|
501
501
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
502
502
|
size: z.number().int().describe('Order size in contracts (negative = short)'),
|
|
@@ -527,7 +527,7 @@ export function registerFuturesTools(server) {
|
|
|
527
527
|
return errorContent(e);
|
|
528
528
|
}
|
|
529
529
|
});
|
|
530
|
-
server.tool('cex_futures_get_futures_order', 'Get a futures order by ID
|
|
530
|
+
server.tool('cex_futures_get_futures_order', 'Get a futures order by ID.', {
|
|
531
531
|
settle: settleSchema,
|
|
532
532
|
order_id: z.string().describe('Order ID'),
|
|
533
533
|
}, async ({ settle, order_id }) => {
|
|
@@ -540,7 +540,7 @@ export function registerFuturesTools(server) {
|
|
|
540
540
|
return errorContent(e);
|
|
541
541
|
}
|
|
542
542
|
});
|
|
543
|
-
server.tool('cex_futures_amend_futures_order', 'Amend an open futures order
|
|
543
|
+
server.tool('cex_futures_amend_futures_order', 'Amend an open futures order State-changing', {
|
|
544
544
|
settle: settleSchema,
|
|
545
545
|
order_id: z.string().describe('Order ID'),
|
|
546
546
|
size: z.string().optional().describe('New order size'),
|
|
@@ -563,7 +563,7 @@ export function registerFuturesTools(server) {
|
|
|
563
563
|
return errorContent(e);
|
|
564
564
|
}
|
|
565
565
|
});
|
|
566
|
-
server.tool('cex_futures_cancel_futures_order', 'Cancel a futures order
|
|
566
|
+
server.tool('cex_futures_cancel_futures_order', 'Cancel a single futures order. See also `cex_futures_cancel_futures_batch_orders` (batch) and `cex_futures_cancel_all_futures_orders` (cancel all open). State-changing.', {
|
|
567
567
|
settle: settleSchema,
|
|
568
568
|
order_id: z.string().describe('Order ID'),
|
|
569
569
|
}, async ({ settle, order_id }) => {
|
|
@@ -576,7 +576,7 @@ export function registerFuturesTools(server) {
|
|
|
576
576
|
return errorContent(e);
|
|
577
577
|
}
|
|
578
578
|
});
|
|
579
|
-
server.tool('cex_futures_cancel_all_futures_orders', 'Cancel all open futures orders
|
|
579
|
+
server.tool('cex_futures_cancel_all_futures_orders', 'Cancel all open futures orders for a market. See also `cex_futures_cancel_futures_order` (single) and `cex_futures_cancel_futures_batch_orders` (batch). State-changing.', {
|
|
580
580
|
settle: settleSchema,
|
|
581
581
|
contract: z.string().describe('Contract to cancel orders for'),
|
|
582
582
|
side: z.enum(['ask', 'bid']).optional().describe('Only cancel ask (sell) or bid (buy) orders'),
|
|
@@ -601,7 +601,7 @@ export function registerFuturesTools(server) {
|
|
|
601
601
|
return errorContent(e);
|
|
602
602
|
}
|
|
603
603
|
});
|
|
604
|
-
server.tool('cex_futures_create_futures_batch_orders', 'Create multiple futures orders in a single request
|
|
604
|
+
server.tool('cex_futures_create_futures_batch_orders', 'Create multiple futures orders in a single request State-changing. Single → create_futures_order', {
|
|
605
605
|
settle: settleSchema,
|
|
606
606
|
orders: z.array(z.object({
|
|
607
607
|
contract: z.string(),
|
|
@@ -631,7 +631,7 @@ export function registerFuturesTools(server) {
|
|
|
631
631
|
return errorContent(e);
|
|
632
632
|
}
|
|
633
633
|
});
|
|
634
|
-
server.tool('cex_futures_cancel_futures_batch_orders', 'Cancel multiple futures orders
|
|
634
|
+
server.tool('cex_futures_cancel_futures_batch_orders', 'Cancel multiple futures orders (batch). See also `cex_futures_cancel_futures_order` (single) and `cex_futures_cancel_all_futures_orders` (cancel all open). State-changing.', {
|
|
635
635
|
settle: settleSchema,
|
|
636
636
|
order_ids: z.array(z.string()).describe('Array of order IDs to cancel'),
|
|
637
637
|
}, async ({ settle, order_ids }) => {
|
|
@@ -644,7 +644,7 @@ export function registerFuturesTools(server) {
|
|
|
644
644
|
return errorContent(e);
|
|
645
645
|
}
|
|
646
646
|
});
|
|
647
|
-
server.tool('cex_futures_amend_futures_batch_orders', 'Amend multiple futures orders in a single request
|
|
647
|
+
server.tool('cex_futures_amend_futures_batch_orders', 'Amend multiple futures orders in a single request State-changing. Single → amend_futures_order', {
|
|
648
648
|
settle: settleSchema,
|
|
649
649
|
orders: z.array(z.object({
|
|
650
650
|
order_id: z.string().optional().describe('Order ID to amend'),
|
|
@@ -677,7 +677,7 @@ export function registerFuturesTools(server) {
|
|
|
677
677
|
return errorContent(e);
|
|
678
678
|
}
|
|
679
679
|
});
|
|
680
|
-
server.tool('cex_futures_get_futures_orders_with_time_range', 'Get futures orders filtered by time range
|
|
680
|
+
server.tool('cex_futures_get_futures_orders_with_time_range', 'Get futures orders filtered by time range.', {
|
|
681
681
|
settle: settleSchema,
|
|
682
682
|
contract: z.string().optional().describe('Filter by contract'),
|
|
683
683
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -705,7 +705,7 @@ export function registerFuturesTools(server) {
|
|
|
705
705
|
return errorContent(e);
|
|
706
706
|
}
|
|
707
707
|
});
|
|
708
|
-
server.tool('cex_futures_list_futures_my_trades', 'Get personal futures trading history
|
|
708
|
+
server.tool('cex_futures_list_futures_my_trades', 'Get personal futures trading history.', {
|
|
709
709
|
settle: settleSchema,
|
|
710
710
|
contract: z.string().optional().describe('Filter by contract'),
|
|
711
711
|
order: z.number().int().optional().describe('Filter by order ID'),
|
|
@@ -733,7 +733,7 @@ export function registerFuturesTools(server) {
|
|
|
733
733
|
return errorContent(e);
|
|
734
734
|
}
|
|
735
735
|
});
|
|
736
|
-
server.tool('cex_futures_get_futures_my_trades_timerange', 'Get personal futures trade history filtered by time range
|
|
736
|
+
server.tool('cex_futures_get_futures_my_trades_timerange', 'Get personal futures trade history filtered by time range.', {
|
|
737
737
|
settle: settleSchema,
|
|
738
738
|
contract: z.string().optional().describe('Filter by contract'),
|
|
739
739
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -764,7 +764,7 @@ export function registerFuturesTools(server) {
|
|
|
764
764
|
return errorContent(e);
|
|
765
765
|
}
|
|
766
766
|
});
|
|
767
|
-
server.tool('cex_futures_list_position_close', 'List position close history
|
|
767
|
+
server.tool('cex_futures_list_position_close', 'List position close history.', {
|
|
768
768
|
settle: settleSchema,
|
|
769
769
|
contract: z.string().optional(),
|
|
770
770
|
limit: z.number().int().optional(),
|
|
@@ -798,7 +798,7 @@ export function registerFuturesTools(server) {
|
|
|
798
798
|
return errorContent(e);
|
|
799
799
|
}
|
|
800
800
|
});
|
|
801
|
-
server.tool('cex_futures_list_futures_liq_orders', 'Get personal futures liquidation history
|
|
801
|
+
server.tool('cex_futures_list_futures_liq_orders', 'Get personal futures liquidation history.', {
|
|
802
802
|
settle: settleSchema,
|
|
803
803
|
contract: z.string().optional(),
|
|
804
804
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -829,7 +829,7 @@ export function registerFuturesTools(server) {
|
|
|
829
829
|
return errorContent(e);
|
|
830
830
|
}
|
|
831
831
|
});
|
|
832
|
-
server.tool('cex_futures_list_auto_deleverages', 'Get personal auto-deleverage history
|
|
832
|
+
server.tool('cex_futures_list_auto_deleverages', 'Get personal auto-deleverage history.', {
|
|
833
833
|
settle: settleSchema,
|
|
834
834
|
contract: z.string().optional(),
|
|
835
835
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
@@ -860,7 +860,7 @@ export function registerFuturesTools(server) {
|
|
|
860
860
|
return errorContent(e);
|
|
861
861
|
}
|
|
862
862
|
});
|
|
863
|
-
server.tool('cex_futures_update_futures_position_leverage', 'Update
|
|
863
|
+
server.tool('cex_futures_update_futures_position_leverage', 'Update futures position leverage. See also `cex_futures_update_futures_position_margin` (margin) and `cex_futures_update_futures_position_risk_limit` (risk limit). State-changing.', {
|
|
864
864
|
settle: settleSchema,
|
|
865
865
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
866
866
|
leverage: z.string().describe('New leverage value; 0 for cross-margin mode'),
|
|
@@ -878,7 +878,7 @@ export function registerFuturesTools(server) {
|
|
|
878
878
|
return errorContent(e);
|
|
879
879
|
}
|
|
880
880
|
});
|
|
881
|
-
server.tool('cex_futures_update_futures_contract_position_leverage', 'Update position leverage with explicit margin mode
|
|
881
|
+
server.tool('cex_futures_update_futures_contract_position_leverage', 'Update position leverage with explicit margin mode State-changing', {
|
|
882
882
|
settle: settleSchema,
|
|
883
883
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
884
884
|
leverage: z.string().describe('New leverage value'),
|
|
@@ -897,7 +897,7 @@ export function registerFuturesTools(server) {
|
|
|
897
897
|
return errorContent(e);
|
|
898
898
|
}
|
|
899
899
|
});
|
|
900
|
-
server.tool('cex_futures_update_futures_position_margin', '
|
|
900
|
+
server.tool('cex_futures_update_futures_position_margin', 'Update futures position margin. See also `cex_futures_update_futures_position_leverage` (leverage) and `cex_futures_update_futures_position_risk_limit` (risk limit). State-changing.', {
|
|
901
901
|
settle: settleSchema,
|
|
902
902
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
903
903
|
change: z.string().describe('Margin change amount; positive to add, negative to reduce'),
|
|
@@ -911,7 +911,7 @@ export function registerFuturesTools(server) {
|
|
|
911
911
|
return errorContent(e);
|
|
912
912
|
}
|
|
913
913
|
});
|
|
914
|
-
server.tool('cex_futures_update_futures_position_risk_limit', 'Update
|
|
914
|
+
server.tool('cex_futures_update_futures_position_risk_limit', 'Update futures position risk limit. See also `cex_futures_update_futures_position_leverage` (leverage) and `cex_futures_update_futures_position_margin` (margin). State-changing.', {
|
|
915
915
|
settle: settleSchema,
|
|
916
916
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
917
917
|
risk_limit: z.number().describe('New risk limit value'),
|
|
@@ -925,7 +925,7 @@ export function registerFuturesTools(server) {
|
|
|
925
925
|
return errorContent(e);
|
|
926
926
|
}
|
|
927
927
|
});
|
|
928
|
-
server.tool('cex_futures_update_futures_position_cross_mode', 'Switch a single-mode position between isolated and cross margin
|
|
928
|
+
server.tool('cex_futures_update_futures_position_cross_mode', 'Switch a single-mode position between isolated and cross margin State-changing', {
|
|
929
929
|
settle: settleSchema,
|
|
930
930
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
931
931
|
mode: z.enum(['CROSS', 'ISOLATED']).describe('Margin mode to set: CROSS or ISOLATED'),
|
|
@@ -942,7 +942,7 @@ export function registerFuturesTools(server) {
|
|
|
942
942
|
return errorContent(e);
|
|
943
943
|
}
|
|
944
944
|
});
|
|
945
|
-
server.tool('cex_futures_update_futures_dual_comp_position_cross_mode', 'Switch a dual-mode position between isolated and cross margin
|
|
945
|
+
server.tool('cex_futures_update_futures_dual_comp_position_cross_mode', 'Switch a dual-mode position between isolated and cross margin State-changing. Single-mode → update_futures_position_cross_mode', {
|
|
946
946
|
settle: settleSchema,
|
|
947
947
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
948
948
|
mode: z.enum(['CROSS', 'ISOLATED']).describe('Margin mode to set: CROSS or ISOLATED'),
|
|
@@ -959,7 +959,7 @@ export function registerFuturesTools(server) {
|
|
|
959
959
|
return errorContent(e);
|
|
960
960
|
}
|
|
961
961
|
});
|
|
962
|
-
server.tool('cex_futures_set_futures_dual_mode', 'Enable or disable dual-mode (hedge mode) for a futures account
|
|
962
|
+
server.tool('cex_futures_set_futures_dual_mode', 'Enable or disable dual-mode (hedge mode) for a futures account State-changing', {
|
|
963
963
|
settle: settleSchema,
|
|
964
964
|
dual_mode: z.boolean().describe('true to enable dual/hedge mode, false to disable'),
|
|
965
965
|
}, async ({ settle, dual_mode }) => {
|
|
@@ -972,7 +972,7 @@ export function registerFuturesTools(server) {
|
|
|
972
972
|
return errorContent(e);
|
|
973
973
|
}
|
|
974
974
|
});
|
|
975
|
-
server.tool('cex_futures_set_position_mode', 'Set account-level position mode
|
|
975
|
+
server.tool('cex_futures_set_position_mode', 'Set account-level position mode State-changing', {
|
|
976
976
|
settle: settleSchema,
|
|
977
977
|
position_mode: z.string().describe('Position mode e.g. single_mode or dual_long_short_mode'),
|
|
978
978
|
}, async ({ settle, position_mode }) => {
|
|
@@ -985,7 +985,7 @@ export function registerFuturesTools(server) {
|
|
|
985
985
|
return errorContent(e);
|
|
986
986
|
}
|
|
987
987
|
});
|
|
988
|
-
server.tool('cex_futures_get_futures_dual_mode_position', 'Get dual-mode positions for a contract
|
|
988
|
+
server.tool('cex_futures_get_futures_dual_mode_position', 'Get dual-mode positions for a contract.', {
|
|
989
989
|
settle: settleSchema,
|
|
990
990
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
991
991
|
}, async ({ settle, contract }) => {
|
|
@@ -998,7 +998,7 @@ export function registerFuturesTools(server) {
|
|
|
998
998
|
return errorContent(e);
|
|
999
999
|
}
|
|
1000
1000
|
});
|
|
1001
|
-
server.tool('cex_futures_update_futures_dual_mode_position_margin', 'Add or reduce margin for a dual-mode position
|
|
1001
|
+
server.tool('cex_futures_update_futures_dual_mode_position_margin', 'Add or reduce margin for a dual-mode position State-changing', {
|
|
1002
1002
|
settle: settleSchema,
|
|
1003
1003
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
1004
1004
|
change: z.string().describe('Margin change amount; positive to add, negative to reduce'),
|
|
@@ -1013,7 +1013,7 @@ export function registerFuturesTools(server) {
|
|
|
1013
1013
|
return errorContent(e);
|
|
1014
1014
|
}
|
|
1015
1015
|
});
|
|
1016
|
-
server.tool('cex_futures_update_futures_dual_mode_position_leverage', 'Update leverage for a dual-mode position
|
|
1016
|
+
server.tool('cex_futures_update_futures_dual_mode_position_leverage', 'Update leverage for a dual-mode position State-changing', {
|
|
1017
1017
|
settle: settleSchema,
|
|
1018
1018
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
1019
1019
|
leverage: z.string().describe('New leverage value; 0 for cross-margin mode'),
|
|
@@ -1031,7 +1031,7 @@ export function registerFuturesTools(server) {
|
|
|
1031
1031
|
return errorContent(e);
|
|
1032
1032
|
}
|
|
1033
1033
|
});
|
|
1034
|
-
server.tool('cex_futures_update_futures_dual_mode_position_risk_limit', 'Update the risk limit for a dual-mode position
|
|
1034
|
+
server.tool('cex_futures_update_futures_dual_mode_position_risk_limit', 'Update the risk limit for a dual-mode position State-changing', {
|
|
1035
1035
|
settle: settleSchema,
|
|
1036
1036
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
1037
1037
|
risk_limit: z.number().describe('New risk limit value'),
|
|
@@ -1045,7 +1045,7 @@ export function registerFuturesTools(server) {
|
|
|
1045
1045
|
return errorContent(e);
|
|
1046
1046
|
}
|
|
1047
1047
|
});
|
|
1048
|
-
server.tool('cex_futures_countdown_cancel_all_futures', 'Set a countdown timer to cancel all futures orders (safety kill-switch
|
|
1048
|
+
server.tool('cex_futures_countdown_cancel_all_futures', 'Set a countdown timer to cancel all futures orders (safety kill-switch,). State-changing', {
|
|
1049
1049
|
settle: settleSchema,
|
|
1050
1050
|
timeout: z.number().int().describe('Countdown in seconds; 0 disables the timer'),
|
|
1051
1051
|
contract: z.string().optional().describe('Limit cancellation to this contract'),
|
|
@@ -1063,7 +1063,7 @@ export function registerFuturesTools(server) {
|
|
|
1063
1063
|
}
|
|
1064
1064
|
});
|
|
1065
1065
|
// ── Trail Orders ──────────────────────────────────────────────────────────
|
|
1066
|
-
server.tool('cex_futures_create_trail_order', 'Create a trailing stop order
|
|
1066
|
+
server.tool('cex_futures_create_trail_order', 'Create a trailing stop order State-changing', {
|
|
1067
1067
|
settle: settleSchema,
|
|
1068
1068
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
1069
1069
|
amount: z.string().describe('Order size'),
|
|
@@ -1098,7 +1098,7 @@ export function registerFuturesTools(server) {
|
|
|
1098
1098
|
return errorContent(e);
|
|
1099
1099
|
}
|
|
1100
1100
|
});
|
|
1101
|
-
server.tool('cex_futures_get_trail_orders', 'List trail orders
|
|
1101
|
+
server.tool('cex_futures_get_trail_orders', 'List trail orders.', {
|
|
1102
1102
|
settle: settleSchema,
|
|
1103
1103
|
contract: z.string().optional(),
|
|
1104
1104
|
is_finished: z.boolean().optional(),
|
|
@@ -1129,7 +1129,7 @@ export function registerFuturesTools(server) {
|
|
|
1129
1129
|
return errorContent(e);
|
|
1130
1130
|
}
|
|
1131
1131
|
});
|
|
1132
|
-
server.tool('cex_futures_get_trail_order_detail', 'Get details of a single trail order
|
|
1132
|
+
server.tool('cex_futures_get_trail_order_detail', 'Get details of a single trail order.', {
|
|
1133
1133
|
settle: settleSchema,
|
|
1134
1134
|
id: z.number().int().describe('Trail order ID'),
|
|
1135
1135
|
}, async ({ settle, id }) => {
|
|
@@ -1142,7 +1142,7 @@ export function registerFuturesTools(server) {
|
|
|
1142
1142
|
return errorContent(e);
|
|
1143
1143
|
}
|
|
1144
1144
|
});
|
|
1145
|
-
server.tool('cex_futures_update_trail_order', 'Update an existing trail order
|
|
1145
|
+
server.tool('cex_futures_update_trail_order', 'Update an existing trail order State-changing', {
|
|
1146
1146
|
settle: settleSchema,
|
|
1147
1147
|
id: z.number().describe('Trail order ID'),
|
|
1148
1148
|
amount: z.string().optional().describe('New order size'),
|
|
@@ -1169,7 +1169,7 @@ export function registerFuturesTools(server) {
|
|
|
1169
1169
|
return errorContent(e);
|
|
1170
1170
|
}
|
|
1171
1171
|
});
|
|
1172
|
-
server.tool('cex_futures_stop_trail_order', 'Stop a specific trail order
|
|
1172
|
+
server.tool('cex_futures_stop_trail_order', 'Stop a specific trail order State-changing', {
|
|
1173
1173
|
settle: settleSchema,
|
|
1174
1174
|
id: z.number().describe('Trail order ID'),
|
|
1175
1175
|
text: z.string().optional().describe('Stop reason text'),
|
|
@@ -1187,7 +1187,7 @@ export function registerFuturesTools(server) {
|
|
|
1187
1187
|
return errorContent(e);
|
|
1188
1188
|
}
|
|
1189
1189
|
});
|
|
1190
|
-
server.tool('cex_futures_stop_all_trail_orders', 'Stop all trail orders
|
|
1190
|
+
server.tool('cex_futures_stop_all_trail_orders', 'Stop all trail orders State-changing', {
|
|
1191
1191
|
settle: settleSchema,
|
|
1192
1192
|
contract: z.string().optional().describe('Only stop trail orders for this contract'),
|
|
1193
1193
|
related_position: z.number().int().optional().describe('Related position filter: 1 or 2'),
|
|
@@ -1206,7 +1206,7 @@ export function registerFuturesTools(server) {
|
|
|
1206
1206
|
return errorContent(e);
|
|
1207
1207
|
}
|
|
1208
1208
|
});
|
|
1209
|
-
server.tool('cex_futures_get_trail_order_change_log', 'Get change log for a trail order
|
|
1209
|
+
server.tool('cex_futures_get_trail_order_change_log', 'Get change log for a trail order.', {
|
|
1210
1210
|
settle: settleSchema,
|
|
1211
1211
|
id: z.number().int().describe('Trail order ID'),
|
|
1212
1212
|
page_num: z.number().int().optional(),
|
|
@@ -1227,7 +1227,7 @@ export function registerFuturesTools(server) {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
});
|
|
1229
1229
|
// ── Price-triggered orders ─────────────────────────────────────────────────
|
|
1230
|
-
server.tool('cex_futures_list_price_triggered_orders', 'List futures price-triggered orders
|
|
1230
|
+
server.tool('cex_futures_list_price_triggered_orders', 'List futures price-triggered orders.', {
|
|
1231
1231
|
settle: settleSchema,
|
|
1232
1232
|
status: z.enum(['open', 'finished']),
|
|
1233
1233
|
contract: z.string().optional(),
|
|
@@ -1250,7 +1250,7 @@ export function registerFuturesTools(server) {
|
|
|
1250
1250
|
return errorContent(e);
|
|
1251
1251
|
}
|
|
1252
1252
|
});
|
|
1253
|
-
server.tool('cex_futures_create_futures_price_triggered_order', 'Create a futures price-triggered order
|
|
1253
|
+
server.tool('cex_futures_create_futures_price_triggered_order', 'Create a futures price-triggered order State-changing', {
|
|
1254
1254
|
settle: settleSchema,
|
|
1255
1255
|
contract: z.string().describe('Contract name e.g. BTC_USDT'),
|
|
1256
1256
|
trigger_price: z.string().describe('Price that activates the order'),
|
|
@@ -1287,7 +1287,7 @@ export function registerFuturesTools(server) {
|
|
|
1287
1287
|
return errorContent(e);
|
|
1288
1288
|
}
|
|
1289
1289
|
});
|
|
1290
|
-
server.tool('cex_futures_get_futures_price_triggered_order', 'Get details of a futures price-triggered order
|
|
1290
|
+
server.tool('cex_futures_get_futures_price_triggered_order', 'Get details of a futures price-triggered order.', {
|
|
1291
1291
|
settle: settleSchema,
|
|
1292
1292
|
order_id: z.string().describe('Order ID'),
|
|
1293
1293
|
}, async ({ settle, order_id }) => {
|
|
@@ -1300,7 +1300,7 @@ export function registerFuturesTools(server) {
|
|
|
1300
1300
|
return errorContent(e);
|
|
1301
1301
|
}
|
|
1302
1302
|
});
|
|
1303
|
-
server.tool('cex_futures_update_futures_price_triggered_order', 'Update an existing futures price-triggered order
|
|
1303
|
+
server.tool('cex_futures_update_futures_price_triggered_order', 'Update an existing futures price-triggered order State-changing', {
|
|
1304
1304
|
settle: settleSchema,
|
|
1305
1305
|
order_id: z.string().describe('Order ID'),
|
|
1306
1306
|
size: z.number().int().optional().describe('New order size'),
|
|
@@ -1333,7 +1333,7 @@ export function registerFuturesTools(server) {
|
|
|
1333
1333
|
return errorContent(e);
|
|
1334
1334
|
}
|
|
1335
1335
|
});
|
|
1336
|
-
server.tool('cex_futures_cancel_futures_price_triggered_order', 'Cancel a single futures price-triggered order
|
|
1336
|
+
server.tool('cex_futures_cancel_futures_price_triggered_order', 'Cancel a single futures price-triggered order State-changing', {
|
|
1337
1337
|
settle: settleSchema,
|
|
1338
1338
|
order_id: z.string().describe('Order ID'),
|
|
1339
1339
|
}, async ({ settle, order_id }) => {
|
|
@@ -1346,7 +1346,7 @@ export function registerFuturesTools(server) {
|
|
|
1346
1346
|
return errorContent(e);
|
|
1347
1347
|
}
|
|
1348
1348
|
});
|
|
1349
|
-
server.tool('cex_futures_cancel_futures_price_triggered_order_list', 'Cancel all futures price-triggered orders
|
|
1349
|
+
server.tool('cex_futures_cancel_futures_price_triggered_order_list', 'Cancel all futures price-triggered orders State-changing', {
|
|
1350
1350
|
settle: settleSchema,
|
|
1351
1351
|
contract: z.string().optional().describe('Only cancel orders for this contract'),
|
|
1352
1352
|
}, async ({ settle, contract }) => {
|