Record Per-Client MCP Consent
Bind MCP consent to the registered client, resource, user, and exact scopes; test changed-client and revocation cases.
Consent to one MCP client is not consent to every client that can reach the same server. A user may approve a desktop assistant to read project status but not a hosted agent to export files. Record the client identity and approved scopes as an authorization decision that the server can enforce.
The MCP security guidance discusses a confused-deputy pattern in authorization flows. The practical question for an operator is whether the consent screen names the actual client, the exact resource, and the requested permissions. A generic "connect" button can hide a wider grant than the user intended.
Consent record
| Field | Review question |
|---|---|
| Client identifier | Which registered client requested access? |
| Resource | Which MCP server will receive the token? |
| User and tenant | Who granted access, and for which workspace? |
| Scopes | Which tool classes are covered? |
| Issued and expiry times | When should reauthorization occur? |
| Revocation path | How can the user or admin end the grant? |
Do not take a client name from the model prompt as proof of identity. Bind consent to the authorization server's registered client information. Show the user the same client and scopes the server will later see. If the client changes its callback, requested scope, or owner, treat that as a reason to review consent again, not as a silent update.
Exercise changed-client cases
In an owned authorization lab, approve a read-only client and call a permitted tool. Then use a different client identity with the same user, and require a new decision or denial. Increase the scope request to a write permission and confirm that the old read consent does not authorize it. Revoke the grant and verify new tool calls fail after the stated propagation interval.
Keep consent records separate from tokens. The audit trail needs client ID, user, scope, decision, and time, not the raw bearer value. Test the visible consent text as well as backend enforcement: an accurate server check does not cure a misleading approval screen. A pending or failed consent must leave the tool unavailable. This is a product permission, not permission to test a third-party system.
Know what your agents can reach
Map data access, tool actions and approval boundaries before testing. Use the scope guide, or discuss a review of your AI application.
Sources
- MCP Security Best PracticesAccessed
- MCP Authorization SpecificationAccessed