get_member_by_name
Retrieve a Microsoft Teams member's details by providing their name. Find user information directly without browsing the member list.
Instructions
Get a member by its name
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Member name |
Implementation Reference
- src/mcp_teams_server/__init__.py:168-174 (handler)The MCP tool handler function 'get_member_by_name' that receives the context and name parameter, then delegates to the TeamsClient.
@mcp.tool(name="get_member_by_name", description="Get a member by its name") async def get_member_by_name( ctx: Context, name: str = Field(description="Member name") ): await ctx.debug(f"get_member_by_name with name={name}") client = _get_teams_client(ctx) return await client.get_member_by_name(name) - The TeamsClient.get_member_by_name method that fetches all members and filters by name.
async def get_member_by_name(self, name: str) -> TeamsMember | None: members = await self.list_members() for member in members: if member.name == name: return member return None - src/mcp_teams_server/teams.py:55-59 (schema)The TeamsMember Pydantic model used as the return type for get_member_by_name.
class TeamsMember(BaseModel): name: str = Field( description="Member name used in mentions and user information cards" ) email: str = Field(description="Member email") - The list_members helper called by get_member_by_name to retrieve all team members.
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/__init__.py:168-168 (registration)The @mcp.tool decorator registering 'get_member_by_name' as an MCP tool.
@mcp.tool(name="get_member_by_name", description="Get a member by its name")