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 / Agent creates records ...
Copilot Studio
Suggested Answer

Agent creates records under publisher's name, not actual user (MCP server)

(1) ShareShare
ReportReport
Posted on by

Hi all,

I've built a Copilot Studio agent and published it, where User A was the one who published/created the agent. This agent uses an MCP server to perform actions like creating records. 

Now when User B (a different user) uses this agent to create a record, the record ends up showing "Created by: User A" instead of "Created by: User B" — even though User B is the one actually interacting with the agent and triggering the record creation through the MCP server. 

Ideally, the record should reflect the actual signed-in user performing the action (User B), not the user who published the agent, so that record ownership/creation is properly traceable per user.

Has anyone faced this same issue when using an MCP server with Copilot Studio agents? Is this happening because the MCP server connection/authentication is running under the publisher's (User A's) credentials/context instead of passing through the current user's identity?

How can we make sure the "Created by" (or equivalent CreatedBy/ModifiedBy) field correctly reflects the actual user interacting with the agent, rather than defaulting to whoever published it? Is there a way to configure the MCP server or the agent's connection settings (e.g., per-user authentication, "Run only users" connections, or passing user context/token through MCP) so each action is attributed to the correct user?

Any guidance on the right setup to fix this would be really helpful. 

Thanks in advance!


 
 
 
 
 
 
 
 
 
I have the same question (0)
  • Suggested answer
    Haque Profile Picture
    3,943 on at
    Hi @AbishekJagadeesh
     
    The "Created by" showing User A is probably because the MCP server sees the agent’s identity, not the actual user.
     
    To understand why this happens, we need to understand agent identity vs user identity. When agent calls MCP server to create records, the authentication happens using agent's won identity or service principal (if used) associated with the agent, not the individual user's identity.
     
    Hence, to mark the record with actual signed in user (User B in your case), the agent need to perform an OBO flow or pass the users identity token to the MCP server so that the MCP server creates the record under User B's context.

    So we can conclude, without explicit OBO or user token forwarding, the MCP server sees the agent’s identity (User A’s service principal or app identity) as the caller, so records show User A as creator.
     
    References
     
     

    I am sure some clues I tried to give. If these clues help to resolve the issue brought you by here, please don't forget to check the box Does this answer your question? At the same time, I am pretty sure you have liked the response!
     
  • Suggested answer
    Sayali-MSFT Profile Picture
    Microsoft Employee on at
    Hello @AbishekJagadeesh,

    From what you've described, it sounds like the MCP action is running under the credentials of the connection used to configure the MCP server (User A), rather than the identity of the user interacting with the agent (User B). As a result, the backend system records User A in the CreatedBy/ModifiedBy fields instead of User B. 
    Connect your agent to an existing Model Context Protocol (MCP) server - Microsoft Copilot Studio | Microsoft Learn

    I'd recommend checking how the MCP server is authenticated. If it's using a shared connection, API key, service account, or publisher-owned credentials, this behavior is expected. To have records attributed to the actual user, the MCP server and backend API typically need to support delegated/per-user authentication and pass the signed-in user's identity or token through the request flow. 
    Lab MCS10 - Consuming an MCP server with OAuth 2.0 - Copilot Developer Camp

    Have you verified whether the MCP server is receiving the user's identity claims/token, and whether the downstream record creation API is using that delegated identity when creating records? That is usually the key factor in getting CreatedBy to reflect the interacting user rather than the publisher.
    Consuming an authenticated MCP server with a custom engine agent in Copilot Studio

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

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
sannavajjala87 Profile Picture

sannavajjala87 160 Super User 2026 Season 1

#2
11manish Profile Picture

11manish 145

#3
Haque Profile Picture

Haque 121

Last 30 days Overall leaderboard