# MCP and agent access control (target guidance)

> Documentation Preview — target API contract; endpoints may not be operational.

Responsibilities:

- **Seller's delivery system** (MCP server, API backend or SaaS app): authenticates users with its own
  OAuth 2.1 / OIDC provider, maps each named user to a customer organization, product and assignment,
  and enforces technical access.
- **LicenChain**: records and verifies the **corporate** license. LicenChain is not an OAuth identity
  provider for AI assistants and is not an MCP host.

Per tool call or session:

1. Authenticate the user token with the Seller's own identity provider.
2. Resolve user → customer organization → product → stored `licenceKey` → user assignment.
3. Call `POST /api/integrations/v1/licenses/verify` (server-side, Seller API key) or use a short-lived cached result.
4. Allow only if the user is authenticated, assigned **and** `valid === true`. Otherwise deny.

Never pass the Seller API key, onboarding links or Buyer personal data to an agent, prompt, tool
output or log. An NFT or blockchain record alone does not enforce access.
