Skip to main content
Glama

get_open_orders

Retrieve open orders on Bybit based on category, symbol, order ID, or filter. Specify limits to fetch specific order details for trading strategies or monitoring.

Instructions

Get open orders Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter limit (int): Number of orders to retrieve Returns: Dict: Open orders Example: get_open_orders("spot", "BTCUSDT", "123456789", "link123", "Order", 10) Reference: https://bybit-exchange.github.io/docs/v5/order/open-order

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory (spot, linear, inverse, etc.)
limitNoNumber of orders to retrieve
orderFilterNoOrder filter
orderIdNoOrder ID
orderLinkIdNoOrder link ID
symbolNoSymbol (e.g., BTCUSDT)

Implementation Reference

  • Primary MCP tool handler for 'get_open_orders'. Defines input schema with Pydantic Field descriptions, executes the tool by delegating to BybitService.get_open_orders, checks retCode, and handles exceptions with error responses.
    @mcp.tool() def get_open_orders( category: str = Field(description="Category (spot, linear, inverse, etc.)"), symbol: Optional[str] = Field(default=None, description="Symbol (e.g., BTCUSDT)"), orderId: Optional[str] = Field(default=None, description="Order ID"), orderLinkId: Optional[str] = Field(default=None, description="Order link ID"), orderFilter: Optional[str] = Field(default=None, description="Order filter"), limit: int = Field(default=50, description="Number of orders to retrieve") ) -> Dict: """ Get open orders Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter limit (int): Number of orders to retrieve Returns: Dict: Open orders Example: get_open_orders("spot", "BTCUSDT", "123456789", "link123", "Order", 10) Reference: https://bybit-exchange.github.io/docs/v5/order/open-order """ try: result = bybit_service.get_open_orders( category, symbol, orderId, orderLinkId, orderFilter, limit ) if result.get("retCode") != 0: logger.error(f"Failed to get open orders: {result.get('retMsg')}") return {"error": result.get("retMsg")} return result except Exception as e: logger.error(f"Failed to get open orders: {e}", exc_info=True) return {"error": str(e)}
  • Supporting helper method in BybitService class that directly calls the underlying pybit.unified_trading.HTTP client's get_open_orders method to fetch open orders from Bybit API.
    def get_open_orders(self, category: str, symbol: Optional[str] = None, orderId: Optional[str] = None, orderLinkId: Optional[str] = None, orderFilter: Optional[str] = None, limit: int = 50) -> Dict: """ Get open orders Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter limit (int): Number of orders to retrieve Returns: Dict: Open orders """ return self.client.get_open_orders( category=category, symbol=symbol, orderId=orderId, orderLinkId=orderLinkId, orderFilter=orderFilter, limit=limit )

Other Tools

Related Tools

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