get_price
Fetch current cryptocurrency prices from Binance for single or multiple trading pairs to monitor market values and support trading decisions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Trading pair symbol, e.g. BTCUSDT | |
| symbols | No | Array of multiple trading pair symbols |
Implementation Reference
- src/index.ts:309-331 (handler)Handler function that fetches the current price ticker from the Binance API (/api/v3/ticker/price) for a single symbol or multiple symbols.async (args: { symbol?: string; symbols?: string[] }) => { try { let params = {}; if (args.symbol) { params = { symbol: args.symbol }; } else if (args.symbols) { params = { symbols: JSON.stringify(args.symbols) }; } const response = await axios.get(`${BASE_URL}/api/v3/ticker/price`, { params, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get price ticker: ${error.message}` }], isError: true }; } }
- src/index.ts:305-308 (schema)Input schema using Zod validation for optional single symbol (string) or array of symbols.{ symbol: z.string().optional().describe("Trading pair symbol, e.g. BTCUSDT"), symbols: z.array(z.string()).optional().describe("Array of multiple trading pair symbols") },
- src/index.ts:303-332 (registration)Registration of the 'get_price' tool with the MCP server via server.tool(), including schema and inline handler function.server.tool( "get_price", { symbol: z.string().optional().describe("Trading pair symbol, e.g. BTCUSDT"), symbols: z.array(z.string()).optional().describe("Array of multiple trading pair symbols") }, async (args: { symbol?: string; symbols?: string[] }) => { try { let params = {}; if (args.symbol) { params = { symbol: args.symbol }; } else if (args.symbols) { params = { symbols: JSON.stringify(args.symbols) }; } const response = await axios.get(`${BASE_URL}/api/v3/ticker/price`, { params, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get price ticker: ${error.message}` }], isError: true }; } } );
- src/index.ts:403-412 (helper)Helper function that constructs proxy object from proxyURL (derived from HTTP_PROXY/HTTPS_PROXY env vars) for use in axios requests.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 }