OPTIONAL authorization
The MCP specification states that authorization is OPTIONAL for implementations, and that HTTP-based implementations SHOULD — not MUST — conform to its OAuth profile when they do support it.
#
The MCP specification states that authorization is OPTIONAL for implementations, and that HTTP-based implementations SHOULD — not MUST — conform to its OAuth profile when they do support it. stdio implementations should not follow the profile at all, and should take credentials from the environment instead.
So an MCP server behind an API key or a custom header is outside the specification's OAuth profile, not in violation of it. That distinction matters because most working servers are configured that way, and the tradeoff is real rather than moral: only the OAuth profile gets a server into a connector directory, because that is the only credential a client you do not control knows how to obtain.
Also written: authorization is optional · MCP API key auth · custom header auth MCP · is API key authentication allowed in MCP · out of scope