Giving Claude M365 Access via Power Automate and a FastMCP Server

✍️ OpenClawRadar📅 Published: May 19, 2026🔗 Source
Giving Claude M365 Access via Power Automate and a FastMCP Server
Ad

A developer on r/ClaudeAI shared a practical architecture for giving Claude access to Microsoft 365 without tenant admin privileges. The setup uses Power Automate flows as the execution layer, triggered via webhooks, with a small FastMCP server acting as the bridge.

What It Does

Claude can now perform these M365 actions through MCP tools:

  • Read inbox and send emails
  • Check calendar
  • Save notes to OneDrive under specific folders
  • Create Planner tasks
  • Append rows to Excel spreadsheets
  • Fill Word templates

Architecture

The chain is straightforward:

Claude -> MCP tool call -> FastMCP server -> Power Automate webhook -> M365 connector

Each M365 operation is a separate Power Automate flow with an HTTP trigger. The flows run under the user's account, using already-approved permissions. The FastMCP server (about 200 lines of Python + a JSON config file) routes tool calls to the correct webhook URL.

Ad

Setup Overview

  • Create Power Automate flows for each action (send email, read calendar, etc.) with an HTTP trigger
  • Copy the signed webhook URL from each flow
  • Deploy a FastMCP server (fastmcp on PyPI) on a cheap VPS
  • Define tools like m365_send_email, m365_calendar_read, onedrive_create_file that POST JSON to the webhooks
  • Point Claude Desktop's MCP config at the server

Practical Lessons

The developer notes that agent tool access doesn't require perfect official API integrations — existing enterprise tools like Power Automate can serve as a pragmatic backend. A funny bug: two MCP tools pointing at the same webhook (due to a forgotten URL update in the config) caused Claude to call the 'right' tool but Power Automate performed the wrong action.

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also