Skip to main content
Glama

Binance Cryptocurrency MCP

by snjyor

get_aggregate_trades

Retrieve aggregated trade data for specific cryptocurrency pairs on Binance. Fetch trade history using symbols, time ranges, or trade IDs for detailed market analysis and insights.

Input Schema

NameRequiredDescriptionDefault
endTimeNoEnd timestamp (milliseconds)
fromIdNoAggregate trade ID to start from
limitNoNumber of trades to return, default 500, max 1000
startTimeNoStart timestamp (milliseconds)
symbolYesTrading pair symbol, e.g. BTCUSDT

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "endTime": { "description": "End timestamp (milliseconds)", "type": "number" }, "fromId": { "description": "Aggregate trade ID to start from", "type": "number" }, "limit": { "description": "Number of trades to return, default 500, max 1000", "type": "number" }, "startTime": { "description": "Start timestamp (milliseconds)", "type": "number" }, "symbol": { "description": "Trading pair symbol, e.g. BTCUSDT", "type": "string" } }, "required": [ "symbol" ], "type": "object" }

Implementation Reference

  • Handler function that fetches aggregate trades data from Binance API (/api/v3/aggTrades), handles parameters like symbol, fromId, timestamps, limit, uses proxy if available, returns JSON response or error message.
    async (args: { symbol: string; fromId?: number; startTime?: number; endTime?: number; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/aggTrades`, { params: { symbol: args.symbol, fromId: args.fromId, startTime: args.startTime, endTime: args.endTime, 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 aggregate trades: ${error.message}` }], isError: true }; } }
  • Zod schema defining input parameters for the get_aggregate_trades tool.
    { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), fromId: z.number().optional().describe("Aggregate trade ID to start from"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), limit: z.number().optional().describe("Number of trades to return, default 500, max 1000") },
  • src/index.ts:103-134 (registration)
    Registration of the get_aggregate_trades tool using server.tool() with schema and inline handler.
    server.tool( "get_aggregate_trades", { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), fromId: z.number().optional().describe("Aggregate trade ID to start from"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), limit: z.number().optional().describe("Number of trades to return, default 500, max 1000") }, async (args: { symbol: string; fromId?: number; startTime?: number; endTime?: number; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/aggTrades`, { params: { symbol: args.symbol, fromId: args.fromId, startTime: args.startTime, endTime: args.endTime, 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 aggregate trades: ${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