Runs on your machine
Your AI client launches the MCP over stdio. There is no hosted token service or tenant database.
Run Intune Assignment Checker locally over MCP. Sign in with your Microsoft work account in the browser, keep tokens protected on your machine, and make bounded read-only Microsoft Graph queries.
Your AI client launches the MCP over stdio. There is no hosted token service or tenant database.
MSAL protects its cache with DPAPI, Keychain, or libsecret. Tokens never enter MCP tool results.
Tools construct known Graph /beta paths internally. There is no generic Graph request tool.
Install
Choose your client, add the npx command once, and let the client launch the MCP when it is needed. Node.js 20 or newer is the only local prerequisite.
Open Settings → Developer → Edit Config, add the server, then restart Claude Desktop.
{
"mcpServers": {
"intune-assignment-checker": {
"command": "npx",
"args": ["-y", "intune-assignment-checker-mcp@latest"]
}
}
}The user scope makes the MCP available in every project. Verify it with claude mcp list or /mcp.
claude mcp add --transport stdio --scope user \
intune-assignment-checker -- \
npx -y intune-assignment-checker-mcp@latestAdd this to ~/.codex/config.toml. ChatGPT Desktop, Codex CLI, and the Codex IDE extension share the configuration on the same machine.
[mcp_servers.intune-assignment-checker]
command = "npx"
args = ["-y", "intune-assignment-checker-mcp@latest"]Codex CLI shortcut: codex mcp add intune-assignment-checker -- npx -y intune-assignment-checker-mcp@latest
Add the server to Cursor's MCP configuration and enable it from Cursor settings.
{
"mcpServers": {
"intune-assignment-checker": {
"command": "npx",
"args": ["-y", "intune-assignment-checker-mcp@latest"]
}
}
}Use MCP: Add Server with a stdio command, or place this entry in the appropriate VS Code mcp.json file.
{
"servers": {
"intune-assignment-checker": {
"type": "stdio",
"command": "npx",
"args": ["-y", "intune-assignment-checker-mcp@latest"]
}
}
}Clone the MCP repository, run npm install, npm run check, and npm run build. Then point your client at the built entry file. The production public-client ID is already embedded.
{
"mcpServers": {
"intune-assignment-checker": {
"command": "node",
"args": [
"/absolute/path/to/IntuneAssignmentChecker-MCP/dist/index.js"
]
}
}
}Authentication
The standard installation uses one multi-tenant Entra public client named Intune Assignment Checker MCP. It uses delegated permissions only. Customers do not create a certificate, upload a secret, or operate a second registration.
DeviceManagementConfiguration.Read.AllDeviceManagementApps.Read.AllGroupMember.Read.AllThese delegated Intune scopes normally require administrator consent. Additional scopes are added to this same registration only when the tools that use them ship. Cloud PC access is not requested in the current slice.
The local MCP first checks its protected cache. It can return auth_required instead when automatic sign-in is disabled.
Microsoft handles credentials and consent. The language model never receives a password, code, or access token.
The cache is bound to the current OS user. If the secure keyring is unavailable, the MCP falls back to memory instead of plaintext files.
Only bounded tool results are returned to the AI client. No Intune inventory is stored by this website.
First tools
get_connection_statusConnection, tenant, scopes, and cache protection, but never the token.
search_policiesSearch supported Intune policies and apps with bounded cursor pagination.
get_policy_assignmentsNormalize includes, exclusions, groups, intents, and assignment filters.
Try asking
Delegated Intune RBAC can narrow successful Graph results. Every response reports that uncertainty and never presents a partial category scan as complete.
The security page documents token storage, Graph safeguards, model data exposure, retention, tenant selection, and revocation.
Read the security model