Scope · What this proves, what it doesn't
One identity layer, not two.
webmcp-auth proves which agent
is calling. It does not, on its own, prove
which user the agent is acting for.
That distinction matters more for some tools
than others — worth landing before you read
the rest of the page.
Read-only tools
Search, get_product, list_products,
check_inventory. These don't depend on
who the user is. Verifying the agent
("this is OpenAI's verified
shopping agent, not a copycat
scraper") is the whole story.
webmcp-auth covers this
end-to-end.
Tools that act on behalf of a user
Cart, account, checkout, anything
mutating user state. These need a
second identity layer — proof
that the agent is acting for a
specific authenticated person, not
just calling on behalf of nobody in
particular.
webmcp-auth doesn't
provide that today. You bring your
own user-auth on top.
How merchants handle user-auth today
Whatever you already use for API
auth: an OAuth bearer the agent
obtained on the user's behalf, a
session cookie that flowed through
from the user's browser, a signed
JWT, your own session-token format.
The library's
KYA hook lets you
verify these and surface the
human-behind-agent identity to your
origin if you want; the verification
itself is bring-your-own.
Where we're heading
Credential delegation — the agent authenticates to your MCP server as the user, without the user's credentials leaving their browser — is under consideration. We don't have a shipped design yet; the right shape depends on partner deployment patterns we haven't seen. If your tool surface needs this, tell us what you'd want; that's how we decide what to build.