This MCP server provides a way to manage Azure Cloud PCs through the Microsoft Graph API, offering various tools for listing, rebooting, renaming, and other management operations for your cloud PC environments.
To set up the Cloud PC Management MCP server, you'll need to configure it to work with your environment. The server uses the Microsoft Graph API to communicate with Azure Cloud PC services.
uv
installedTo use this MCP server with Claude Desktop, add the following configuration to your claude_desktop_config.json
file:
{
"mcpServers": {
"mcp-cloud-pc": {
"command": "uv",
"args": [
"run",
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc",
"mcp-cloud-pc.py"
],
"env": {
"MSGRAPH_TENANT_ID": "<YOUR GRAPH API TENANT ID>",
"MSGRAPH_CLIENT_ID": "<YOUR GRAPH API CLIENT ID>",
"MSGRAPH_CLIENT_SECRET": "<YOUR GRAPH API CLIENT SECRET>"
}
}
}
}
Be sure to replace the placeholder values with your actual Microsoft Graph API credentials:
<YOUR GRAPH API TENANT ID>
- Your Azure tenant ID<YOUR GRAPH API CLIENT ID>
- Your registered application's client ID<YOUR GRAPH API CLIENT SECRET>
- Your application's client secretAlso update the path (/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc
) to reflect the actual location where you've saved the MCP server files.
The MCP server provides several tools for managing your Azure Cloud PCs:
cloud_pc_list_users
Lists all registered users and returns information in JSON format.List Cloud PCs
cloud_pc_list
Returns a JSON-formatted list of all Cloud PCs available to your tenant.
Reboot Cloud PC
cloud_pc_reboot <CLOUD_PC_ID>
Reboots a specific Cloud PC identified by its ID.
Rename Cloud PC
cloud_pc_rename <CLOUD_PC_ID> <NEW_DISPLAY_NAME>
Changes the display name of a Cloud PC.
Troubleshoot Cloud PC
cloud_pc_troubleshoot <CLOUD_PC_ID>
Initiates the troubleshooting process for a specific Cloud PC.
End Grace Period
cloud_pc_end_grace_period <CLOUD_PC_ID>
Terminates the grace period for a Cloud PC.
Get Review Status
cloud_pc_get_review_status <CLOUD_PC_ID>
Returns the current review status for a specific Cloud PC.
Reprovision Cloud PC
cloud_pc_reprovision <CLOUD_PC_ID> <USER_TYPE> <OS_VERSION>
Reprovisions a Cloud PC with a specified Windows OS version and user type.
<USER_TYPE>
: Either standardUser
or administrator
<OS_VERSION>
: Either windows10
or windows11
Here are some examples of how to use the Cloud PC Management tools:
To list all your Cloud PCs:
cloud_pc_list
To view all users with access to Cloud PCs:
cloud_pc_list_users
To reboot a Cloud PC when it's having performance issues:
cloud_pc_reboot pc-12345678-90ab-cdef-1234-567890abcdef
If you need to troubleshoot a problematic Cloud PC:
cloud_pc_troubleshoot pc-12345678-90ab-cdef-1234-567890abcdef
To rename a Cloud PC for better organization:
cloud_pc_rename pc-12345678-90ab-cdef-1234-567890abcdef "Development-VM-John"
To reprovision a Cloud PC with Windows 11 and administrator rights:
cloud_pc_reprovision pc-12345678-90ab-cdef-1234-567890abcdef administrator windows11
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "mcp-cloud-pc" '{"command":"uv","args":["run","--directory","/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc","mcp-cloud-pc.py"],"env":{"MSGRAPH_TENANT_ID":"<YOUR GRAPH API TENANT ID>","MSGRAPH_CLIENT_ID":"<YOUR GRAPH API CLIENT ID>","MSGRAPH_CLIENT_SECRET":"<YOUR GRAPH API CLIENT SECRET>"}}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"mcp-cloud-pc": {
"command": "uv",
"args": [
"run",
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc",
"mcp-cloud-pc.py"
],
"env": {
"MSGRAPH_TENANT_ID": "<YOUR GRAPH API TENANT ID>",
"MSGRAPH_CLIENT_ID": "<YOUR GRAPH API CLIENT ID>",
"MSGRAPH_CLIENT_SECRET": "<YOUR GRAPH API CLIENT SECRET>"
}
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"mcp-cloud-pc": {
"command": "uv",
"args": [
"run",
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc",
"mcp-cloud-pc.py"
],
"env": {
"MSGRAPH_TENANT_ID": "<YOUR GRAPH API TENANT ID>",
"MSGRAPH_CLIENT_ID": "<YOUR GRAPH API CLIENT ID>",
"MSGRAPH_CLIENT_SECRET": "<YOUR GRAPH API CLIENT SECRET>"
}
}
}
}
3. Restart Claude Desktop for the changes to take effect