get_avg_price
Calculate the average price for a cryptocurrency trading pair on Binance to determine fair market value for trading decisions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol, e.g. BTCUSDT |
Implementation Reference
- src/index.ts:215-231 (handler)Handler function that fetches the current average price from the Binance API endpoint /api/v3/avgPrice, handles errors, and returns the JSON response or error message.try { const response = await axios.get(`${BASE_URL}/api/v3/avgPrice`, { params: { symbol: args.symbol }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get average price: ${error.message}` }], isError: true }; } }
- src/index.ts:212-214 (schema)Zod schema defining the input parameter 'symbol' for the get_avg_price tool.symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT") }, async (args: { symbol: string }) => {
- src/index.ts:210-232 (registration)Registration of the 'get_avg_price' tool on the MCP server using server.tool() with input schema and handler function."get_avg_price", { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT") }, async (args: { symbol: string }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/avgPrice`, { params: { symbol: args.symbol }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get average price: ${error.message}` }], isError: true }; } } );
- src/index.ts:403-412 (helper)Helper function to construct proxy configuration from environment variables, used in API requests including get_avg_price.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 }