balance
Check available funds on payment providers to verify account balances and monitor financial resources.
Instructions
Check available funds on a payment provider.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Which provider to check. Checks all if omitted. |
Implementation Reference
- src/index.ts:377-423 (handler)The 'balance' tool is defined as an MCP tool using server.tool, and handles both checking a specific provider or all configured providers.
// Tool: balance server.tool( "balance", "Check available funds on a payment provider.", BalanceSchema.shape, async (params) => { try { if (params.provider) { const provider = pickProvider(undefined, undefined, params.provider); const result = await provider.balance(); return jsonResult(result); } const results = []; for (const [, p] of providers) { try { results.push(await p.balance()); } catch (err) { results.push({ provider: p.name, currency: p.supportedCurrencies[0] ?? "?", available: -1, error: formatError(err), }); } } guardrails.audit({ timestamp: new Date().toISOString(), type: "payment", action: "balance", tool: "balance", status: "executed", }); return jsonResult(results); } catch (err) { guardrails.audit({ timestamp: new Date().toISOString(), type: "payment", action: "balance", tool: "balance", status: "failed", reason: formatError(err), }); return textResult(`Balance check failed: ${formatError(err)}`); } } ); - src/index.ts:172-174 (schema)Zod schema for the 'balance' tool input validation.
const BalanceSchema = z.object({ provider: z.string().optional().describe("Which provider to check. Checks all if omitted."), });