Examples
Per-user MCP access
A shared bearer token gives every user of the agent identical access. For anything permissioned, use on-behalf-of instead:
# axl-config/agents/assistant/mcp.toml
[servers.internal]
transport = "http"
url = "https://internal.example.com/mcp"
obo = { scope = "internal-api", description = "Use the internal API as the signed-in user" }obo and auth are mutually exclusive - a server uses one or the other.
Microsoft Graph works the same way through the built-in tool set:
# agent.toml
toolsets = ["microsoft"]Configure the OBO vault key and identity provider at the platform level, and request only the downstream scope the tool actually needs.
Next
- Reach services as the user - the identity-provider side.
- Requests are unauthorized - when the exchange fails.