vendo init turns your app into an MCP server. Your own agent connects to it and
acts as the user who is signed in — same guard, same approvals, same audit trail
as the rest of your product. Claude, ChatGPT and Cursor connect to the same door.
1
Run init
The MCP door mints its own principals through an OAuth adapter, so it needs an
identity to open. Init asks How do your users sign in? on every run, and
every answer but None yet carries that adapter:
authJs(), clerk(),
supabase(), auth0() and jwt() all do, and Write my own scaffolds a
working one for you. Answer None yet on this path and init writes nothing
at all and exits 1, naming what to answer instead — so the next run is the
whole fix. Auth.mcp: true — into
lib/vendo.ts, adds the discovery route beside your wire route, and fills
.vendo/ with your tool catalog, policy and brand.2
Wire your agent
vendo.agentTools opens the door for one conversation. Pass the incoming
request and the agent acts as whoever is signed in. This route drives Anthropic
directly, so it needs its own ANTHROPIC_API_KEY in .env.local — a Vendo
Cloud key covers Vendo’s own inference, not your loop.app/api/agent/route.ts
results is how the loop knows the model is done. What the agent may
call, and what a call meets on the way to your API, is in
How the door works.Ship door.embeds to the page and render each one:app/chat.tsx
/api/vendo and rides your host
session cookie.3
Approvals
Ask your agent to pay someone and the call parks — a tool nobody has graded needs
a person. The approval card is one of the embeds, so it renders in your chat:
approve it there, ask again, and the call runs.Grade the catalog with
vendo sync --ai and only the destructive tools keep
asking.When you deploy
Two variables on your platform, and the same code:VENDO_BASE_URL is the public https origin your app answers on — every discovery
URL derives from it. VENDO_API_KEY is the key init already put in .env.local,
and it is the whole setup for your token broker —
Service keys & broker is that half.
Claude, ChatGPT and Cursor
Your users’ setup page ships with the door. Open it in a browser, at the dev origin you gave init:Make it yours
The setup was the same for everyone. These, in order, make it yours.Wire auth
Swap the demo principal for your real sign-in.
Add tools
Point Vendo at your API — the agent gets hands.
Approve actions
Decide what runs and what asks first.
Generate screens
Ask for a view, pin it into your grid.
Theme it
Your fonts, colors, and radii on every surface.
Set instructions
The brief your agent reads before every turn.