get_order_book
Retrieve real-time order book data for cryptocurrency trading pairs from Binance to analyze market depth and liquidity for informed trading decisions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol, e.g. BTCUSDT | |
| limit | No | Order book depth, default 100, max 5000 |
Implementation Reference
- src/index.ts:20-39 (handler)The handler function for the 'get_order_book' tool. It fetches the order book data from the Binance API (/api/v3/depth) using axios, with parameters for symbol and optional limit. Returns the JSON response or an error message.async (args: { symbol: string; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/depth`, { params: { symbol: args.symbol, limit: args.limit }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get order book: ${error.message}` }], isError: true }; } } );
- src/index.ts:16-19 (schema)Zod schema defining the input parameters for the 'get_order_book' tool: required 'symbol' string and optional 'limit' number.{ symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), limit: z.number().optional().describe("Order book depth, default 100, max 5000") },
- src/index.ts:15-39 (registration)Registration of the 'get_order_book' tool using McpServer's tool() method within the registerTools function, including inline schema and handler."get_order_book", { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), limit: z.number().optional().describe("Order book depth, default 100, max 5000") }, async (args: { symbol: string; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/depth`, { params: { symbol: args.symbol, limit: args.limit }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get order book: ${error.message}` }], isError: true }; } } );
- src/index.ts:403-412 (helper)Helper function 'getProxy()' used by the handler to configure proxy settings from HTTP_PROXY or HTTPS_PROXY environment variables.function getProxy():any { const proxy: any = {} if (proxyURL) { const urlInfo = new URL(proxyURL); proxy.host = urlInfo.hostname; proxy.port = urlInfo.port; proxy.protocol = urlInfo.protocol.replace(":", ""); } return proxy }