Windows 365 Cloud PC MCP server

Integrates with Windows 365 Cloud PC Management API to enable listing and managing cloud PCs in a tenant environment through Microsoft Graph authentication and JSON-formatted data retrieval
Back to servers
Setup instructions
Provider
complexdevel
Release date
Mar 25, 2025
Language
Python

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.

Installation

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.

Prerequisites

  • Access to Azure Cloud PC environment
  • Microsoft Graph API credentials (tenant ID, client ID, client secret)
  • Python with uv installed

Configuration for Claude Desktop

To 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 secret

Also update the path (/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-cloud-pc) to reflect the actual location where you've saved the MCP server files.

Available Tools

The MCP server provides several tools for managing your Azure Cloud PCs:

User Management

  • List Users
    cloud_pc_list_users
    
    Lists all registered users and returns information in JSON format.

Cloud PC Management

  • 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

Usage Examples

Here are some examples of how to use the Cloud PC Management tools:

Getting Information

To list all your Cloud PCs:

cloud_pc_list

To view all users with access to Cloud PCs:

cloud_pc_list_users

Maintenance Operations

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

Configuration Changes

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

How to install this MCP server

For Claude Code

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.

For Cursor

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.

Adding an MCP server to Cursor globally

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>"
            }
        }
    }
}

Adding an MCP server to a project

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.

How to use the MCP server

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.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.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

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later