An agent cannot fill in your login form
Technology
OAuth 2.0 is how software gets access to an account without being handed a password. It was built for third party integrations, and an agent is just another third party: a client acting on someone's behalf, holding a token that can be scoped narrowly and taken back.
On CrewAI, the Model Context Protocol server mirrors the public REST API, and an agent authenticates through OAuth before it can call any of it. The authorization server metadata is published under RFC 8414, at a well known URL.
Why
Why agent access runs through OAuth
- The token is the thing you can revoke
On CrewAI, agents authenticate through OAuth before they reach the MCP tools. The usual alternative is an API key pasted into a config file, which cannot be scoped to one client, cannot be narrowed later, and cannot be pulled back without breaking everyone else holding it.
- We did not invent an auth handshake
CrewAI publishes its authorization server metadata under RFC 8414. That is a deliberate refusal to be clever: a client we have never seen already knows how the flow works, because it is the flow every other OAuth client already implements. Custom auth is a permanent support burden.
- The consent screen assumes a person
The redirect and the approval prompt were designed for a human who reads the screen and clicks allow. An agent running on a schedule has nobody to click. Decide up front which actions are allowed to happen unattended, because the spec will not decide that for you.

