Skip to main content
Glama
questflowai

Aster Finance MCP Server

by questflowai

ticker_24hr

Get 24-hour rolling window price change statistics for cryptocurrency trading pairs to analyze market movements and inform trading decisions.

Instructions

24 hour rolling window price change statistics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolNoTrading symbol

Implementation Reference

  • Handler case for the 'ticker_24hr' tool. Executes a GET request to the Aster API endpoint '/fapi/v1/ticker/24hr' using the shared makeRequest utility with the provided arguments.
    case 'ticker_24hr': return makeRequest('GET', '/fapi/v1/ticker/24hr', args);
  • src/index.ts:185-194 (registration)
    Registration of the 'ticker_24hr' tool in the ListTools response, including its description and input schema (optional 'symbol').
    { name: 'ticker_24hr', description: '24 hour rolling window price change statistics.', inputSchema: { type: 'object', properties: { symbol: { type: 'string', description: 'Trading symbol' }, }, }, },
  • Input schema for the 'ticker_24hr' tool, defining an optional 'symbol' parameter.
    inputSchema: { type: 'object', properties: { symbol: { type: 'string', description: 'Trading symbol' }, }, },
  • Shared helper function 'makeRequest' used by all tools, including 'ticker_24hr', to perform HTTP requests to the Aster API, handling signing for authenticated endpoints and returning JSON-formatted responses.
    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