list_team_members
Retrieve all members of a Microsoft Team with their names, email addresses, roles, and IDs for team management and collaboration oversight.
Instructions
List all members of a specific Microsoft Team. Returns member names, email addresses, roles, and IDs.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Team ID |
Implementation Reference
- src/tools/teams.ts:727-770 (handler)The main handler function that fetches and returns the list of team members using the Microsoft Graph API for the specified teamId. Maps the response to MemberSummary format and handles errors.async ({ teamId }) => { try { const client = await graphService.getClient(); const response = (await client .api(`/teams/${teamId}/members`) .get()) as GraphApiResponse<ConversationMember>; if (!response?.value?.length) { return { content: [ { type: "text", text: "No members found in this team.", }, ], }; } const memberList: MemberSummary[] = response.value.map((member: ConversationMember) => ({ id: member.id, displayName: member.displayName, roles: member.roles, })); return { content: [ { type: "text", text: JSON.stringify(memberList, null, 2), }, ], }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : "Unknown error occurred"; return { content: [ { type: "text", text: `❌ Error: ${errorMessage}`, }, ], }; } }
- src/tools/teams.ts:725-726 (schema)Zod schema defining the input parameter 'teamId' for the list_team_members tool.teamId: z.string().describe("Team ID"), },
- src/tools/teams.ts:722-771 (registration)The MCP server.tool registration call that registers the 'list_team_members' tool, including its description, input schema, and handler function."list_team_members", "List all members of a specific Microsoft Team. Returns member names, email addresses, roles, and IDs.", { teamId: z.string().describe("Team ID"), }, async ({ teamId }) => { try { const client = await graphService.getClient(); const response = (await client .api(`/teams/${teamId}/members`) .get()) as GraphApiResponse<ConversationMember>; if (!response?.value?.length) { return { content: [ { type: "text", text: "No members found in this team.", }, ], }; } const memberList: MemberSummary[] = response.value.map((member: ConversationMember) => ({ id: member.id, displayName: member.displayName, roles: member.roles, })); return { content: [ { type: "text", text: JSON.stringify(memberList, null, 2), }, ], }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : "Unknown error occurred"; return { content: [ { type: "text", text: `❌ Error: ${errorMessage}`, }, ], }; } } );