Skip to main content
Glama

set_margin_mode

Configure margin mode for Bybit trades by specifying category, symbol, trade mode (isolated or cross), and leverage for buying and selling. Adjust risk management settings effectively.

Instructions

Set margin mode Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) tradeMode (int): Trading mode (0: Isolated, 1: Cross) buyLeverage (str): Buying leverage sellLeverage (str): Selling leverage Returns: Dict: Setting result Example: set_margin_mode("spot", "BTCUSDT", 0, "10", "10") Reference: https://bybit-exchange.github.io/docs/v5/account/set-margin-mode

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyLeverageYesBuying leverage
categoryYesCategory (spot, linear, inverse, etc.)
sellLeverageYesSelling leverage
symbolYesSymbol (e.g., BTCUSDT)
tradeModeYesTrading mode (0: Isolated, 1: Cross)

Implementation Reference

  • The main handler function for the 'set_margin_mode' MCP tool, decorated with @mcp.tool() for automatic registration. Includes input schema via Field annotations and implements the core logic by delegating to the service layer.
    def set_margin_mode( category: str = Field(description="Category (spot, linear, inverse, etc.)"), symbol: str = Field(description="Symbol (e.g., BTCUSDT)"), tradeMode: int = Field(description="Trading mode (0: Isolated, 1: Cross)"), buyLeverage: str = Field(description="Buying leverage"), sellLeverage: str = Field(description="Selling leverage") ) -> Dict: """ Set margin mode Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) tradeMode (int): Trading mode (0: Isolated, 1: Cross) buyLeverage (str): Buying leverage sellLeverage (str): Selling leverage Returns: Dict: Setting result Example: set_margin_mode("spot", "BTCUSDT", 0, "10", "10") Reference: https://bybit-exchange.github.io/docs/v5/account/set-margin-mode """ try: result = bybit_service.set_margin_mode( category, symbol, tradeMode, buyLeverage, sellLeverage ) if result.get("retCode") != 0: logger.error(f"Failed to set margin mode: {result.get('retMsg')}") return {"error": result.get("retMsg")} return result except Exception as e: logger.error(f"Failed to set margin mode: {e}", exc_info=True) return {"error": str(e)}
  • Helper method in BybitService class that wraps and forwards the set_margin_mode call to the underlying Bybit client library.
    def set_margin_mode(self, category: str, symbol: str, tradeMode: int, buyLeverage: str, sellLeverage: str) -> Dict: """ Set margin mode Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) tradeMode (int): Trading mode (0: Isolated, 1: Cross) buyLeverage (str): Buying leverage sellLeverage (str): Selling leverage Returns: Dict: Setting result """ return self.client.set_margin_mode( category=category, symbol=symbol, tradeMode=tradeMode, buyLeverage=buyLeverage, sellLeverage=sellLeverage )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dlwjdtn535/mcp-bybit-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server