list_fiat_wallets
Retrieve all fiat currency wallets from Bitpanda to view balances and manage traditional currency holdings.
Instructions
Lists all user's fiat wallets from the Bitpanda API.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/fiatWallets.ts:26-46 (handler)The handler function that executes the tool logic by fetching fiat wallets from the Bitpanda API using axios.const listFiatWalletsHandler = async (_input: Input): Promise<Output> => { try { const apiKey = getBitpandaApiKey(); const url = `${BITPANDA_API_BASE_URL}/fiatwallets`; const response = await axios.get<Output>(url, { headers: { 'X-Api-Key': apiKey, 'Content-Type': 'application/json', }, }); // Return the data received from the Bitpanda API return response.data; } catch (error: unknown) { console.error('Error fetching Bitpanda fiat wallets:', error); const message = error instanceof Error ? error.message : 'An unknown error occurred while fetching fiat wallets.'; // Re-throwing the error to be handled by the MCP server framework throw new Error(`Failed to fetch Bitpanda fiat wallets: ${message}`); } };
- src/tools/fiatWallets.ts:5-23 (schema)Defines the input schema (empty object) and TypeScript types for input and output of the list_fiat_wallets tool.// Define the input schema shape for the list_fiat_wallets tool (no parameters) const listFiatWalletsInputSchemaShape = {}; type RawSchemaShape = typeof listFiatWalletsInputSchemaShape; type Input = z.infer<z.ZodObject<RawSchemaShape>>; // Define the expected output structure based on the API documentation type Output = { data: Array<{ type: string; attributes: { fiat_id: string; fiat_symbol: string; balance: string; name: string; pending_transactions_count: number; }; id: string; }>; };
- src/tools/fiatWallets.ts:57-62 (registration)Exports the complete tool definition for list_fiat_wallets, bundling name, description, schema, and handler.export const listFiatWalletsTool: BitpandaToolDefinition = { name: 'list_fiat_wallets', description: "Lists all user's fiat wallets from the Bitpanda API.", inputSchemaShape: listFiatWalletsInputSchemaShape, handler: listFiatWalletsHandler, };
- src/tools/index.ts:41-57 (registration)Registers the list_fiat_wallets tool (among others) with the MCP server using server.tool().export const registerBitpandaTools = (server: McpServer): void => { bitpandaToolDefinitions.forEach((toolDef) => { try { // Pass the raw shape to the inputSchema parameter, assuming SDK handles z.object() server.tool(toolDef.name, toolDef.description, toolDef.inputSchemaShape, async (input) => { const result = await toolDef.handler(input); // Assuming the handler returns the data directly, wrap it in the MCP content format return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; }); console.log(`Registered Bitpanda tool: ${toolDef.name}`); } catch (error) { console.error(`Failed to register tool ${toolDef.name}:`, error); } }); };