Skip to main content
Glama
questflowai

Aster Finance MCP Server

by questflowai

trades

Retrieve recent cryptocurrency market trades data from Aster Finance exchange for trading analysis and market monitoring.

Instructions

Get recent market trades.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results. Default 500, max 1000.
symbolYesTrading symbol

Implementation Reference

  • Switch case that handles execution of the 'trades' tool by calling makeRequest to the AsterDex API /fapi/v1/trades endpoint.
    case 'trades': return makeRequest('GET', '/fapi/v1/trades', args);
  • src/index.ts:67-78 (registration)
    Registration of the 'trades' tool within the ListToolsRequestHandler response, defining name, description, and input schema.
    { name: 'trades', description: 'Get recent market trades.', inputSchema: { type: 'object', properties: { symbol: { type: 'string', description: 'Trading symbol' }, limit: { type: 'number', description: 'Number of results. Default 500, max 1000.' }, }, required: ['symbol'], }, },
  • JSON Schema defining the input parameters for the 'trades' tool: required symbol (string), optional limit (number).
    inputSchema: { type: 'object', properties: { symbol: { type: 'string', description: 'Trading symbol' }, limit: { type: 'number', description: 'Number of results. Default 500, max 1000.' }, }, required: ['symbol'], },
  • Utility function makeRequest that performs the actual API call, handles signing for authenticated endpoints, and formats the response for MCP.
    const makeRequest = async (method: 'GET' | 'POST' | 'DELETE', path: string, params: any, isSigned = false) => { try { let config: any = { method, url: path, }; if (isSigned) { if (!API_KEY || !API_SECRET) { throw new McpError(ErrorCode.InvalidRequest, 'API_KEY and API_SECRET must be configured.'); } params.timestamp = Date.now(); const queryString = new URLSearchParams(params).toString(); const signature = crypto.createHmac('sha256', API_SECRET).update(queryString).digest('hex'); params.signature = signature; config.headers = { 'X-MBX-APIKEY': API_KEY }; } if (method === 'GET' || method === 'DELETE') { config.params = params; } else { // POST config.data = new URLSearchParams(params).toString(); config.headers = { ...config.headers, 'Content-Type': 'application/x-www-form-urlencoded' }; } const response = await this.axiosInstance.request(config); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] }; } catch (error) { if (axios.isAxiosError(error)) { throw new McpError( ErrorCode.InternalError, `Aster API error: ${error.response?.data?.msg || error.message}` ); } 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/questflowai/aster-mcp-server'

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