Skip to main content
Glama
blaze-xyz
by blaze-xyz

list_fundings

Retrieve funding transaction records from the Bitso cryptocurrency exchange to monitor deposits and track account balance changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Executes the list_fundings tool: parses input params with Zod schema, fetches fundings via BitsoApiClient.getFundings(), formats and returns JSON response or error message.
        try {
          const validatedParams = ListFundingsSchema.parse(params);
          logToFile('INFO', 'List fundings tool called', validatedParams);
          
          const response = await client.getFundings(validatedParams);
          
          if (!response.success || !response.payload || response.payload.length === 0) {
            return {
              content: [
                {
                  type: "text",
                  text: "No fundings found with the specified criteria."
                }
              ]
            };
          }
          
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify({
                  success: true,
                  count: response.payload.length,
                  fundings: response.payload.map(funding => ({
                    fid: funding.fid,
                    status: funding.status,
                    currency: funding.currency,
                    amount: funding.amount,
                    method: funding.method,
                    created_at: funding.created_at,
                    details: funding.details
                  }))
                }, null, 2)
              }
            ]
          };
        } catch (error) {
          logToFile('ERROR', 'Error in list_fundings tool', error);
          
          if (error instanceof z.ZodError) {
            const errorMessage = error.errors.map(err => `${err.path.join('.')}: ${err.message}`).join(', ');
            return {
              content: [
                {
                  type: "text",
                  text: `Validation error: ${errorMessage}`
                }
              ]
            };
          }
          
          return {
            content: [
              {
                type: "text",
                text: `Error listing fundings: ${error instanceof Error ? error.message : String(error)}`
              }
            ]
          };
        }
      }
    );
  • Zod schema for validating input parameters to the list_fundings tool.
    const ListFundingsSchema = z.object({
      limit: z.number().int().positive().max(100).optional(),
      marker: z.string().optional(),
      method: z.string().optional(),
      status: z.string().optional(),
      fids: z.string().optional(),
    });
  • Registers the list_fundings tool on the MCP server with input schema and handler function reference.
    server.tool(
      "list_fundings",
      {
        description: "List fundings with optional filtering parameters",
        inputSchema: {
          type: "object",
          properties: {
            limit: {
              type: "number",
              description: "Number of objects to return (max 100, default 25)",
              minimum: 1,
              maximum: 100
            },
            marker: {
              type: "string",
              description: "Pagination marker"
            },
            method: {
              type: "string",
              description: "Filter by funding method"
            },
            status: {
              type: "string",
              description: "Filter by funding status"
            },
            fids: {
              type: "string",
              description: "Comma-separated funding IDs to filter by"
            }
          }
        }
      },
      async (params): Promise<ToolResult> => {
        try {
          const validatedParams = ListFundingsSchema.parse(params);
          logToFile('INFO', 'List fundings tool called', validatedParams);
          
          const response = await client.getFundings(validatedParams);
          
          if (!response.success || !response.payload || response.payload.length === 0) {
            return {
              content: [
                {
                  type: "text",
                  text: "No fundings found with the specified criteria."
                }
              ]
            };
          }
          
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify({
                  success: true,
                  count: response.payload.length,
                  fundings: response.payload.map(funding => ({
                    fid: funding.fid,
                    status: funding.status,
                    currency: funding.currency,
                    amount: funding.amount,
                    method: funding.method,
                    created_at: funding.created_at,
                    details: funding.details
                  }))
                }, null, 2)
              }
            ]
          };
        } catch (error) {
          logToFile('ERROR', 'Error in list_fundings tool', error);
          
          if (error instanceof z.ZodError) {
            const errorMessage = error.errors.map(err => `${err.path.join('.')}: ${err.message}`).join(', ');
            return {
              content: [
                {
                  type: "text",
                  text: `Validation error: ${errorMessage}`
                }
              ]
            };
          }
          
          return {
            content: [
              {
                type: "text",
                text: `Error listing fundings: ${error instanceof Error ? error.message : String(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/blaze-xyz/bitso-mcp'

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