MCP Server for managing Azure Cloud PCs using the Microsoft Graph API.
Mcp cloud pc mcp server connects MCP Cloud Pc to AI assistants that speak the Model Context Protocol. MCP Server for managing Azure Cloud PCs using the Microsoft Graph API.
MCP Server for managing Azure Cloud PCs using the Microsoft Graph API.
Once connected, the assistant can call these 12 tools directly:
cloud_pc_list_users — List all registered usersReturns — List of information about users in JSON formated stringcloud_pc_list — List all Cloud PCs available to the current tenantcloud_pc_reboot — Reboot Cloud PCs with the given IDArgs — Cloud PC IDcloud_pc_rename — Set new display name for a Cloud PC with the given IDArg — Cloud PC IDcloud_pc_troubleshoot — Troubleshoot a Cloud PC with the given IDcloud_pc_end_grace_period — End grace period for a Cloud PC with the given IDcloud_pc_get_review_status — Retrieve review status for the Cloud PC with particular IDcloud_pc_reprovision — Reprovision the Cloud PC with particular ID with Windows 10 or 11 OS, set up redeployed user typeFeatures — The MCP server currently uses 'curl' to send Graph API requests, because Python msgraph-sdk documentation doesn't match the current sdk implementationSetup follows the standard MCP pattern: clone or install the server, then register it in your client's configuration file and restart the client. The configuration snippets on this page cover Claude Desktop, Claude Code and Cursor.
Before the server will start you need to supply 3 environment variables: MSGRAPH_TENANT_ID, MSGRAPH_CLIENT_ID, MSGRAPH_CLIENT_SECRET. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. MCP Cloud Pc sits in that group, and the shape of its toolset — cloud_pc_list_users, Returns, cloud_pc_list among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| cloud_pc_list_users | List all registered users |
| Returns | List of information about users in JSON formated string |
| cloud_pc_list | List all Cloud PCs available to the current tenant |
| cloud_pc_reboot | Reboot Cloud PCs with the given ID |
| Args | Cloud PC ID |
| cloud_pc_rename | Set new display name for a Cloud PC with the given ID. |
| Arg | Cloud PC ID |
| cloud_pc_troubleshoot | Troubleshoot a Cloud PC with the given ID. |
| cloud_pc_end_grace_period | End grace period for a Cloud PC with the given ID. |
| cloud_pc_get_review_status | Retrieve review status for the Cloud PC with particular ID. |
| cloud_pc_reprovision | Reprovision the Cloud PC with particular ID with Windows 10 or 11 OS, set up redeployed user type |
| Features | The MCP server currently uses 'curl' to send Graph API requests, because Python msgraph-sdk documentation doesn't match the current sdk implementation. |
{
"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>"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| MSGRAPH_TENANT_ID | Configuration value read at startup. | Optional |
| MSGRAPH_CLIENT_ID | Configuration value read at startup. | Optional |
| MSGRAPH_CLIENT_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.