Grant-MsIdMcpServerPermission
SYNOPSIS
Grants delegated permissions to MCP clients for the Microsoft MCP Server for Enterprise.
SYNTAX
PredefinedClients (Default)
Grant-MsIdMcpServerPermission [-MCPClient <String[]>] [-Scopes <String[]>] [-ProgressAction <ActionPreference>]
[<CommonParameters>]
PredefinedClientsScopes
Grant-MsIdMcpServerPermission -MCPClient <String[]> -Scopes <String[]> [-ProgressAction <ActionPreference>]
[<CommonParameters>]
CustomClientsScopes
Grant-MsIdMcpServerPermission -MCPClientServicePrincipalId <String[]> -Scopes <String[]>
[-ProgressAction <ActionPreference>] [<CommonParameters>]
CustomClients
Grant-MsIdMcpServerPermission -MCPClientServicePrincipalId <String[]> [-ProgressAction <ActionPreference>]
[<CommonParameters>]
DESCRIPTION
This cmdlet grants OAuth2 delegated permissions to MCP clients (like VS Code or Visual Studio) to access the Microsoft MCP Server for Enterprise. You can specify predefined clients or provide custom MCP client app IDs.
EXAMPLES
EXAMPLE 1
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission
Grants all available permissions to Visual Studio Code (default MCP client if none specified).
EXAMPLE 2
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClient 'VisualStudioCode'
Grants all available permissions to Visual Studio Code.
EXAMPLE 3
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClient 'VisualStudio', 'VisualStudioCode'
Grants all available permissions to Visual Studio and Visual Studio Code.
EXAMPLE 4
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClientServicePrincipalId '12345678-1234-1234-1234-123456789012'
Grants all available permissions to a custom MCP client using its service principal ID.
EXAMPLE 5
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClient 'VisualStudioCode' -Scopes 'MCP.User.Read.All', 'MCP.Group.Read.All'
Grant specific permissions to Visual Studio Code.
EXAMPLE 6
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClient 'VisualStudioMSAL' -Scopes 'MCP.User.Read.All'
Grants specific permissions to Visual Studio MSAL client.
EXAMPLE 7
Connect-MgGraph -Scopes DelegatedPermissionGrant.ReadWrite.All, Application.ReadWrite.All
Grant-MsIdMcpServerPermission -MCPClientServicePrincipalId '12345678-1234-1234-1234-123456789012' -Scopes 'MCP.User.Read.All'
Grants specific permissions to a custom MCP client.
PARAMETERS
-MCPClient
Specifies the Visual Studio client(s) to grant permissions to. Can be one or more of: 'VisualStudioCode', 'VisualStudio', 'VisualStudioMSAL'. Either this parameter or MCPClientServicePrincipalId must be specified.
Type: String[]
Parameter Sets: PredefinedClients
Aliases:
Required: False
Position: Named
Default value: @('VisualStudioCode')
Accept pipeline input: False
Accept wildcard characters: False
Type: String[]
Parameter Sets: PredefinedClientsScopes
Aliases:
Required: True
Position: Named
Default value: @('VisualStudioCode')
Accept pipeline input: False
Accept wildcard characters: False
-MCPClientServicePrincipalId
The service principal ID(s) of custom MCP client(s) to grant permissions to. Must be valid GUID format(s). Either this parameter or MCPClient must be specified.
Type: String[]
Parameter Sets: CustomClientsScopes, CustomClients
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Scopes
Specific scopes to grant. If not specified, all available scopes are granted.
Type: String[]
Parameter Sets: PredefinedClients
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Type: String[]
Parameter Sets: PredefinedClientsScopes, CustomClientsScopes
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProgressAction
{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.