Skip to main content
Glama
questflowai

Aster Finance MCP Server

by questflowai

getMultiAssetsMode

Retrieve user's multi-assets trading configuration to determine how multiple cryptocurrency assets are managed within the Aster Finance futures trading platform.

Instructions

Get user's Multi-Assets mode.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler for the 'getMultiAssetsMode' tool. It invokes the shared makeRequest helper to perform a signed GET request to the Aster futures API endpoint '/fapi/v1/multiAssetsMargin' with the provided arguments (none required).
    case 'getMultiAssetsMode':
        return makeRequest('GET', '/fapi/v1/multiAssetsMargin', args, true);
  • src/index.ts:239-239 (registration)
    Registration of the 'getMultiAssetsMode' tool in the tools list provided by the ListToolsRequestSchema handler, including its name, description, and input schema.
    { name: 'getMultiAssetsMode', description: "Get user's Multi-Assets mode.", inputSchema: { type: 'object', properties: {} } },
  • Input schema for 'getMultiAssetsMode': an empty object (no parameters required).
    { name: 'getMultiAssetsMode', description: "Get user's Multi-Assets mode.", inputSchema: { type: 'object', properties: {} } },
  • Shared helper function 'makeRequest' used by all signed tool handlers, including 'getMultiAssetsMode'. It constructs and signs the API request using API_KEY and API_SECRET, makes the axios request, and formats the response as MCP content.
    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