list_teams
Retrieve a paginated list of all teams from the Fathom AI meeting intelligence platform. Use page and page_size parameters to navigate through results.
Instructions
List all teams.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1). Any page can be requested directly. | |
| page_size | No | Number of teams per page (default 10). |
Implementation Reference
- src/server.ts:503-528 (handler)The tool handler for 'list_teams' that fetches teams from the Fathom client and caches the result.
async args => { const client = getClient(); const key = cacheKey('list_teams', {}); let cached = _itemsCache.get(key); const isExpired = cached !== undefined && Date.now() - cached.fetchedAt > CACHE_TTL_MS; if (!cached || isExpired) { try { const result = await fetchAll(opts => client.listTeams((opts as Record<string, unknown>).cursor as string | null) ); const entry = { ...result, fetchedAt: Date.now() }; _itemsCache.set(key, entry); cached = entry; } catch (err) { const msg = err instanceof Error ? err.message : String(err); return { content: [{ type: 'text', text: `Error fetching teams: ${msg}` }] }; } } const [pageItems, totalPages] = getPage(cached.items, args.page, args.page_size); if (pageItems.length === 0) { return { content: [{ type: 'text', text: `No teams found (page ${args.page} of ${totalPages}).` }], }; - src/server.ts:484-502 (registration)Tool registration for 'list_teams' in the server.
server.registerTool( 'list_teams', { description: 'List all teams.', inputSchema: { page: z .number() .int() .min(1) .default(1) .describe('Page number (starts at 1). Any page can be requested directly.'), page_size: z .number() .int() .min(1) .default(DEFAULT_PAGE_SIZE) .describe('Number of teams per page (default 10).'), }, }, - src/fathom-client.ts:127-129 (handler)The low-level API call implementation for listTeams.
async listTeams(cursor?: string | null): Promise<Record<string, unknown>> { return this._get('/teams', { cursor }); }