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

Fixing OpenClaw Prompt Bloat and Slow Response Loops
Users experiencing long delays since 2026.4.26 can reclaim performance by reducing context bloat: trim always-injected files, limit visible skills, and avoid pasting huge tool outputs in main chat.

Using AI to Write Better Code More Slowly: A Bug-Finding Workflow
Nolan Lawson describes a workflow using multiple AI agents (Claude, Codex, Cursor Bugbot) to find and prioritize bugs in PRs, improving code quality over raw velocity.

Splitting Agent Context into Three Layers to Solve the 700-Line Monolith Problem
A team building a 6-agent autonomous system solved context file bloat by separating agent context into three layers based on concern type and change frequency: CLAUDE.md for identity, BRIEFING.md for mission, and PLAYBOOK.md for operations. This approach prevents silent failures from argument limits and makes editing predictable.

OpenClaw Installation on MacBook Pro Using Local Homebrew and NVM
A user successfully installed OpenClaw on a MacBook Pro using a non-admin account with local Homebrew, NVM v0.40.4, Python 3.14.3 via pyenv, Node 24, and the Qwen3.5-122B-A10B-MLX-vision-4.7-bit LLM through oMLX.