Share via


Microsoft 365 User Profile MCP Server reference

Important

You need to be part of the Frontier preview program to get early access to Microsoft Agent 365. Frontier connects you directly with Microsoft’s latest AI innovations. Frontier previews are subject to the existing preview terms of your customer agreements. As these features are still in development, their availability and capabilities may change over time.

Overview

Server ID Display name Description
mcp_MeServer Microsoft 365 User Profile MCP Server MCP server for self-knowledge and organizational awareness. Use this MCP server to access user profiles in your organization and perform various actions such as getting your profile, a user's profile, a user's manager, or direct reports.

Available tools

mcp_graph_getDirectReports

List the direct reports of a specified user in the directory. You must provide either the user's object ID (GUID) or their userPrincipalName (email-like UPN). Don't use 'me' as the userIdentifier.

Required parameters:

  • userIdentifier: User's object ID (GUID) or userPrincipalName (UPN)

Note

Don't send 'me' as userIdentifier. If only display name is available, first look up the user to obtain userPrincipalName or object ID.

Optional parameters:

  • select: Comma-separated list of properties to return (for example, id,displayName,mail,jobTitle,userPrincipalName)
  • top: Number of items to return per page

mcp_graph_getMyManager

Retrieve the manager of the signed-in user (the caller). This endpoint always returns the manager of the current user context.

Optional parameters:

  • select: Comma-separated list of manager properties to return

mcp_graph_getMyProfile

Retrieve the profile details of the signed-in user (the caller). This endpoint always returns the profile of the current user context.

Optional parameters:

  • select: Comma-separated list of user profile properties
  • expand: Expand related entities (for example, manager, directReports)

mcp_graph_getUserProfile

Retrieve a specified user's profile in the directory. You must provide either the user's object ID (GUID) or their userPrincipalName (email-like UPN). Don't use 'me' as the userIdentifier - use mcp_graph_getMyProfile instead for the signed-in user.

Required parameters:

  • userIdentifier: User's object ID (GUID) or userPrincipalName (UPN)

Note

Don't send 'me'. If only display name is available, first look up the user.

Optional parameters:

  • select: Comma-separated list of user properties to return
  • expand: Expand a related entity (manager OR directReports). You can expand only one property per request.

mcp_graph_getUsersManager

Retrieve the manager of a specified user in the directory. You must provide either the user's object ID (GUID) or their userPrincipalName (email-like UPN). Don't use 'me' as the userIdentifier - use mcp_graph_getMyManager instead for the signed-in user.

Required parameters:

  • userIdentifier: User's object ID (GUID) or userPrincipalName (UPN)

Note

Don't send 'me'. If only display name is available, first look up the user.

Optional parameters:

  • select: Comma-separated list of properties to return for the manager (e.g., id,displayName,mail,jobTitle,userPrincipalName)

mcp_graph_listUsers

Retrieve a list of users in the organization. Supports query options like $select, $filter, $top, $orderby. ConsistencyLevel is set to eventual by default.

Optional parameters:

  • top: Show only the first n users
  • select: Comma-separated list of user properties to return
  • filter: Filter users by property (e.g. startswith(displayName,'A'))
  • orderby: Order results by given property (e.g. displayName)
  • search: Free-text search for users. Format: '"property:value"', e.g., '"displayName:Neha"' to search display names containing 'Neha'. Supports multiple properties with spaces. Fallback rule: If $search fails or returns no results, automatically retry with $filter.
  • count: Include count of items ('true' or 'false')
  • ConsistencyLevel: Required header for advanced queries (default: 'eventual')

Key features

Self-Knowledge

  • Get signed-in user's profile
  • Get signed-in user's manager
  • Access current user context information
  • No need for user identifiers

User Profiles

  • Retrieve any user's profile by ID or UPN
  • Access user properties (displayName, mail, jobTitle, etc.)
  • Expand related entities (manager, directReports)
  • Property selection with $select

Organizational Hierarchy

  • Get user's manager
  • Get user's direct reports
  • Navigate reporting structure
  • Manager and direct report relationships

User Discovery

  • List users in organization
  • Free-text search with automatic fallback
  • OData filtering and ordering
  • Pagination support
  • Count users in results

Query Capabilities

  • OData $select for property selection
  • OData $filter for user filtering
  • OData $expand for related entities
  • OData $orderby for sorting
  • Free-text $search with fallback
  • Eventual consistency support

Notes

  1. Use mcp_graph_getMyProfile for signed-in user, not mcp_graph_getUserProfile with 'me'
  2. Use mcp_graph_getMyManager for signed-in user's manager
  3. userIdentifier must be object ID (GUID) or userPrincipalName (UPN), not display name
  4. If only display name available, use mcp_graph_listUsers to look up the user first
  5. $expand can only expand one property per request (manager OR directReports)
  6. $search has automatic fallback to $filter if search fails
  7. ConsistencyLevel 'eventual' required for advanced queries
  8. Search format: '"property:value"' with quotes

Common use cases

Get My Information

  • Use mcp_graph_getMyProfile to get current user's profile
  • Use mcp_graph_getMyManager to get current user's manager

2. Find a User

  • Use mcp_graph_listUsers with search parameter

    Example: search='"displayName:John"' to find users named John

  • Get userPrincipalName or object ID from results

3. Get User Details

  • Use mcp_graph_getUserProfile with userIdentifier
  • Use select to get specific properties
  • Use expand to include manager or directReports

4. Get Organizational Structure

  • Use mcp_graph_getUsersManager to get a user's manager
  • Use mcp_graph_getDirectReports to get a user's direct reports
  • Chain calls to navigate reporting hierarchy