Skip to main content
Glama
snjyor

Binance Cryptocurrency MCP

by snjyor

get_ui_klines

Fetch candlestick data for Binance trading pairs using specified intervals, timestamps, and time zones to analyze market trends and price movements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endTimeNoEnd timestamp (milliseconds)
intervalYesK-line interval, e.g. 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M
limitNoNumber of K-lines to return, default 500, max 1000
startTimeNoStart timestamp (milliseconds)
symbolYesTrading pair symbol, e.g. BTCUSDT
timeZoneNoTime zone, default UTC

Implementation Reference

  • The handler function that executes the get_ui_klines tool logic, fetching UI K-line/candlestick data from Binance API endpoint /api/v3/uiKlines.
    async (args: { symbol: string; interval: string; startTime?: number; endTime?: number; timeZone?: string; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/uiKlines`, { params: { symbol: args.symbol, interval: args.interval, startTime: args.startTime, endTime: args.endTime, timeZone: args.timeZone, 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 UI K-line data: ${error.message}` }], isError: true }; } }
  • Zod schema defining input parameters for the get_ui_klines tool.
    { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), interval: z.string().describe("K-line interval, e.g. 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), timeZone: z.string().optional().describe("Time zone, default UTC"), limit: z.number().optional().describe("Number of K-lines to return, default 500, max 1000") },
  • src/index.ts:173-206 (registration)
    Registration of the get_ui_klines tool in the MCP server using server.tool().
    server.tool( "get_ui_klines", { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), interval: z.string().describe("K-line interval, e.g. 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), timeZone: z.string().optional().describe("Time zone, default UTC"), limit: z.number().optional().describe("Number of K-lines to return, default 500, max 1000") }, async (args: { symbol: string; interval: string; startTime?: number; endTime?: number; timeZone?: string; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/uiKlines`, { params: { symbol: args.symbol, interval: args.interval, startTime: args.startTime, endTime: args.endTime, timeZone: args.timeZone, 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 UI K-line data: ${error.message}` }], isError: true }; } } );

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/snjyor/binance-mcp'

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