Authdog

Authorizing tool calls for Eve

Last updated Oct 21, 2026
View as Markdown

Eve's channel auth decides who may open a session. It does not decide which outbound tool that session may call. The sample stops at the session 401. Tool authorization belongs on the API the tool calls.

Outbound tool sign-in, where Eve itself fetches a provider token, is a separate Eve concern. This guide does not configure it. If your tool calls an Authdog-protected API, that API is the gate.

Check the API the tool calls

Put require_auth (or a token_verifier, if the tool is an MCP server) on that API. Pass the same bearer the caller already presented, or a token minted for that call. A missing bearer is 401 from the API. The Eve session can stay open and the tool can return that error to the model.

Check Where it runs
JWT signature, issuer, expiry, audience Eve channel, before the session starts
Subject, from the verified token The API, via userinfo or the JWT sub
Allowed tools and scopes Trust-store row for that subject, if you enforce it
The specific action Authorization on your API

The sample does not read allowed-tool globs. A session that Eve accepted is not permission to call every tool you might add later.

Revoke in Agents stops new tokens when the subject is the OIDC client id. A JWT Eve already accepted stays valid until exp unless your API also enforces the trust store. Eve's oidc() check is signature, issuer, expiry, and audience.

Acting for a person

If the bearer is an RFC 8693 token, authorize the user in sub and record the agent in act. Do not authorize the agent as if it were the user.

Read To learn how to
Custom channel auth for Eve Admit the session
Enriching instructions for Eve Keep secrets out of defineAgent
Authorizing tool calls for MCP Use the same idea when the tool is an MCP server
Agents Revoke the identity and set allowed tools

Learn more