Put scoped, revocable authorization in front of any Model Context Protocol server — with zero changes to the server itself.
tools/call is checked against the caller's warrant (scope, spend cap, rate limit, expiry, revocation) and recorded, before it ever reaches the server.
liceat-mcp --gateway https://liceat.com --token CW1~… --label github -- \
npx -y @modelcontextprotocol/server-github
Every tool call is now verified, caveat-checked, revocation-checked, and audited. Denials return a structured JSON-RPC error with reasons. An unreachable gateway fails closed (deny).
Give the agent a warrant that permits only the tools and limits you intend:
import { issue, attenuate } from 'liceat';
// Issue a scoped root warrant for an agent…
const { warrant, attenuationKey } = issue(issuerSecret, 'kid-1', {
principal: 'org:acme', agent: 'agent:assistant',
caveats: [
{ type: 'resource', patterns: ['mcp:github/*'] },
{ type: 'action', actions: ['read'] },
{ type: 'spend_limit', currency: 'USD', max: 5000 },
{ type: 'expires', at: Math.floor(Date.now()/1e3) + 3600 },
],
});
// …then hand a NARROWER one to a sub-agent — authority can only shrink:
const sub = attenuate(warrant, attenuationKey, [{ type: 'action', actions: [] }]);
Liceat is permission infrastructure for AI agents. You issue a warrant — a scoped, spend-capped, revocable token — that grants an agent narrow authority; the agent presents it at the point of action; Liceat enforces it (scope, spend, rate, holder-binding, revocation) and records every decision in a tamper-evident log. It is open source with a zero-dependency SDK for TypeScript and Python.
The SDK and self-hosted gateway are free and open source. The hosted gateway at liceat.com gives 10,000 free decisions with no card, then meters at fractions of a cent per decision — payable by card or USDC.
No. liceat-mcp wraps any MCP server as a transparent proxy — the server is unchanged. You can also embed the SDK directly if you prefer.
Free to self-host. 10,000 free decisions on the hosted gateway — no card.
Get an API key Read the docs