list_teams
Retrieve and display all teams from Fathom.video meeting data to manage access and organize meeting information efficiently.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:332-355 (registration)Registers the 'list_teams' MCP tool with empty input schema. The inline handler fetches all teams using fathom.getAllTeams(), formats them into a markdown list with creation dates, and returns as structured content.server.tool( 'list_teams', {}, async () => { console.error('Fetching teams...'); const teams = await fathom.getAllTeams(); if (teams.length === 0) { return { content: [{ type: 'text', text: 'No teams found.' }], }; } const markdown = teams.map(t => { const created = formatDate(t.created_at); return `- **${t.name}** (created: ${created})`; }).join('\n'); console.error(`Found ${teams.length} teams`); return { content: [{ type: 'text', text: `# Teams\n\n${markdown}` }], }; } );
- src/index.ts:335-354 (handler)The handler function for the list_teams tool. Retrieves all teams, handles empty case, maps to markdown bullets with formatted dates using formatDate, logs count, and returns markdown text content.async () => { console.error('Fetching teams...'); const teams = await fathom.getAllTeams(); if (teams.length === 0) { return { content: [{ type: 'text', text: 'No teams found.' }], }; } const markdown = teams.map(t => { const created = formatDate(t.created_at); return `- **${t.name}** (created: ${created})`; }).join('\n'); console.error(`Found ${teams.length} teams`); return { content: [{ type: 'text', text: `# Teams\n\n${markdown}` }], }; }
- src/fathom-client.ts:267-278 (helper)Helper method in FathomClient that paginates the /teams API endpoint using listTeams() to collect and return all teams.async getAllTeams(): Promise<Team[]> { const allTeams: Team[] = []; let cursor: string | null | undefined = undefined; do { const response = await this.listTeams(cursor || undefined); allTeams.push(...response.items); cursor = response.next_cursor; } while (cursor); return allTeams; }
- src/fathom-client.ts:259-262 (helper)Low-level API method that calls the Fathom /teams endpoint, supporting cursor for pagination.async listTeams(cursor?: string): Promise<TeamsResponse> { const endpoint = cursor ? `/teams?cursor=${cursor}` : '/teams'; return this.request<TeamsResponse>(endpoint); }