Skip to main content
Glama
kukapay

aster-info-mcp

get_order_book_ticker

Retrieve order book ticker data for trading pairs from Aster Finance API, output as a Markdown table with symbol, bid/ask prices, and quantities for market analysis.

Instructions

Fetch order book ticker data from Aster Finance API and return as Markdown table text. Parameters: symbol (Optional[str]): Trading pair symbol (e.g., 'BTCUSDT', 'ETHUSDT'). Case-insensitive. If None, returns data for all symbols. Returns: str: Markdown table containing symbol, bidPrice, bidQty, askPrice, and askQty. Raises: Exception: If the API request fails or data processing encounters an error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolNo

Implementation Reference

  • main.py:494-551 (handler)
    Handler function decorated with @mcp.tool() that implements the get_order_book_ticker tool. Fetches order book ticker data from Aster Finance API (/fapi/v1/ticker/bookTicker), processes with pandas DataFrame, formats numbers, and returns as Markdown table.
    @mcp.tool() async def get_order_book_ticker( symbol: Optional[str] = None ) -> str: """ Fetch order book ticker data from Aster Finance API and return as Markdown table text. Parameters: symbol (Optional[str]): Trading pair symbol (e.g., 'BTCUSDT', 'ETHUSDT'). Case-insensitive. If None, returns data for all symbols. Returns: str: Markdown table containing symbol, bidPrice, bidQty, askPrice, and askQty. Raises: Exception: If the API request fails or data processing encounters an error. """ endpoint = "/fapi/v1/ticker/bookTicker" # Construct query parameters params = {} if symbol is not None: params["symbol"] = symbol.upper() # Ensure symbol is uppercase (e.g., BTCUSDT) async with httpx.AsyncClient() as client: try: # Make GET request to the API response = await client.get(f"{BASE_URL}{endpoint}", params=params) response.raise_for_status() # Raise exception for 4xx/5xx errors # Parse JSON response ticker_data = response.json() # Handle single symbol (dict) or all symbols (list of dicts) if isinstance(ticker_data, dict): ticker_data = [ticker_data] # Create pandas DataFrame df = pd.DataFrame(ticker_data) # Select relevant columns and format numbers df = df[["symbol", "bidPrice", "bidQty", "askPrice", "askQty"]] df["bidPrice"] = df["bidPrice"].astype(float).round(8) df["bidQty"] = df["bidQty"].astype(float).round(8) df["askPrice"] = df["askPrice"].astype(float).round(8) df["askQty"] = df["askQty"].astype(float).round(8) # Convert DataFrame to Markdown table markdown_table = df.to_markdown(index=False) return markdown_table except httpx.HTTPStatusError as e: # Handle HTTP errors (e.g., 400, 429) raise Exception(f"API request failed: {e.response.status_code} - {e.response.text}") except Exception as e: # Handle other errors (e.g., network issues, pandas errors) raise Exception(f"Error processing order book ticker data: {str(e)}")

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/kukapay/aster-info-mcp'

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