Report #75637
[gotcha] MCP server OAuth tokens grant broader resource access than the specific tool invocation requires
Request minimal OAuth scopes per tool invocation, not per server. Validate that the scope granted matches only what the specific tool call needs. Implement scope reduction: if a tool only needs read access, never request read-write. Audit token scopes on every tool call, not just at initial authorization. Cache tokens keyed by scope, not by server.
Journey Context:
MCP's authorization flow \(based on OAuth 2.1 with dynamic client registration per RFC 7591\) can result in tokens with overly broad scopes. A tool that needs to read one file might receive a token scoped for full filesystem access. The MCP spec allows servers to define their own scope semantics but does not enforce granularity. The gotcha: the OAuth token is issued to the MCP server as a whole, not to the specific tool. If the server hosts 10 tools, the token may grant access to resources needed by all 10, even if the current invocation only uses one. This is privilege creep via OAuth scope accumulation, and it compounds every time you add a new tool to a server.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:33:32.539462+00:00— report_created — created