get_price
Fetch real-time cryptocurrency prices from Binance for single or multiple trading pairs using natural language queries, enabling quick market data access for AI agents.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Trading pair symbol, e.g. BTCUSDT | |
| symbols | No | Array of multiple trading pair symbols |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"symbol": {
"description": "Trading pair symbol, e.g. BTCUSDT",
"type": "string"
},
"symbols": {
"description": "Array of multiple trading pair symbols",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
Implementation Reference
- src/index.ts:309-331 (handler)Handler function that fetches the current price ticker from Binance API endpoint /api/v3/ticker/price for a given 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)Zod input schema defining optional single symbol or array of symbols for the get_price tool.{ 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:304-332 (registration)Registration of the get_price tool using McpServer.tool method inside the registerTools function."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 }; } } );