
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
@otpilot/mcp
Advanced tools
OTPilot for AI agents: let Claude Code, Codex, Cursor or any MCP agent sign in and run commands with the accounts you allow — without ever seeing the passwords or 2FA codes.
@otpilot/mcp)Let Claude Code, Codex, Cursor or any MCP agent sign in to websites and run commands with your passwords and 2FA codes — without the agent ever seeing them. You choose which accounts each agent may use, in the OTPilot browser extension.
npx -y @otpilot/mcp@latest connect
Claude Code plugin (the MCP server plus a skill that teaches Claude to use it):
/plugin install otpilot --marketplace OTPilot/OTPilot
(Before Claude Code 2.1.275: /plugin marketplace add OTPilot/OTPilot, then /plugin install otpilot@otpilot.)
then connect it once: npx -y @otpilot/mcp@latest connect --name "Claude Code".
Or add the server to your agent yourself (connect prints these for you):
| Agent | |
|---|---|
| Claude Code | claude mcp add otpilot -- npx -y @otpilot/mcp@latest |
| Codex | ~/.codex/config.toml: [mcp_servers.otpilot] command = "npx" args = ["-y", "@otpilot/mcp@latest"] |
| Cursor | ~/.cursor/mcp.json: { "mcpServers": { "otpilot": { "command": "npx", "args": ["-y", "@otpilot/mcp@latest"] } } } |
For Codex and other agents that read AGENTS.md, add a line so they reach for it: "For passwords, 2FA codes, API keys or any login, use the otpilot MCP tools (list_accounts, browser_login, run); never ask me to paste a secret."
Each agent is its own identity, approved on its own: connect Claude Code and Codex separately (connect --name Codex), and add --profile <name> as connect shows.
Run it where the agent runs — your laptop, a VPS, a container. On a server without a browser, skip the opener and open the printed link on any device signed in to OTPilot, then approve it in the extension if the codes match:
npx -y @otpilot/mcp@latest connect --name VPS --no-open
npx -y @otpilot/mcp@latest --profile vps # what the agent runs
npx playwright install --with-deps chromium # only for browser_login without Chrome
With no keychain (a bare Linux box) the credentials go to ~/.config/otpilot/mcp-<profile>.json (0600): the accounts you allow are opened on that machine, so connect only machines you trust — whoever has root there can use them.
| Tool | What the agent gets |
|---|---|
list_accounts | The accounts it may use, by name and site |
request_access(query, reason) | Asks you for another account; you pick it in the extension |
browser_login(account, url?) | OTPilot signs in (username, password, 2FA — only on the account's own site) and returns a Playwright storageState file with the session |
run(command, env) | Runs the command with secrets in its environment ({ "PGPASSWORD": "Staging DB/password" }, …/totp for a fresh 2FA code); output comes back with every secret removed |
check_request(request_id) | Whether you answered a request that was still waiting |
No tool returns a password, a 2FA code or any other value.
connect creates an ECDH P-256 keypair; the private key stays in your OS keychain. Each account you allow is a copy, holding only what you chose (just the 2FA code, the sign-in, or chosen fields), encrypted for that key in the extension. OTPilot's servers only see ciphertext.run then accepts only that program, called by name and resolved on the server's PATH (never from the working or temp directory), as a single command with no chaining or redirection — a guard against mistakes and simple tricks, not against an agent that can plant its own binary on your PATH.browser_login fills only on pages the account's saved sites cover.otpilot-mcp connect [--name "Claude Code"] [--profile p] [--no-open]
otpilot-mcp status [--profile p] # name, verification code, allowed accounts
otpilot-mcp disconnect [--profile p] # forget the credentials here (revoke it in the extension too)
otpilot-mcp [serve] [--profile p] # the MCP server (stdio) — what your agent runs
browser_login uses your installed Google Chrome (or Edge); without one, run npx playwright install chromium. Sessions are saved to .otpilot/ in the working directory: keep it out of git.
License: GPL-3.0. Source: github.com/OTPilot/OTPilot.
FAQs
OTPilot for AI agents: let Claude Code, Codex, Cursor or any MCP agent sign in and run commands with the accounts you allow — without ever seeing the passwords or 2FA codes.
The npm package @otpilot/mcp receives a total of 0 weekly downloads. As such, @otpilot/mcp popularity was classified as not popular.
We found that @otpilot/mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.