list_team_members
Retrieve team members from Fathom-Simple-MCP with pagination and team filtering options to manage and organize team data.
Instructions
Retrieve paginated team members with optional team filtering.
Examples: list_team_members_tool() # Get all team members across all teams list_team_members_tool(team="Engineering") # Filter members by team name list_team_members_tool(cursor="def456") # Paginate through member list
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Pagination cursor | |
| per_page | No | Number of results per page (default: 50) | |
| team | No | Filter by team name |
Implementation Reference
- tools/team_members.py:6-54 (handler)Core handler function implementing the list_team_members tool logic: handles parameters, calls Fathom API client.get_team_members, processes pagination/filtering, includes error handling and logging via MCP Context.async def list_team_members( ctx: Context, cursor: Optional[str] = None, team: Optional[str] = None, per_page: Optional[int] = None ) -> dict: """Retrieve paginated list of team members with optional team filtering. Returns team member records that can be used to identify meeting participants and recording metadata. Args: ctx: MCP context for logging cursor: Pagination cursor from previous response for next page team: Filter members by specific team name (case-sensitive) per_page: Number of results per page (default: 50, configurable via DEFAULT_PER_PAGE env var) Returns: dict: { "items": [Team member objects with name, email, and team associations], "limit": int (default 20), "cursor": str (for pagination, null if no more results) } """ try: await ctx.info("Fetching team members from Fathom API") # Use config default if per_page not provided effective_per_page = per_page if per_page is not None else config.default_per_page # Build parameters params = {} if cursor: params["cursor"] = cursor if team: params["team"] = team params["limit"] = effective_per_page result = await client.get_team_members(params=params if params else None) await ctx.info("Successfully retrieved team members") return result except FathomAPIError as e: await ctx.error(f"Fathom API error: {e.message}") raise e except Exception as e: await ctx.error(f"Unexpected error fetching team members: {str(e)}") raise e
- server.py:194-209 (registration)MCP tool registration for list_team_members using @mcp.tool decorator, defines input schema with Pydantic Field descriptions, delegates execution to tools.team_members.list_team_members.@mcp.tool async def list_team_members( ctx: Context, cursor: str = Field(default=None, description="Pagination cursor"), per_page: int = Field(default=None, description=f"Number of results per page (default: {config.default_per_page})"), team: str = Field(default=None, description="Filter by team name") ) -> Dict[str, Any]: """Retrieve paginated team members with optional team filtering. Examples: list_team_members_tool() # Get all team members across all teams list_team_members_tool(team="Engineering") # Filter members by team name list_team_members_tool(cursor="def456") # Paginate through member list """ return await tools.team_members.list_team_members(ctx, cursor, team, per_page)