Skip to main content
Glama

list_team_members

Retrieve team member information from Fathom meeting data to manage collaboration and access permissions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamNoFilter by team name

Implementation Reference

  • The handler function that implements the core logic of the 'list_team_members' tool. It fetches team members using the FathomClient and formats them into a markdown list.
    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}` }], }; }
  • Zod schema defining the input parameters for the list_team_members tool (optional team filter).
    { team: z.string().optional().describe('Filter by team name'), },
  • src/index.ts:360-383 (registration)
    Registration of the 'list_team_members' tool on the MCP server using server.tool(), including schema and handler.
    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}` }], }; } );
  • FathomClient helper method that handles pagination to retrieve all team members for a specific team or all teams.
    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; }
  • FathomClient method that makes the API request to list team members with optional team filter and pagination cursor.
    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); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matthewbergvinson/fathom-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server