get_account_summary
Obtain an overall account summary with statistics to assess Fastmail email, contacts, and calendar usage.
Instructions
Get overall account summary with statistics
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/jmap-client.ts:1359-1385 (handler)The getAccountSummary method on JmapClient: fetches the session, all mailboxes, and all identities; computes aggregate email/thread totals; returns accountId, mailboxCount, identityCount, totals, and per-mailbox details.
async getAccountSummary(): Promise<any> { const session = await this.getSession(); const mailboxes = await this.getMailboxes(); const identities = await this.getIdentities(); // Calculate totals const totals = mailboxes.reduce((acc, mb) => ({ totalEmails: acc.totalEmails + (mb.totalEmails || 0), unreadEmails: acc.unreadEmails + (mb.unreadEmails || 0), totalThreads: acc.totalThreads + (mb.totalThreads || 0), unreadThreads: acc.unreadThreads + (mb.unreadThreads || 0) }), { totalEmails: 0, unreadEmails: 0, totalThreads: 0, unreadThreads: 0 }); return { accountId: session.accountId, mailboxCount: mailboxes.length, identityCount: identities.length, ...totals, mailboxes: mailboxes.map(mb => ({ id: mb.id, name: mb.name, role: mb.role, totalEmails: mb.totalEmails || 0, unreadEmails: mb.unreadEmails || 0 })) }; } - src/index.ts:837-843 (schema)Schema registration for the get_account_summary tool: no input parameters required, returns account statistics.
name: 'get_account_summary', description: 'Get overall account summary with statistics', inputSchema: { type: 'object', properties: {}, }, }, - src/index.ts:1623-1634 (registration)Registration/call handler for get_account_summary in the CallToolRequestSchema switch statement. Calls client.getAccountSummary() and returns the result as JSON text.
case 'get_account_summary': { const client = initializeClient(); const summary = await client.getAccountSummary(); return { content: [ { type: 'text', text: JSON.stringify(summary, null, 2), }, ], }; }