The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Onepassword Agent MCP listing page.
Local MCP access to approved 1Password items and profile data for AI agents.
npm package · setup guide · security model · uninstall guide
Agents receive encrypted local handles, not plaintext 1Password secrets. At the moment of copy or paste, the MCP resolves the selected field locally through the 1Password CLI and sends it to the OS clipboard or active app.
The repo contains no personal 1Password data. Every install connects to that user's own 1Password CLI and local approval policy.
Not affiliated with or endorsed by 1Password.
MCPVAULT.MCPVAULT.MCPVAULT fields for specific websites.The MCP tools only expose approved fields from the configured agent vault. The local profile-data section can also expose user-entered values such as email, phone, address, name, and company.
Install from npm:
Run the friendly installer. It detects supported MCP clients, shows what it found, and asks before changing their user configuration. On macOS it separately offers the optional visible menu-bar shortcut:
Or install from GitHub:
Prefer explicit commands? Check your setup and connect clients manually:
Connect every detected MCP client with one command:
Start the local console:
Open:
Full walkthrough: docs/USER_GUIDE.md
Uninstall guide: docs/UNINSTALL.md
No. Installing the npm package itself adds commands only. It does not install a launch agent, daemon, background service, startup item, browser extension, or hidden resident process.
onepassword-agent-mcp admin runs the local approval console only while that terminal process is alive.onepassword-agent-mcp mcp is a stdio MCP server. MCP clients such as Claude Code, Codex, or VS Code launch it as a child process when they need it.onepassword-agent-mcp setup ... --apply only writes MCP client configuration. Existing JSON files are backed up before a merge.~/.onepassword-mcp.You can see this explanation any time:
On macOS, the guided installer can add a clearly labeled 1P item to the menu bar. You can also enable it later under Mac Menu Bar Shortcut in the local admin page.
The companion is built locally from the readable Swift source in native/MenuBarApp.swift. No opaque app binary is shipped in the npm package. The generated app uses the project's teal shield logo, is placed at ~/Applications/1Password Agent MCP.app, and never asks for administrator access.
Manual controls:
Use menubar remove to close the visible shortcut without uninstalling it, and menubar launch to show it again. Use menubar install after uninstalling it. The local admin page offers the same installation controls under Mac Menu Bar Shortcut while the admin console is running.
The menu contains Open Admin Console, Stop Admin Console, Launch Menu Bar at Login, Remove From Menu Bar, and Uninstall Menu Bar Shortcut. Open Admin Console starts the console when needed and then opens it, so there is no separate Start action. Remove From Menu Bar only closes the visible helper; it stays installed and can be reopened. Uninstall Menu Bar Shortcut removes the helper and its login item after confirmation. Neither action changes MCP client configuration, local approvals, MCPVAULT, or 1Password items.
The admin console itself has explicit process controls:
op)OP_SERVICE_ACCOUNT_TOKENmacOS:
Enable the 1Password desktop integration:
The console is a simple left-to-right vault flow:
MCPVAULT exists and can create it.MCPVAULT area. Drag an item from the left list onto it, then choose Copy or Move.MCPVAULT.Copy is the safe default. Copy now uses 1Password's revealed JSON clone pipe so the destination item keeps the original fields. Move is available, but 1Password creates a new item in the destination vault and deletes the original item from the source vault.
After copying, nothing is shared with agents yet. In All Fields, copied items stay compact so the page remains easy to scan. Click Review Details on an item, tick only the details the agent may use, then click Approve Selected. Credit cards show normal checkout details separately from sensitive details like CVV or PIN. Blank allowed-sites fields mean the approved item may be used on all URLs. Items in MCPVAULT can also be deleted from the approval console after a confirmation prompt.
When agents are allowed to create new credentials, those items are saved into MCPVAULT first. In Approve Agent Items, open the saved item and use Save this item to another vault to copy or move it into a normal 1Password vault. Copy keeps the agent-vault version. Move removes it from MCPVAULT and removes local approvals for that copied item.
The setup CLI prints a dry run by default. It detects Claude Code, Claude Desktop, Codex, VS Code, Xcode coding agents, and Raycast AI when they are installed:
Apply setup to every detected client:
The command uses absolute executable paths so GUI apps do not depend on Terminal's PATH. Claude Desktop and VS Code JSON are merged with timestamped backups. Xcode's private Codex and Claude configuration folders are handled separately because Xcode does not use the normal CLI configuration.
Raycast stores MCP configuration in app-managed storage and does not expose a supported external config writer. The CLI opens Raycast's official Import Servers screen; review the prepared entry and confirm it once in Raycast. This is the only interactive client-specific step.
Equivalent command:
Equivalent command:
Equivalent VS Code command:
Workspace fallback at .vscode/mcp.json:
The CLI safely merges the server into Claude Desktop's user JSON and preserves all other settings.
This configures the isolated Codex and Claude Agent environments used only inside Xcode.
Raycast opens its native import screen for the final confirmation. Raycast asks before MCP tool calls by default.
ChatGPT Desktop is intentionally not included in local setup. ChatGPT currently connects to remote MCP servers rather than arbitrary local stdio commands. Do not expose this password bridge through a public tunnel merely to connect it.
Print generic MCP JSON:
Generic config:
Stop the local approval console by pressing Ctrl-C in the terminal running:
Disconnect MCP clients:
The uninstall command removes its entries from Claude Code, Claude Desktop, Codex, VS Code, and Xcode where present, then removes the optional menu-bar app/login item. Raycast opens Manage Servers for an explicit removal because its settings are app-managed. Other client settings and all 1Password data remain untouched.
Remove the global npm package:
Optional: delete this app's local approvals and encryption key:
This deletes ~/.onepassword-mcp. It does not delete 1Password vaults or items. Delete MCPVAULT inside 1Password only if you intentionally want to remove that vault.
onepassword_status: check CLI, MCPVAULT, local approvals, profile data, and settings.find_secrets_for_site: return approved encrypted handles for a website.list_approved_secrets: list approved handles and allowed sites.copy_secret: resolve a handle and copy the selected field to the clipboard.paste_secret: resolve a handle, copy it, paste into the active app, and return no plaintext.clear_secret_clipboard: clear the clipboard.save_secret_item: save a new login, password, API credential, secure note, or credit card into MCPVAULT when the local save setting is enabled.get_profile_data: return user-defined profile data allowed for the current site.find_passwords_for_site, list_approved_passwords, copy_password, paste_password, and clear_password_clipboard: compatibility aliases.admin_ui_info: return the approval console URL.Protected:
Still sensitive:
get_profile_data returns plaintext profile values you explicitly added in the admin UI.For the strictest boundary, use a 1Password service account scoped only to MCPVAULT.
Read docs/SECURITY.md before using this with powerful browser-control agents.
Default state location:
Use a different state directory:
Use a different agent vault name:
Headless service-account example:
Do not commit service account tokens.
Run:
Common fixes:
op missing: install the 1Password CLI.OP_SERVICE_ACCOUNT_TOKEN.MCPVAULT missing: start the admin console and click Create MCPVAULT.code: install the VS Code shell command or use .vscode/mcp.json.onepassword-agent-mcp admin.Clone the repo:
Run checks:
Run locally:
Maintainer releases are automated through GitHub Actions with short-lived OIDC credentials. See docs/RELEASING.md; local npm publish and repeated device authorization are not part of the release process.
MIT
save_secret_item reports created, verified, itemId, vaultId, and
operationId. Success requires a readback that matches the intended title,
category, destination, websites, and field values. Secret values are compared
locally and are never included in the result. The optional approvalStatus
is separate: an item can be saved and verified while its approval still needs
review in the admin UI.
Reuse the same requestId and input after an interrupted save. If omitted,
identical item contents in the same destination are deduplicated. Supply a new
requestId only to intentionally create another item. Recovery uses a unique
opmcp-… item tag and a local operation record, never a title match. If a previous
operation cannot be reconciled, the tool reports an unresolved result instead
of silently creating another item. An approval revoked by the user is never
reinstated by a save retry.
On macOS and Linux, JSON crosses an OS pipe with no plaintext temporary files or secret values in command arguments. The runner preserves the terminal session for 1Password authorization and cleans up its child process group on timeout or cancellation. Copy reads and verifies supported JSON fields, including concealed values. Items containing attachments, documents, or passkeys must be copied using the 1Password app.
Restart existing MCP clients and the admin console after updating so every writer uses the current policy locking and save verification code. Existing settings, approvals, and the encryption key are retained.
The final command tests all five categories using real CLI dry runs. Unlock 1Password and authorize CLI access when prompted. To additionally test actual MCP saves, exact readback, retry deduplication, and copy, run:
This requires the saved agent-creation setting. It creates uniquely tagged
synthetic fixtures in the configured agent vault, verifies them, then moves
those exact fixtures to Recently Deleted. It uses isolated local policy state.
If verification or cleanup fails, it prints the recovery state directory and
retains it for inspection. doctor checks CLI authorization, destination
visibility, local creation permission, and console liveness; it does not
perform save/copy validation.