list_members
Retrieve a comprehensive list of all members within a Microsoft Teams group using the MCP Microsoft Teams Server integration.
Instructions
List all members in the team
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Input Schema (JSON Schema)
{
"properties": {},
"title": "list_membersArguments",
"type": "object"
}
Implementation Reference
- src/mcp_teams_server/__init__.py:178-182 (handler)MCP tool handler for 'list_members' that gets the TeamsClient from context and calls its list_members method to return list of team 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:52-57 (schema)Pydantic model defining the output schema for TeamsMember 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")
- TeamsClient helper method that initializes the bot adapter and uses TeamsInfo.get_team_members to fetch and return list of team members as 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): members = await TeamsInfo.get_team_members(context, self.team_id) for member in members: result.append(TeamsMember(name=member.name, email=member.email)) await self.adapter.continue_conversation( bot_app_id=self.teams_app_id, reference=self._create_conversation_reference(), callback=list_members_callback, ) return result except Exception as e: LOGGER.error(f"Error listing members: {str(e)}") raise
- src/mcp_teams_server/__init__.py:178-182 (registration)Registration of the list_members tool via FastMCP @mcp.tool decorator.@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()