← Reddit

I gave Claude access to my M365 account using Power Automate + a small MCP server

Reddit · ChiGamerr · May 19, 2026
A developer built an MCP server connected to Power Automate flows to give Claude access to Microsoft 365 operations like email, calendar, and file management without requiring tenant admin access or API approvals. The solution uses a FastMCP wrapper—approximately 200 lines of Python—that translates Claude tool calls into HTTP requests to 22 individual Power Automate webhooks, which execute the actual M365 operations using the user's existing account permissions.

Detailed Analysis

A developer working without Microsoft 365 tenant administrator privileges has constructed a functional AI agent pipeline connecting Claude to a full suite of M365 services by routing requests through Power Automate HTTP-triggered flows and a lightweight FastMCP server. The architecture chains Claude's tool-calling capability through an intermediary Python server of approximately 200 lines, which maps named MCP tools — such as `m365_send_email`, `m365_calendar_read`, and `onedrive_create_file` — to individual Power Automate webhook URLs. Each webhook runs as the user's own authenticated account, inheriting the permissions already granted to that identity without requiring any new Graph API approvals. The resulting system allows natural-language commands inside a Claude chat session to trigger concrete M365 actions: drafting emails, checking calendar availability, writing files to OneDrive, creating Planner tasks, appending rows to Excel spreadsheets, and populating Word templates.

The architectural significance lies in what the developer explicitly avoided: a formal API integration. Rather than pursuing official Microsoft Graph API credentials — a process that typically requires organizational approval, app registration, and scoped permission grants — the solution leverages Power Automate as a pre-authorized execution layer. Power Automate's HTTP trigger feature exposes a signed webhook URL that accepts structured JSON payloads and translates them into connector actions the user is already entitled to perform. The MCP server acts purely as a translation and routing layer, converting Claude's structured tool calls into POST requests against those webhooks and returning the responses. This pattern effectively sidesteps enterprise IT governance without circumventing security controls, since all actions still execute under the user's own delegated permissions.

The practical deployment details reveal a pattern increasingly common in personal AI automation: cheap cloud compute, small codebases, and configuration-driven tool registries. The developer ran the FastMCP server on a low-cost VPS, storing webhook URLs in a private JSON config file treated with the same security sensitivity as credentials. The emphasis on keeping URLs private, logging tool names without logging secrets, beginning with read-only tools before enabling write operations, and maintaining narrow single-purpose flows rather than a general-purpose endpoint reflects a mature operational posture uncommon in hobbyist automation projects. The documented failure mode — two MCP tools inadvertently pointing at the same Power Automate webhook due to a config duplication error, causing Claude to confidently invoke the wrong action — illustrates how the weakest link in such architectures is configuration management rather than the AI reasoning layer itself.

This project sits at the intersection of two accelerating trends in applied AI: the rapid adoption of the Model Context Protocol as a standardized tool-calling interface, and the use of no-code/low-code enterprise automation platforms as authentication and execution proxies for AI agents. MCP, originally introduced by Anthropic, has increasingly become the standard mechanism by which Claude and other large language models are granted structured access to external systems, replacing the earlier pattern of custom function-calling schemas. Power Automate's role here mirrors how developers have used Zapier, Make, and n8n in similar configurations — not as the intelligent layer, but as the credentialed middleware that translates agent intent into authenticated enterprise actions. The pattern is particularly significant for the large population of enterprise workers who interact with M365 environments daily but lack the administrative standing to register applications or obtain API credentials.

The broader implication is that practical AI agent deployments in enterprise contexts will increasingly look less like formal software integrations and more like bridged automation workflows stitched together by individual users operating within their existing permission boundaries. The developer's observation that "agent tool access doesn't always need a perfect official API integration" captures a pragmatic reality shaping how AI capabilities propagate through organizations: bottoms-up, permission-constrained, and built on whatever automation infrastructure already exists. As MCP server tooling matures and Power Automate-class platforms continue expanding their connector ecosystems, the barrier to giving a conversational AI model meaningful, scoped access to enterprise productivity surfaces will continue to fall — with or without formal IT department involvement.

Read original article →