web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / [Help Needed] Copilot ...
Copilot Studio
Suggested Answer

[Help Needed] Copilot Studio MCP Dynamic OAuth returns 403 on DCR despite working endpoints

(0) ShareShare
ReportReport
Posted on by Microsoft Employee
I'm trying to connect Copilot Studio to a custom MCP Server hosted on Azure Functions using Dynamic OAuth mode. The DCR (Dynamic Client Registration) endpoints I implemented work perfectly when tested from command line, but Copilot Studio gets a 403 Forbidden error. I've exhausted my troubleshooting options and need help identifying what's different about Copilot Studio's requests.
 
Setup Summary:
Constraints (org policy):
❌ No client secrets allowed
❌ Cannot use "Allow requests from any application" in Easy Auth
❌ API keys not supported
 
What I configured:
 
Component Configuration
App Registration Single-tenant, exposed scopes, redirect URI from Copilot Studio added
Easy Auth Microsoft provider, allowedApplications with Power Platform client IDs
Excluded Paths /.well-known/*, /register, /register/*
IP Restrictions CopilotActionsPowerPlatformInfraPowerPlatformPlex, AzureConnectors service tags allowed
Custom DCR Endpoints Implemented RFC 7591/8414/9728 since Entra ID doesn't support DCR natively
 
Copilot Studio Settings:
Auth Type: OAuth 2.0 → Dynamic
Authorization/Token URLs pointing to Entra ID

The Problem:
Error: GetDynamicClientRegistrationResultAsync failed. Status Code: Forbidden
 
What works (tested via curl/PowerShell):
  • ✅ GET /.well-known/oauth-protected-resource → 200 OK
  • ✅ GET /.well-known/oauth-authorization-server → 200 OK
  • ✅ POST /register → 201 Created (returns client_id/secret)
What fails:
Copilot Studio gets 403 when attempting the same DCR flow.
 
Questions:
  1. What client IDs / source IPs does Copilot Studio use for DCR requests in Dynamic OAuth mode?
  2. Are there additional service tags needed beyond CopilotActions, PowerPlatformInfra, PowerPlatformPlex?
  3. Does Copilot Studio send headers that might bypass Easy Auth's excluded paths?
  4. Has anyone successfully used Dynamic OAuth with Azure Functions + IP restrictions + Easy Auth allowedApplications?
Any insights appreciated!
I have the same question (0)
  • Suggested answer
    Sayali Profile Picture
    Microsoft Employee on at
    Hello,

    Copilot Studio accesses MCP servers through the Power Platform connector infrastructure, meaning traffic flows via the Power Platform backend using connector networking, identity, and service infrastructure rather than the user’s browser. However, Microsoft documentation does not publish static IP ranges, client IDs, or detailed authentication specifics (such as DCR client identities), implying these requests originate from internal platform services that are not externally documented.

    In practice, this creates challenges when combining Dynamic Client Registration (DCR), Azure Functions, Easy Auth, and strict IP or application restrictions. IP allowlists may block DCR requests because required backend infrastructure is not fully documented, and Easy Auth’s allowedApplications setting can cause 403 errors since the registering client identity is unknown. Additionally, Copilot Studio’s backend gateway may inject authentication headers that cause Easy Auth to treat DCR endpoints as protected resources even when excluded.
    Workarounds used successfully in similar MCP and OAuth setups include separating DCR endpoints from Easy Auth (e.g., hosting registration endpoints in a dedicated function app), introducing Azure API Management or Front Door to manage authentication flow, temporarily relaxing application restrictions during registration, or replacing dynamic OAuth registration with federated identity approaches.

    Overall, there is currently no publicly documented list of Copilot Studio DCR client IDs, service tags, or confirmed working examples of Dynamic OAuth with Easy Auth and strict IP restrictions, making architectural separation of DCR from protected resources the most reliable solution.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
Valantis Profile Picture

Valantis 665

#2
Vish WR Profile Picture

Vish WR 313

#3
Haque Profile Picture

Haque 227

Last 30 days Overall leaderboard