check_account_balance
Check your 46elks account balance and verify available funds for SMS sending operations.
Instructions
Check 46elks account balance and account information to verify funds availability for SMS sending
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:259-271 (handler)Handler for the 'check_account_balance' tool call. Instantiates ElksClient, fetches account info, and returns formatted text response.case 'check_account_balance': // Get account information via 46elks const elksClientForAccount = new ElksClient(); const accountInfo = await elksClientForAccount.getAccountInfo(); return { content: [ { type: 'text', text: formatAccountBalance(accountInfo) } ] };
- src/index.ts:100-108 (schema)Tool schema definition including name, description, and empty input schema (no parameters required).{ name: 'check_account_balance', description: 'Check 46elks account balance and account information to verify funds availability for SMS sending', inputSchema: { type: 'object', properties: {}, required: [] } },
- src/elks-client.ts:85-105 (helper)ElksClient.getAccountInfo() method: Fetches and returns account information (including balance) from 46elks API /Me endpoint.async getAccountInfo(): Promise<AccountInfo> { try { const response = await fetch(`${this.baseUrl}/Me`, { method: 'GET', headers: { 'Authorization': this.auth, 'Content-Type': 'application/x-www-form-urlencoded' } }); if (!response.ok) { const errorText = await response.text(); throw new Error(`Failed to get account info: ${response.status} ${response.statusText} - ${errorText}`); } return await response.json(); } catch (error) { console.error('Failed to get account info:', error); throw new Error(`46elks account info failed: ${error instanceof Error ? error.message : 'Unknown error'}`); } }
- src/utils.ts:66-87 (helper)formatAccountBalance utility: Formats AccountInfo object into a user-friendly text output with balance status.export const formatAccountBalance = (accountInfo: AccountInfo): string => { const balanceInCurrency = accountInfo.balance / 10000; const formattedBalance = `${balanceInCurrency.toFixed(2)} ${accountInfo.currency}`; let output = `💰 Account Balance Information\n\n`; output += `Balance: ${formattedBalance}\n`; output += `Account: ${accountInfo.displayname}\n`; output += `Mobile: ${accountInfo.mobilenumber}\n`; output += `Email: ${accountInfo.email}\n`; output += `Currency: ${accountInfo.currency}\n`; output += `Account ID: ${accountInfo.id}\n\n`; // Add balance status indication if (balanceInCurrency < 10) { output += `⚠️ Low balance warning: Consider adding funds to your account\n`; output += `💡 Note: Adding funds must be done through the 46elks web interface at https://dashboard.46elks.com/`; } else { output += `✅ Balance sufficient for SMS sending`; } return output; };