# Vendo > Embed an agent in your product that lets every customer automate their work, build their own views, and connect their tools, inside your brand and your guardrails. ## Docs - [What is Vendo](https://vendo-mintlify-24213046.mintlify.site/what-is-vendo.md): Your users build their own features inside your product: screens on their real data pinned into your pages, automations that run on a schedule, their own accounts connected — all through your own API, as them. - [Set up Vendo with your agent](https://vendo-mintlify-24213046.mintlify.site/index.md): One paste. Your coding agent installs Vendo, runs init, and wires it into whatever your repo already is. - [Vendo's Full-Stack Agent](https://vendo-mintlify-24213046.mintlify.site/product/quickstart.md): Your agent as a panel inside your own product, in your own brand. - [In your existing agent](https://vendo-mintlify-24213046.mintlify.site/existing-agent/quickstart.md): Spread Vendo's guarded tool pack into an AI SDK or Mastra loop you already run, and render what it returns in your own chat. - [AI SDK](https://vendo-mintlify-24213046.mintlify.site/existing-agent/ai-sdk.md): Spread Vendo's guarded tool pack into a Vercel AI SDK loop you already run, and render what it returns in your own chat. - [Mastra](https://vendo-mintlify-24213046.mintlify.site/existing-agent/mastra.md): Spread Vendo's guarded tool pack into a Mastra agent you already run, and render what it returns in your own chat. - [From outside agents](https://vendo-mintlify-24213046.mintlify.site/outside-agents/quickstart.md): Turn your app into an MCP server that Claude, ChatGPT, Cursor and your own backend drive as one of your users. - [How the door works](https://vendo-mintlify-24213046.mintlify.site/outside-agents/how-the-door-works.md): Who is calling, how a call reaches your host tools, and what comes back. - [Service keys & broker](https://vendo-mintlify-24213046.mintlify.site/outside-agents/service-keys-and-broker.md): The one long-lived secret behind tokenFor: where it lives, what the audit shows, and how to rotate it. - [Wire auth](https://vendo-mintlify-24213046.mintlify.site/howto/auth.md): Hand Vendo your existing sign-in, so every thread, app, and grant belongs to the user who made it. - [Add tools](https://vendo-mintlify-24213046.mintlify.site/howto/tools.md): Point Vendo at the API you already wrote, run one command, and the agent has hands. - [Generate screens](https://vendo-mintlify-24213046.mintlify.site/howto/screens.md): Ask for a view, put a slot in one of your own pages, and pin the finished screen into your grid. - [Theme it](https://vendo-mintlify-24213046.mintlify.site/howto/theming.md): One token file sets the colors, type, radii, density, and motion of every Vendo surface in your product. - [Approve actions](https://vendo-mintlify-24213046.mintlify.site/howto/approvals.md): The posture every tool call starts under, one rule of your own, and the label that makes an approval card read like your product. - [Set instructions](https://vendo-mintlify-24213046.mintlify.site/howto/instructions.md): Write the product brief your agent reads before every turn: what your product is, who uses it, and how it should sound. - [Generated apps](https://vendo-mintlify-24213046.mintlify.site/generated/apps.md): How one ask becomes one app.tsx screen, what that screen may write, and why every user gets their own copy. - [Host components](https://vendo-mintlify-24213046.mintlify.site/generated/host-components.md): Register your own React components so generated screens render your real UI, what vendo sync captures, and what a capture cannot carry. - [Context](https://vendo-mintlify-24213046.mintlify.site/customize/context.md): Assert facts about the signed-in user, ride the automatic screen snapshot, and publish your own page data into the agent's prompt. - [Knowledge](https://vendo-mintlify-24213046.mintlify.site/customize/knowledge.md): Connect your product docs so the agent answers how-it-works questions from them, cites what it used, and says it does not know when they do not cover it. - [User data](https://vendo-mintlify-24213046.mintlify.site/customize/user-data.md): Give each user a place to keep their own files: drop one in chat and the agent can read it, build on it, and pick it up again in next week's conversation. - [Tools from someone else's API](https://vendo-mintlify-24213046.mintlify.site/capabilities/connectors.md): Point the agent at an MCP server or any OpenAPI document and its operations become guarded tools. - [Connected accounts](https://vendo-mintlify-24213046.mintlify.site/capabilities/connected-accounts.md): Each user connects their own Gmail, Slack, or GitHub once, and every later tool call runs as that user. - [Automations](https://vendo-mintlify-24213046.mintlify.site/capabilities/automations.md): One model: an automation is a record someone owns, your deployment runs it, and Cloud is only the alarm clock. - [Production checklist](https://vendo-mintlify-24213046.mintlify.site/production/deploying.md): The eight things that must be true before your users meet Vendo in production, and the command that checks your wiring. - [Persistence](https://vendo-mintlify-24213046.mintlify.site/production/persistence.md): Where threads, apps, records, grants, approvals, and audit rows live on Vendo Cloud, and what the store refuses. - [Edge runtimes](https://vendo-mintlify-24213046.mintlify.site/production/edge-runtimes.md): Run Vendo on Cloudflare Workers, Bun, Deno, Hono, Fastify, or Lambda: what init generates, the three rules, and the adapter contract if you mount the handler yourself. - [Model credentials](https://vendo-mintlify-24213046.mintlify.site/production/model-credentials.md): How the Vendo Cloud model gateway fills every model seat, which model names it serves, how to pin one, and what a keyless turn does. - [Vendo Cloud](https://vendo-mintlify-24213046.mintlify.site/production/vendo-cloud.md): What VENDO_API_KEY fills, the two key scopes, what usage costs, the hosted sandbox, and how Cloud wakes your deployment on time. - [Telemetry](https://vendo-mintlify-24213046.mintlify.site/production/telemetry.md): What a running Vendo deployment reports about itself, what the build tooling reports, what neither ever sends, and every way to turn both off. - [Doctor error codes](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/index.md): Every error code vendo doctor can print, grouped by the area it checks, with the page that fixes each one. - [MCP call times out at 60 seconds](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/mcp-call-timeout.md): A tools/call from a stock MCP client hangs or dies around 60 seconds, most often on vendo_make. - [E-WIRE-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-001.md): Doctor's Express check found no createVendo server wiring, so the wire never mounted. - [E-WIRE-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-002.md): Doctor's Express check found no in the client, so the wire has no consumer. - [E-WIRE-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-003.md): Doctor found no Next.js catch-all route at app/api/vendo/[...vendo]/route.ts. - [E-WIRE-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-004.md): Doctor found no client entry mounting in any layout or _app file. - [E-WIRE-005](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-005.md): Doctor found neither @vendoai/vendo nor the vendoai alias declared in package.json. - [E-WIRE-006](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-006.md): Doctor found no visible agent surface mounted, so users have no way to open the agent. - [E-WIRE-007](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-007.md): Doctor found no createVendo server wiring on a host it can't pattern-match to Next.js or Express. - [E-WIRE-008](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-008.md): Doctor warns when no is found on an unrecognized-framework host. - [E-WIRE-009](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-009.md): Doctor found live server actions that aren't registered, or a route that never wires the registration map into createVendo. - [E-WIRE-010](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-010.md): Doctor warns when the host still names the removed , or still carries the old vendo-root.tsx wrapper. - [E-WIRE-011](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-wire-011.md): Doctor found the vendoai alias installed but @vendoai/vendo unresolvable, which 500s every wired route under pnpm. - [E-CFG-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-cfg-001.md): Doctor found a required .vendo/ file missing: tools.json, overrides.json, policy.json, brief.md, or theme.json. - [E-CFG-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-cfg-002.md): Doctor warns when .vendo/data/.gitignore is missing, which risks committing the local store into version control. - [E-CFG-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-cfg-003.md): Doctor found the OpenAPI spec's relative server mount and VENDO_BASE_URL's path prefix disagree, so every host tool call 404s. - [E-CFG-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-cfg-004.md): A Next.js host's next.config does not list @vendoai/vendo in serverExternalPackages, so every generated screen fails its checks. - [E-STORE-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-store-001.md): Doctor warns when the store's data directory sits on disk a platform wipes on every redeploy. - [E-TENANT-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tenant-001.md): Tenant connectors are wired but the store has no encryption key, so a tenant's pasted token has nowhere safe to live. - [E-DEP-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-dep-001.md): Doctor found an installed ai package outside the major versions @vendoai/vendo supports. - [E-DEP-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-dep-002.md): Retired: doctor no longer reads the running wire, so it cannot compare its version against the CLI. - [E-DEP-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-dep-003.md): Doctor found an installed zod older than 3.25, which breaks the build the moment Vendo's wiring pulls in the AI SDK. - [E-UI-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-ui-001.md): Retired: vendo eject was removed, so no copied surface can drift from the installed @vendoai/vendo/ui. - [E-DEV-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-dev-001.md): Retired: doctor never starts a dev server, so it can never fail to start one. - [E-LIVE-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-001.md): Retired: doctor no longer calls /status, so it cannot judge the response. - [E-LIVE-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-002.md): Retired: doctor no longer fetches /status, so nothing can be unreachable. - [E-LIVE-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-003.md): Retired: doctor no longer reads the execution venue from /status. - [E-LIVE-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-004.md): Retired: doctor no longer reads the configured execution venue from /status. - [E-LIVE-005](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-005.md): Retired: doctor no longer reads /status, so it cannot detect a missing venue field. - [E-LIVE-006](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-006.md): Retired: doctor no longer loads your app's root page, so it cannot see it crash. - [E-LIVE-007](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-007.md): Retired: E2B_API_KEY alone no longer selects an execution venue, so this check has nothing left to catch. - [E-LIVE-008](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-live-008.md): Retired: the generic records.* store family this warning covered was replaced by engine.*, and an app's own data by its own SQL database. - [E-AUTH-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-001.md): Retired: doctor no longer posts a credential probe to your host, so it cannot see credentials get stripped. - [E-AUTH-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-002.md): Retired: doctor no longer runs the present-credential probe, so it cannot be unreachable. - [E-AUTH-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-003.md): Retired: doctor no longer needs a running app, so no check is blocked by a stopped one. - [E-AUTH-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-004.md): Retired: doctor no longer mints an actAs credential or verifies it against your host. - [E-AUTH-005](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-005.md): Retired: doctor no longer runs the actAs probe, so it cannot be unreachable. - [E-AUTH-006](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-006.md): Retired: doctor no longer needs a running app, so no check is blocked by a stopped one. - [E-AUTH-007](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-007.md): Retired: doctor no longer asks the running composition whether an actAs seam is wired. - [E-AUTH-008](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-008.md): Retired: doctor no longer sends a synthetic principal to your actAs seam. - [E-AUTH-009](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-009.md): supabase() is wired but neither SUPABASE_JWT_SECRET nor SUPABASE_URL is set. - [E-AUTH-010](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-auth-010.md): clerk() is wired but neither CLERK_SECRET_KEY nor CLERK_JWT_KEY is set. - [E-MCP-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-001.md): Retired: doctor no longer fetches the door's protected-resource metadata over HTTP. - [E-MCP-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-002.md): Retired: doctor no longer fetches the door's authorization-server metadata over HTTP. - [E-MCP-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-003.md): Retired: doctor no longer fetches the MCP server card over HTTP. - [E-MCP-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-004.md): server.json does not meet MCP registry discovery requirements. - [E-MCP-005](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-005.md): Retired: doctor no longer discovers the live door, so it has nothing to compare server.json against. - [E-MCP-006](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-006.md): server.json is invalid JSON. - [E-MCP-007](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-007.md): The local MCP registry auth challenge is malformed. - [E-MCP-008](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-008.md): Retired: doctor no longer fetches the deployed registry auth challenge. - [E-MCP-009](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-009.md): The MCP door is wired but VENDO_BASE_URL is not set. - [E-MCP-010](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-mcp-010.md): A dev sign-in key is set alongside a Cloud key on an https deployment. - [E-SCHED-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-sched-001.md): Retired: doctor no longer reads the live machines route to see whether a schedule caller exists. - [E-TURN-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-turn-001.md): Retired: doctor no longer posts a real model turn, so it cannot see one go unanswered. - [E-TURN-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-turn-002.md): Retired: doctor no longer needs a running app, so the model turn is never blocked. - [E-CLOUD-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-cloud-001.md): VENDO_API_KEY is set but not usable. - [E-MODEL-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-model-001.md): The key this install's models wiring reads is not set, so the agent cannot answer a turn. - [E-TOOLS-001](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tools-001.md): Every extracted host tool is disabled or excluded. - [E-TOOLS-002](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tools-002.md): The extracted tool surface is empty. - [E-TOOLS-003](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tools-003.md): Part of the tool catalog is ungraded, so it asks on every call. - [E-TOOLS-004](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tools-004.md): Part of the tool catalog declares no request or response shape. - [E-TOOLS-005](https://vendo-mintlify-24213046.mintlify.site/production/troubleshooting/e-tools-005.md): Some extracted host tools are off, so the agent will never offer them. - [vendo CLI](https://vendo-mintlify-24213046.mintlify.site/reference/cli.md): Every vendo command and every flag it accepts: init, login, doctor, sync, knowledge, mcp, cloud, and config. - [vendo init](https://vendo-mintlify-24213046.mintlify.site/reference/vendo-init.md): What vendo init scans, every file it writes, how framework and auth detection decide, and how --agent hands its questions to a coding agent. - [Uninstall](https://vendo-mintlify-24213046.mintlify.site/reference/uninstall.md): The full removal checklist for everything vendo init writes, the Cloud-side teardown, and the lighter resets that fix a broken install without removing anything. - [Server API](https://vendo-mintlify-24213046.mintlify.site/reference/server-api.md): Every server-side symbol: the createVendo composition and the Vendo handle, the /server exports, the tool-pack subpaths, and the @vendoai/vendo surface. - [Handler options](https://vendo-mintlify-24213046.mintlify.site/reference/handler-options.md): Every createVendo option and what it does, plus the nested blocks: models, auth, guard, mcp, apps, profile, and sweep. - [Hooks](https://vendo-mintlify-24213046.mintlify.site/reference/hooks.md): Every headless React hook from @vendoai/vendo/ui: the shared read shape, opt-in polling, the per-hook write verbs, and the context accessors. - [HTTP routes](https://vendo-mintlify-24213046.mintlify.site/reference/http-routes.md): Every HTTP route the Vendo wire mounts under /api/vendo: method, body, response, and what authenticates it. - [Environment variables](https://vendo-mintlify-24213046.mintlify.site/reference/environment-variables.md): Every environment variable a Vendo host sets, what each one does, and where it belongs: the host process and the auth presets. - [.vendo directory](https://vendo-mintlify-24213046.mintlify.site/reference/dot-vendo.md): Every path inside .vendo, which tool writes it, its format constant, and whether a re-sync may overwrite it. - [Tool overrides](https://vendo-mintlify-24213046.mintlify.site/reference/tool-overrides.md): Every field .vendo/overrides.json accepts: per-tool corrections, compound tools, curated menus, and the descriptor fields defineTool does not ask for. ## Optional - [GitHub](https://github.com/runvendo/vendo)