mcpbeat Sign in

Microsoft 365 Admin MCP Server

local only

Microsoft 365 Admin runs on your own machine — the client starts it, so there is no endpoint to ping. 85 installs a week from npm. Last commit 31 Jul 2026.

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

Installs per day peak 111 · avg 19 · +27% w/w
a month agotoday
85
Installs / week
npm · @okapi-ca/ms-365-admin-mcp-server
12
Stars
1 open issues
31 Jul 2026
Last commit
0 releases in 90 days
MIT
License
TypeScript

What the code does

We read the source, 3 h ago · rules 3dff92dd89df

Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Claims read-only, but the code runs commands bin/modules/generate-mcp-tools.mjs:19, src/auth-bootstrap.ts:251
    execSync(
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

We found things in this code

Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch Microsoft 365 Admin and you get told the day something new turns up.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add ms-365-admin -- npx -y @okapi-ca/ms-365-admin-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ms-365-admin": {
      "args": [
        "-y",
        "@okapi-ca/ms-365-admin-mcp-server"
      ],
      "command": "npx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.ms-365-admin]
command = "npx"
args = ["-y", "@okapi-ca/ms-365-admin-mcp-server"]
.cursor/mcp.json
{
  "mcpServers": {
    "ms-365-admin": {
      "args": [
        "-y",
        "@okapi-ca/ms-365-admin-mcp-server"
      ],
      "command": "npx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "ms-365-admin": {
      "args": [
        "-y",
        "@okapi-ca/ms-365-admin-mcp-server"
      ],
      "command": "npx"
    }
  }
}

This one needs environment variables set before it will start: MS365_ADMIN_MCP_TENANT_ID (Azure AD tenant ID (specific GUID, not 'common').), MS365_ADMIN_MCP_CLIENT_ID (App registration client ID with the required application permissions.), MS365_ADMIN_MCP_CLIENT_SECRET (App registration client secret. Prefer Azure Key Vault via MS365_ADMIN_MCP_KEYVAULT_URL for production.), MS365_ADMIN_MCP_KEYVAULT_URL (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 (Cloud environment: 'global' (default) or 'china' (21Vianet).), MS365_ADMIN_MCP_MAX_TOP (Cap on the $top query parameter to limit result size.), READ_ONLY (Set to 'true' or '1' to force read-only mode (default behavior; mutations require --allow-writes).), ENABLED_TOOLS (Regex to filter the catalog of available tools.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Microsoft 365 Admin

same job, measured the same way
K8s MCP Server (Go)
by kaneg

Safe Kubernetes access for AI agents via MCP. Read-only by default, with explicit permission modes.

local only
Microsoft SQL Server
by alyiox

Read-only-by-default SQL Server: schema, parameterized SELECT, execution plans; writes opt-in.

local only
Microsoft 365 Mail
by mindstone

Microsoft 365 Outlook mail via Graph: read, search, send, reply, forward, draft, move, delete.

75 installs/wk local only
Microsoft 365 Files
by mindstone

Microsoft 365 OneDrive files via Graph: list, search, get, upload, download, share, read text.

79 installs/wk local only
Microsoft 365 Teams
by mindstone

Microsoft 365 Teams via Graph: list chats, read/send messages, list teams/channels, presence.

99 installs/wk local only
Microsoft 365 SharePoint
by mindstone

Microsoft 365 SharePoint via Graph: sites, libraries, pages, lists, search, file/list mutations.

103 installs/wk local only
D365fo Connector
by zhound420

Query and manage Microsoft Dynamics 365 Finance & Operations via MCP

23 installs/wk local only
MVR API - Minimum Viable Relationships
by africanmarketos591

Read-only MVR preflight for trust, permission, evidence gaps, and African market-entry readiness.

5 tools answering

Microsoft 365 Admin — questions

Answers built from our own checks of this server.

Why is there no uptime for Microsoft 365 Admin?
Microsoft 365 Admin runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @okapi-ca/ms-365-admin-mcp-server was installed 85 times last week.
How do I connect Microsoft 365 Admin?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls @okapi-ca/ms-365-admin-mcp-server straight from npm; nothing to host, nothing to sign up for.
How many people use Microsoft 365 Admin?
The npm package @okapi-ca/ms-365-admin-mcp-server was installed 85 times in the last week. Week over week that is +27%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Microsoft 365 Admin open source?
Yes — it is published under the MIT licence, written in TypeScript, 12 stars on GitHub and 1 open issue. The source link is on this page, so you can read exactly what it does with your data before you connect it.