Giving Claude M365 Access via Power Automate and a FastMCP Server

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.
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_filethat 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
👀 See Also

OpenClaw Mega Cheatsheet: Your Gateway to AI Coding Mastery
Dive into the OpenClaw Mega Cheatsheet from r/openclaw—a comprehensive guide packed with essential tips for AI coding and automation enthusiasts.

Guide: Running GitHub Copilot with Local LLM on Windows via Lemonade Server
A developer created a walkthrough for setting up GitHub Copilot to work with a local LLM on a Framework Desktop using Lemonade Server, addressing the lack of simple instructions for this configuration on Windows.

Research Shows Effective AI Prompting Is Cooperative Communication, Not Engineering
Peer-reviewed research indicates that effective prompting with AI models follows the same cooperative communication principles humans use, with Lakera's analysis showing most prompt failures stem from ambiguity rather than model limitations.

Visual Guide to Claude Code's 27 Hooks Lifecycle
A community-created resource provides a visual and audio walkthrough of all 27 Claude Code hooks, showing when each fires, their order, and what data they receive. The project was built entirely using Claude Code itself.