I’ve been experimenting with a simple idea that unlocks huge potential for enterprise automation: turn Azure Logic Apps into MCP servers so any AI agent can call them like native tools. In one move, your agents get access to 1,400+ prebuilt connectors across Microsoft and third-party services — with enterprise-grade auth, monitoring, and governance built in.
Here’s the twist I like most: let an agent do the setup for you. No scripts. No manual portal clicking. You give the agent a resource URL and it provisions everything — enables MCP endpoints, creates workflows, tests them, and hands you back a working server.
Why this matters now: agents don’t need to “learn” every API. They can orchestrate business-ready workflows that already exist in Logic Apps — approvals, CRM updates, IT automations, finance ops — all behind a clean, typed tool surface.
Official Documentation: Set up a Model Context Protocol server in Azure Logic Apps
What you need
- Azure subscription with an active account
- Azure Logic App (Standard) with Workflow Service Plan or App Service Environment v3
- Azure CLI installed
- An AI agent (Claude, VS Code with Copilot, Agent Framework, etc.)
Repository
This guide uses the azure-logic-apps-mcp repository. It contains:
Quick start: Let an agent set it up
Copy this prompt and send it to your AI agent (Claude Desktop, VS Code with Copilot, etc.):
I want to set up my Azure Logic App as an MCP server. Please read the guide at:
https://github.com/iLoveAgents/azure-logic-apps-mcp/blob/main/AGENTS.md
My Azure Logic App resource URL:
/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{logic-app-name}
Please:
1. Enable MCP endpoints on my Logic App
2. Create a "hello" tool that accepts an optional "name" parameter and returns JSON: { "greeting": "Hello, <name>!" }
3. Use anonymous authentication (for testing)
4. Verify the MCP server works
5. Give me the MCP server URL and show me how to connect from VS CodeTip: Get your Logic App resource URL from the Azure Portal → Open your Logic App → Click “JSON View” (top-right) → Copy the “Resource ID” field
The agent will set everything up and give you a URL like https://my-logic-app.azurewebsites.net/api/mcp to connect with.
Connect from VS Code:
- Command Palette (Cmd/Ctrl+Shift+P) → “MCP: Add Server” → Paste the URL
Connect from Claude Desktop:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"logic-apps": {
"url": "https://my-logic-app.azurewebsites.net/api/mcp",
"transport": "streamable-http"
}
}
}Test your “hello” tool
Once connected, try this prompt:
VS Code + Copilot:
Call the MCP tool "hello" with { "name": "Christian" } and show me the response.Claude Desktop:
Use the logic-apps MCP server and call the "hello" tool with { "name": "World" }. Return the JSON response.Expected response:
{
"greeting": "Hello, Christian!"
}Use OAuth for production
The real power comes when you enable OAuth 2.0 with Azure’s “Easy Auth” feature.
Prompt to enable OAuth:
I want to enable OAuth 2.0 authentication for my Azure Logic App MCP server.
Please read the guide at:
https://github.com/iLoveAgents/azure-logic-apps-mcp/blob/main/AGENTS.md
My Azure Logic App resource URL:
/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{logic-app-name}
Please:
1. Create a Microsoft Entra ID app registration for the MCP server
2. Configure Easy Auth (OAuth 2.0) on my Logic App
3. Update the MCP server settings in host.json
4. Create a "hello" tool that returns the authenticated user's name from the token
5. Give me the MCP server URL and show me how to connect from VS Code
The "hello" tool should return JSON: { "greeting": "Hello, <authenticated-user>!" }When you connect from VS Code, it automatically handles the OAuth flow. The user authenticates once, and that identity is used for all MCP tool calls.
Important note about Easy Auth and connectors: Unfortunately, Logic Apps MCP with Easy Auth cannot use On-Behalf-Of flow. Easy Auth only provides X-MS-CLIENT-PRINCIPAL-* headers with user identity information but does not supply the OAuth access token to your workflows. This means:
- You can identify the authenticated user (name, ID, email)
- You cannot automatically pass the user’s token to connectors (Teams, SharePoint, etc.)
- Connectors require their own authentication connections (service principals or user connections)
For workflows that need to call Microsoft Graph or other APIs on behalf of the authenticated user, you’ll need to configure connector authentication separately.
What you can build
With 1,400+ connectors, you can create tools for:
Automation:
- Approvals (Teams, Outlook, ServiceNow)
- Document processing (SharePoint, OneDrive)
- Notifications (Teams, Slack, SMS)
Integration:
- CRM updates (Salesforce, Dynamics 365)
- Database operations (SQL, Cosmos DB, Dataverse)
- File operations (SharePoint, Azure Storage, SFTP)
Business processes:
- Invoice processing
- IT ticket creation
- Customer onboarding
- Report generation
Browse the full catalog: Microsoft Connectors Reference
How it works
When you enable MCP on a Logic App:
- MCP endpoints are exposed at
/api/mcpusing streamable HTTP or Server-Sent Events (SSE) - Each stateless workflow becomes an MCP “tool” that agents can discover and call
- HTTP trigger schema defines the tool’s input parameters (automatically discovered by MCP clients)
- HTTP response becomes the tool’s output (must be JSON)
- Easy Auth (when enabled) validates OAuth tokens and injects user identity headers
Configuration:
host.jsonenables the MCP server with extension bundle 4.33.0+- Stateless workflows with HTTP triggers are automatically exposed as tools
- Tool names come from the workflow folder names (use lowercase with hyphens)
No dependencies. No custom scripts. Just Azure Logic Apps + MCP.
What works (and what doesn’t)
After working with this setup, here’s what I’ve learned:
What I love:
- Agents can access enterprise workflows without learning every API
- VS Code auto-discovers OAuth settings — zero manual config needed
- 1,400+ connectors available immediately
- Agent-driven setup means less time in the Azure Portal
Current limitations:
- Easy Auth doesn’t pass OAuth tokens to connectors (no On-Behalf-Of flow)
- Each connector still needs its own authentication configuration
- You get user identity headers (
X-MS-CLIENT-PRINCIPAL-*) but not the access token - Best suited for workflows with pre-configured service principals
Production-ready for:
- Workflows with service principal authentication
- User identity verification (knowing who’s calling your tools)
- Anonymous dev/test environments
- Orchestrating existing enterprise integrations
Resources
Official Microsoft Documentation:
- Set up a Model Context Protocol server in Azure Logic Apps
- Logic Apps overview
- Microsoft Connectors Reference
Agent-first setup (this approach):
- Repository: github.com/iLoveAgents/azure-logic-apps-mcp
- Agent guide: AGENTS.md
- Full docs: README.md
What are you building with Logic Apps and MCP? I’d love to hear about your agent workflows — share your experience on iLoveAgents or connect with me on LinkedIn.