Auth Your Agent: let AI agents act for a person on websites, with the person's approval on their phone. Take over lets the owner drive a stuck agent's browser from their phone.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add authyouragent -- npx -y authyouragent-mcp{
"mcpServers": {
"authyouragent": {
"command": "npx",
"args": ["-y", "authyouragent-mcp"]
}
}
}MCP Servers overview
# Auth Your Agent
An open-source MCP server that lets an AI agent act for a person on websites, with the person's approval on their phone.
The agent drives a sandboxed browser (the **vault**) that runs on the person's own machine. When a site asks for a password, a CAPTCHA or a 2FA code, the person takes over that browser from their phone, signs in, and hands it back. The agent never sees the password and never holds the cookies. When the task is done, the vault signs out of every site it used, then destroys the browser profile.
Website: [authyouragent.com](https://authyouragent.com) · License: [MIT](LICENSE)
## What is in this repository
The MCP server, the browser vault and the SDKs:
| Path | What it is |
|---|---|
| [`sdk/authyouragent/mcp_server.py`](sdk/authyouragent/mcp_server.py) | **The MCP server** (stdio, 22 tools). Entry point `authyouragent-mcp`. |
| [`vault/`](vault/) | **The browser vault**: [`broker.py`](vault/broker.py) (HTTP API the MCP server calls; drives Chromium, detects sign-in, signs out), [`egress.py`](vault/egress.py) (public-internet-only proxy), [`screen.py`](vault/screen.py) (phone screen stream), [`seccomp.json`](vault/seccomp.json), [`chromium-policy.json`](vault/chromium-policy.json), [`Dockerfile`](vault/Dockerfile). Details: [vault/README.md](vault/README.md). |
| [`sdk/authyouragent/vault_cli.py`](sdk/authyouragent/vault_cli.py) | `authyouragent vault up/down/status/env`: runs the vault with every protection on. |
| [`sdk/authyouragent/`](sdk/authyouragent/) | Python SDK: agent side ([`agent.py`](sdk/authyouragent/agent.py)), website side ([`site.py`](sdk/authyouragent/site.py)), take-over helper for your own Playwright browser ([`takeover.py`](sdk/authyouragent/takeover.py)). |
| [`sdk-js/`](sdk-js/) | JavaScript SDK, and [`npm-wrapper/`](sdk-js/npm-wrapper/) so Node clients can start the MCP server with `npx authyouragent-mcp`. |
| [`Dockerfile`](Dockerfile) | Container for the MCP server alone. |
The phone app and the approval service run at authyouragent.com. The agent signs its requests with its own key pair; the service never receives the person's passwords.
## MCP tools
| Tool | What it does |
|---|---|
| `navigate`, `click`, `type_text`, `read_page` | Drive the vault's browser. Only public websites open. Clicks that submit a form, or whose button says create, send, save, delete, pay and the like, ask the owner's phone first. |
| `list_secrets`, `fill_secret` | Fill a username, password or authenticator code from the owner's Bitwarden or Vaultwarden into the page. The agent never sees the value; it fills only on the item's own site and only the right kind of field. |
| `check_login_wall` | Is the page blocked by a password, CAPTCHA, one-time code or sign-in approval? Reads the page's fields and text, so the model needs no vision. |
| `request_takeover` | Ask the owner to take over the browser from their phone. Returns `done`, `cancelled`, `expired`, `incomplete`, or `waiting`. |
| `wait_for_takeover` | Keep waiting after `waiting`. |
| `request_approval` | Ask the owner to approve an action. `approved`, `denied` or `expired`. |
| `notify_owner` | A one-way note to the owner's phone: done, stuck, or what failed. Nothing to approve. |
| `submit_plan`, `plan_status` | For a scheduled task: the owner pre-approves its steps once; matching clicks then go through without a card. A step not answered in time is skipped with the steps chained to it; the rest carries on. |
| `end_session` | Sign out of every site used, then destroy the browser profile. Reports per site whether sign-out was confirmed. The vault then sends the owner its own summary of the session. |
| `check_agent_status` | `active` or `revoked`. |
| `report_site` | Report a site where take over did not work. |
## Run it
From PyPI:
```bash
pip install "authyouragent[mcp]"
authyouragent vault up --agent-id ag_... --key /path/to/agent-key.pem
```
From this repository:
```bash
git clone https://github.com/kjames2001/authyouragent && cd authyouragent
pip install "./sdk[mcp]"
docker build -f vault/Dockerfile -t authyouragent/vault:local .
authyouragent vault up --agent-id ag_... --key /path/to/agent-key.pem --image authyouragent/vault:local --no-pull
```
The vault needs Docker. `vault up` prints the MCP settings to add to your client. (If you skip `vault up`, the MCP server starts the vault itself the first time the agent needs the browser; `AYA_VAULT_AUTOSTART=0` turns that off.)
```json
{
"mcpServers": {
"authyouragent": {
"command": "authyouragent-mcp",
"env": {
"AYA_AGENT_ID": "ag_...",
"AYA_KEY_FILE": "/path/to/agent-key.pem",
"AYA_VAULT_URL": "http://127.0.0.1:7801",
"AYA_VAULT_TOKEN_FILE": "~/.authyouragent/vault/token"
}
}
}
}
```
Node clients can use `npx authyouragent-mcp` as the command. The agent ID and key come from adding the agent in the phone app (**Agents > Add an agent**). Without them the server still starts and lists its tools; each tool then says what is missing.
## Security
- Chromium's own sandbox is on (custom seccomp profile, all container capabilities dropped); gVisor is used automatically when Docker has the `runsc` runtime.
- The browser can reach only the public internet: loopback, private networks, cloud metadata addresses and the vault's own ports are refused, checked on the resolved address.
- The agent is disconnected while the owner is in control, and cannot read the browser's cookies.
- Sign out first, wipe second: at the end of a session, when the agent stops sending heartbeats, or when it is revoked. Sites the vault could not sign out of are reported to the owner, also after a crash.
Known limits are listed in [vault/README.md](vault/README.md).
## Scope: what Auth Your Agent does, and does not do
Auth Your Agent answers one question for a website: **who is acting, for whom, with what permission, and can it be withdrawn.** A feature belongs here if it grants, limits, proves or withdraws an agent's authority on a site. That covers approvals, sign-in for agents, step-ups in the site's own words, take over at a sign-in wall, signing out, and the vault's own record of what was done with the owner's authority.
It does not do:
- **Conversation with the agent.** No multiple-choice or free-text questions, chat or task updates beyond a short note. A card from Auth Your Agent is always about permission, so the owner never learns to tap through it like a chat prompt. Use a tool built for talking to agents (for example [Paseo](https://github.com/getpaseo/paseo)) alongside it.
- **Running or orchestrating agents.** It works with whichever agent you use; it does not start, schedule or supervise them.
- **Judging intent with AI.** Approval rules are fixed rules the owner can read. No model decides what is safe.
- **Getting past sites' defences.** No CAPTCHA solving or bot-detection evasion; the owner takes over instead.
- **Turning websites into tools.** Learning a site's API calls as MCP tools is a separate project built on top of the vault.
New features are checked against this list first.
## Documentation
- [For AI agents](https://authyouragent.com/docs/agents)
- [Take over developer guide](https://authyouragent.com/docs/developers/takeover)
- [Developer quickstart](https://authyouragent.com/docs/developers/quickstart)
- [How it works](https://authyouragent.com/how-it-works)
- [Changelog](CHANGELOG.md): what each release added or fixed
## Android app
Download from [authyouragent.com/download/android](https://authyouragent.com/download/android).
## License
[MIT](LICENSE)
What people ask about authyouragent
What is kjames2001/authyouragent?
+
kjames2001/authyouragent is mcp servers for the Claude AI ecosystem. Auth Your Agent: let AI agents act for a person on websites, with the person's approval on their phone. Take over lets the owner drive a stuck agent's browser from their phone. It has 2 GitHub stars and its last recorded update is dated 2026-10-05.
How do I install authyouragent?
+
You can install authyouragent by cloning the repository (https://github.com/kjames2001/authyouragent) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is kjames2001/authyouragent safe to use?
+
Our security agent has analyzed kjames2001/authyouragent and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains kjames2001/authyouragent?
+
kjames2001/authyouragent is maintained by kjames2001. The last recorded GitHub activity is dated 2026-10-05, with 0 open issues.
Are there alternatives to authyouragent?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy authyouragent to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/kjames2001-authyouragent)<a href="https://claudewave.com/repo/kjames2001-authyouragent"><img src="https://claudewave.com/api/badge/kjames2001-authyouragent" alt="Featured on ClaudeWave: kjames2001/authyouragent" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.