list_members
Retrieve a list of all members in a specified Microsoft Teams team, including their names and IDs.
Instructions
List all members in the team
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/mcp_teams_server/__init__.py:177-181 (registration)MCP tool registration for list_members that delegates to TeamsClient.list_members()
@mcp.tool(name="list_members", description="List all members in the team") async def list_members(ctx: Context) -> list[TeamsMember]: await ctx.debug("list_members") client = _get_teams_client(ctx) return await client.list_members() - src/mcp_teams_server/teams.py:428-457 (handler)Core handler that initializes the adapter, uses TeamsInfo.get_paged_team_members to fetch team members, and returns a list of TeamsMember objects
async def list_members(self) -> list[TeamsMember]: """List all members in the configured team. Returns: List of team member details """ try: await self._initialize() result = [] async def list_members_callback(context: TurnContext): continuation_token = "" try: members = await TeamsInfo.get_paged_team_members( context, self.teams_channel_id, 10, continuation_token ) for member in members.members: result.append(TeamsMember(name=member.name, email=member.email)) except Exception as e: LOGGER.error(f"Error getting members: {str(e)}") await self.adapter.continue_conversation( agent_app_id=self.teams_app_id, continuation_activity=self._create_continuation_activity(), callback=list_members_callback, ) return result except Exception as e: LOGGER.error(f"Error listing members: {str(e)}") raise - src/mcp_teams_server/teams.py:55-60 (schema)Schema/model for a team member with name and email fields
class TeamsMember(BaseModel): name: str = Field( description="Member name used in mentions and user information cards" ) email: str = Field(description="Member email") - Inner callback function passed to continue_conversation that performs the actual TeamsInfo API call to get paged team members
async def list_members_callback(context: TurnContext): continuation_token = "" try: members = await TeamsInfo.get_paged_team_members( context, self.teams_channel_id, 10, continuation_token ) for member in members.members: result.append(TeamsMember(name=member.name, email=member.email)) except Exception as e: LOGGER.error(f"Error getting members: {str(e)}") await self.adapter.continue_conversation( agent_app_id=self.teams_app_id, continuation_activity=self._create_continuation_activity(), callback=list_members_callback, )