Getting started
Dejo gives your AI agent a browser that remembers websites. The first time your agent does a task on a site, it explores and Dejo learns the route. Every time after that, the whole task is one tool call, with zero model calls.
Setup takes about a minute. You need Python 3.11 or newer.
1. Install Dejo
pip install dejo-mcp
playwright install chromium
The second command downloads the browser Dejo drives, about 150 MB. If you have Google Chrome installed, Dejo uses it, and falls back to this Chromium when it can't.
2. Add it to your agent
Dejo is one MCP server with no arguments. Pick your agent:
| agent | where | what to add |
|---|---|---|
| Claude Code | your terminal | claude mcp add --scope user dejo -- dejo-mcp |
| Codex | ~/.codex/config.toml | [mcp_servers.dejo] and command = "dejo-mcp" |
| Cursor | ~/.cursor/mcp.json | "dejo": { "command": "dejo-mcp" } under mcpServers |
| anything else | as a stdio server | the command dejo-mcp |
Step-by-step pages: Claude Code, Codex, Cursor.
3. Check the install
dejo doctor
It checks Python, the browser, the browser profile, the memory file and the downloads folder. Anything missing is named, with the command that fixes it. The last line says Everything Dejo needs is here. when you are ready.
4. Ask for something on a website
Start a new chat with your agent and ask in your own words:
Go to github.com/microsoft/playwright and tell me how many open issues it has.
The first time, your agent explores the site and saves the route. Ask again, in a new chat, and it is one dejo_run call: no page reading, no reasoning.
What happens on each run
- Your agent calls
dejo_runfirst, for any website task. - Known task: Dejo replays the saved route and returns the answer. Every step has a check that proves it landed.
- New site or new task: Dejo says so. Your agent explores with
dejo_actanddejo_read, then callsdejo_save. The route is stored. - The site changed: Dejo stops at the one step that broke and shows your agent the controls that are on the page now. Your agent picks one, calls
dejo_repair, and only that step is updated.
Where Dejo keeps things
Everything lives in one folder, ~/.dejo, on your machine:
| what | where |
|---|---|
| routes, site facts, page maps, history | ~/.dejo/memory.db, one SQLite file |
| signed-in browser profiles | ~/.dejo/browser-profile, ~/.dejo/profiles/ |
| downloads | ~/.dejo/downloads |
| passwords, if you choose to keep them in a file | ~/.dejo/secrets.json |
To make Dejo forget a site completely:
dejo forget --site github.com
The next run says the memory is gone. It does not quietly fall back to guessing.
Next steps
- Keep your agent signed in to sites that need a login.
- See every tool your agent gets.
- Read the benchmark: 52% fewer tool calls than Playwright MCP over 90 fresh Claude sessions.
FAQ
Do I need an API key or an account?
No. Dejo never calls a model. Your agent does the thinking, and the memory is a local file on your machine.
Which agents work with Dejo?
Any agent that can run an MCP server. Dejo is one stdio server with no arguments. It has been set up with Claude Code, Codex and Cursor in these docs.
Which operating systems does it run on?
Windows, macOS and Linux. Every change is tested on all three.