list_team_members
Retrieve team member information from Fathom meeting data to identify participants and manage collaboration.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| team | No | Filter by team name |
Implementation Reference
- src/index.ts:360-383 (handler)Primary handler for the list_team_members tool. Registers the tool, defines input schema, and implements logic to fetch team members via FathomClient and return formatted Markdown list.server.tool( 'list_team_members', { team: z.string().optional().describe('Filter by team name'), }, async ({ team }) => { console.error(team ? `Fetching members for team: ${team}...` : 'Fetching all team members...'); const members = await fathom.getAllTeamMembers(team); if (members.length === 0) { return { content: [{ type: 'text', text: team ? `No members found in team "${team}".` : 'No team members found.' }], }; } const markdown = members.map(m => `- **${m.name}** <${m.email}>`).join('\n'); const title = team ? `Team Members: ${team}` : 'All Team Members'; console.error(`Found ${members.length} members`); return { content: [{ type: 'text', text: `# ${title}\n\n${markdown}` }], }; } );
- src/fathom-client.ts:297-308 (helper)Helper function in FathomClient that automatically handles pagination to retrieve all team members for an optional team.async getAllTeamMembers(team?: string): Promise<TeamMember[]> { const allMembers: TeamMember[] = []; let cursor: string | null | undefined = undefined; do { const response = await this.listTeamMembers(team, cursor || undefined); allMembers.push(...response.items); cursor = response.next_cursor; } while (cursor); return allMembers; }
- src/fathom-client.ts:283-292 (helper)Core Fathom API client method that makes the HTTP request to list team members with optional team filter and cursor for pagination.async listTeamMembers(team?: string, cursor?: string): Promise<TeamMembersResponse> { const params = new URLSearchParams(); if (team) params.append('team', team); if (cursor) params.append('cursor', cursor); const queryString = params.toString(); const endpoint = `/team_members${queryString ? `?${queryString}` : ''}`; return this.request<TeamMembersResponse>(endpoint); }
- src/fathom-client.ts:121-131 (schema)TypeScript type definitions for TeamMember and TeamMembersResponse used by the API methods and tool handler.export interface TeamMember { name: string; email: string; created_at: string; } export interface TeamMembersResponse { limit?: number; next_cursor?: string | null; items: TeamMember[]; }