Skip to content
VS Code

Microsoft 365 Admin for VS Code

io.github.okapi-ca/ms-365-admin

Microsoft 365 administration via Graph API application permissions (read-only by default).

client:VS Code transport:stdio runtime:npm

Install Microsoft 365 Admin in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-tenant-id",
      "description": "MS365_ADMIN_MCP_TENANT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-client-id",
      "description": "MS365_ADMIN_MCP_CLIENT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-client-secret",
      "description": "MS365_ADMIN_MCP_CLIENT_SECRET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-keyvault-url",
      "description": "MS365_ADMIN_MCP_KEYVAULT_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-cloud-type",
      "description": "MS365_ADMIN_MCP_CLOUD_TYPE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ms365-admin-mcp-max-top",
      "description": "MS365_ADMIN_MCP_MAX_TOP",
      "password": true
    },
    {
      "type": "promptString",
      "id": "read-only",
      "description": "READ_ONLY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "enabled-tools",
      "description": "ENABLED_TOOLS",
      "password": true
    }
  ],
  "servers": {
    "ms-365-admin": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@okapi-ca/ms-365-admin-mcp-server"
      ],
      "env": {
        "MS365_ADMIN_MCP_TENANT_ID": "${input:ms365-admin-mcp-tenant-id}",
        "MS365_ADMIN_MCP_CLIENT_ID": "${input:ms365-admin-mcp-client-id}",
        "MS365_ADMIN_MCP_CLIENT_SECRET": "${input:ms365-admin-mcp-client-secret}",
        "MS365_ADMIN_MCP_KEYVAULT_URL": "${input:ms365-admin-mcp-keyvault-url}",
        "MS365_ADMIN_MCP_CLOUD_TYPE": "${input:ms365-admin-mcp-cloud-type}",
        "MS365_ADMIN_MCP_MAX_TOP": "${input:ms365-admin-mcp-max-top}",
        "READ_ONLY": "${input:read-only}",
        "ENABLED_TOOLS": "${input:enabled-tools}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

Microsoft 365 Admin in other clients