set_margin_mode
Configure margin trading settings on Bybit, including trading mode, leverage, and category, to manage risk and optimize trade execution.
Instructions
Set margin mode
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buyLeverage | Yes | Buying leverage | |
| category | Yes | Category (spot, linear, inverse, etc.) | |
| sellLeverage | Yes | Selling leverage | |
| symbol | Yes | Symbol (e.g., BTCUSDT) | |
| tradeMode | Yes | Trading mode (0: Isolated, 1: Cross) |
Implementation Reference
- src/bybit-service.ts:413-427 (handler)Core handler implementation that makes authenticated POST request to Bybit API endpoint '/v5/account/set-margin-mode' with the provided parameters.async setMarginMode( category: string, symbol: string, tradeMode: number, buyLeverage: string, sellLeverage: string ): Promise<BybitResponse<any> | { error: string }> { return this.makeBybitRequest('/v5/account/set-margin-mode', 'POST', { category, symbol, tradeMode, buyLeverage, sellLeverage }); }
- src/index.ts:908-924 (handler)MCP server handler in the CallToolRequestSchema that extracts arguments and delegates to BybitService.setMarginMode, then formats result as MCP response.case 'set_margin_mode': { const result = await this.bybitService.setMarginMode( typedArgs.category, typedArgs.symbol, typedArgs.tradeMode, typedArgs.buyLeverage, typedArgs.sellLeverage ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:419-448 (registration)Tool registration in ListToolsRequestHandler including name, description, and input schema definition for MCP tool discovery.{ name: 'set_margin_mode', description: 'Set margin mode', inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Category (spot, linear, inverse, etc.)', }, symbol: { type: 'string', description: 'Symbol (e.g., BTCUSDT)', }, tradeMode: { type: 'number', description: 'Trading mode (0: Isolated, 1: Cross)', }, buyLeverage: { type: 'string', description: 'Buying leverage', }, sellLeverage: { type: 'string', description: 'Selling leverage', }, }, required: ['category', 'symbol', 'tradeMode', 'buyLeverage', 'sellLeverage'], }, },
- src/index.ts:422-447 (schema)Input schema definition specifying parameters, types, descriptions, and required fields for the set_margin_mode tool.inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Category (spot, linear, inverse, etc.)', }, symbol: { type: 'string', description: 'Symbol (e.g., BTCUSDT)', }, tradeMode: { type: 'number', description: 'Trading mode (0: Isolated, 1: Cross)', }, buyLeverage: { type: 'string', description: 'Buying leverage', }, sellLeverage: { type: 'string', description: 'Selling leverage', }, }, required: ['category', 'symbol', 'tradeMode', 'buyLeverage', 'sellLeverage'], },