NestDaddy

Microsoft 365 Admin

io.github.okapi-ca/ms-365-admin · v0.6.3

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

Connect Runs on your machine

Terminal
claude mcp add ms-365-admin -e MS365_ADMIN_MCP_TENANT_ID=<MS365_ADMIN_MCP_TENANT_ID> -e MS365_ADMIN_MCP_CLIENT_ID=<MS365_ADMIN_MCP_CLIENT_ID> -e MS365_ADMIN_MCP_CLIENT_SECRET=<MS365_ADMIN_MCP_CLIENT_SECRET> -e MS365_ADMIN_MCP_KEYVAULT_URL=<MS365_ADMIN_MCP_KEYVAULT_URL> -e MS365_ADMIN_MCP_CLOUD_TYPE=<MS365_ADMIN_MCP_CLOUD_TYPE> -e MS365_ADMIN_MCP_MAX_TOP=<MS365_ADMIN_MCP_MAX_TOP> -e READ_ONLY=<READ_ONLY> -e ENABLED_TOOLS=<ENABLED_TOOLS> -- npx -y @okapi-ca/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "ms-365-admin": {
      "command": "npx",
      "args": [
        "-y",
        "@okapi-ca/[email protected]"
      ],
      "env": {
        "MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
        "MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
        "MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>",
        "MS365_ADMIN_MCP_KEYVAULT_URL": "<MS365_ADMIN_MCP_KEYVAULT_URL>",
        "MS365_ADMIN_MCP_CLOUD_TYPE": "<MS365_ADMIN_MCP_CLOUD_TYPE>",
        "MS365_ADMIN_MCP_MAX_TOP": "<MS365_ADMIN_MCP_MAX_TOP>",
        "READ_ONLY": "<READ_ONLY>",
        "ENABLED_TOOLS": "<ENABLED_TOOLS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "ms-365-admin": {
      "command": "npx",
      "args": [
        "-y",
        "@okapi-ca/[email protected]"
      ],
      "env": {
        "MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
        "MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
        "MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>",
        "MS365_ADMIN_MCP_KEYVAULT_URL": "<MS365_ADMIN_MCP_KEYVAULT_URL>",
        "MS365_ADMIN_MCP_CLOUD_TYPE": "<MS365_ADMIN_MCP_CLOUD_TYPE>",
        "MS365_ADMIN_MCP_MAX_TOP": "<MS365_ADMIN_MCP_MAX_TOP>",
        "READ_ONLY": "<READ_ONLY>",
        "ENABLED_TOOLS": "<ENABLED_TOOLS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "ms-365-admin": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@okapi-ca/[email protected]"
      ],
      "env": {
        "MS365_ADMIN_MCP_TENANT_ID": "<MS365_ADMIN_MCP_TENANT_ID>",
        "MS365_ADMIN_MCP_CLIENT_ID": "<MS365_ADMIN_MCP_CLIENT_ID>",
        "MS365_ADMIN_MCP_CLIENT_SECRET": "<MS365_ADMIN_MCP_CLIENT_SECRET>",
        "MS365_ADMIN_MCP_KEYVAULT_URL": "<MS365_ADMIN_MCP_KEYVAULT_URL>",
        "MS365_ADMIN_MCP_CLOUD_TYPE": "<MS365_ADMIN_MCP_CLOUD_TYPE>",
        "MS365_ADMIN_MCP_MAX_TOP": "<MS365_ADMIN_MCP_MAX_TOP>",
        "READ_ONLY": "<READ_ONLY>",
        "ENABLED_TOOLS": "<ENABLED_TOOLS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
MS365_ADMIN_MCP_TENANT_ID
Required
Azure AD tenant ID (specific GUID, not 'common').
MS365_ADMIN_MCP_CLIENT_ID
Required
App registration client ID with the required application permissions.
MS365_ADMIN_MCP_CLIENT_SECRET
Required, secret
App registration client secret. Prefer Azure Key Vault via MS365_ADMIN_MCP_KEYVAULT_URL for production.
MS365_ADMIN_MCP_KEYVAULT_URL
Optional
Optional Azure Key Vault URL. When set, secrets are pulled from the vault and override the env-var values above.
MS365_ADMIN_MCP_CLOUD_TYPE
Optional
Cloud environment: 'global' (default) or 'china' (21Vianet).
MS365_ADMIN_MCP_MAX_TOP
Optional
Cap on the $top query parameter to limit result size.
READ_ONLY
Optional
Set to 'true' or '1' to force read-only mode (default behavior; mutations require --allow-writes).
ENABLED_TOOLS
Optional
Regex to filter the catalog of available tools.

Details

Package@okapi-ca/[email protected] (NPM, stdio)
First published21 May 2026
Last updated21 May 2026
Registry nameio.github.okapi-ca/ms-365-admin

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.