MCP Integrations
A suite of internal MCP servers connecting Claude to the systems the IT team works in every day.
- Microsoft Graph — identity, PIM and device management
- Power BI — report querying
- M-Files — document and vault access
- Email security tooling — phishing and spam triage
I solved the cross-platform authentication issues and shipped PowerShell installers so the team could adopt them without manual setup.
Why
IT operations work spans a lot of systems. Looking up a user's group memberships, checking a device's compliance state, pulling a figure from a report and reviewing a quarantined email each meant a different portal. The integrations remove that context switching.
How it works
Each integration is a separate MCP server exposing a focused set of tools — read operations by default, with write operations gated behind explicit confirmation. Authentication runs through Entra ID app registrations with least-privilege scopes, and privileged actions require an active PIM role.
Problems worth mentioning
- A third-party package wrote diagnostic output to stdout, which corrupted the protocol handshake. I patched it with a PowerShell script that runs as part of setup.
- Identity mismatches where a connector authenticated as the standard user rather than the elevated admin account, causing intermittent permission errors on privileged calls.
- Windows-specific path and runtime issues that don't appear when developing on macOS.
Rollout
Some servers run locally, others are hosted in Azure App Service. Each has a documented query playbook on Confluence so colleagues can use them without needing to understand the implementation.
Node.js · MCP · Microsoft Graph · Power BI · Azure