Skip to main content
Glama
mbarinov

OKX MCP Server

by mbarinov

get_order_history

Retrieve filled order history for specific instruments within defined time periods to analyze trading activity and performance.

Instructions

Get a list of filled orders for a given date range and optional symbol filter

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
beginNothe beginning of the time range in timestamp format
endNothe end of the time range in timestamp format
instIdYesInstrument ID (symbol), e.g. BTC-USDT

Implementation Reference

  • The main execution handler for the get_order_history tool. It invokes the OKX API client to retrieve order history and formats the response as text content.
    export default async function get_order_history({ instId, begin, end, }: InferSchema<typeof schema>) { try { const orderHistory = await okxApiClient.getOrderHistory(instId, begin, end); return { content: [{ type: "text", text: JSON.stringify(orderHistory, null, 2) }], }; } catch (error) { const message = error instanceof Error ? error.message : "An unknown error occurred"; return { content: [ { type: "text", text: JSON.stringify({ error: message }, null, 2) }, ], }; } }
  • Zod-based input schema defining parameters: instId (required string), begin and end (optional numbers for timestamp range).
    export const schema = { instId: z.string().describe("Instrument ID (symbol), e.g. BTC-USDT"), begin: z .number() .optional() .describe("the beginning of the time range in timestamp format"), end: z .number() .optional() .describe("the end of the time range in timestamp format"), };
  • Tool metadata registration, specifying the name 'get_order_history', description, and annotations for MCP tool protocol.
    export const metadata = { name: "get_order_history", description: "Get a list of filled orders for a given date range and optional symbol filter", annotations: { title: "Get Order History", readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, };
  • Supporting helper method in OkxApiClient class that interfaces with the OKX REST API to fetch order history for SPOT instruments, processes the response, and handles errors.
    async getOrderHistory(instId: string, begin?: number, end?: number) { try { const response = await client.getOrderHistory({ instType: "SPOT", instId, begin: begin?.toString(), end: end?.toString(), }); return response.map((order) => ({ orderId: order.ordId, symbol: order.instId, price: parseFloat(order.avgPx), amount: parseFloat(order.sz), side: order.side, realizedPnl: parseFloat(order.pnl), })); } catch (error) { console.error("Error fetching order history:", error); throw error; } }

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/mbarinov/okx-mcp'

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