A side-by-side look at the 1password and Warden MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose 1password for security work as a local process; choose Warden MCP for security as a local process. You can also run both side by side in one mcpServers block.
OP_SERVICE_ACCOUNT_TOKEN, OP_KEYCHAIN_SERVICE, OP_KEYCHAIN_ACCOUNT.vault_list, item_lookup, item_delete.BW_HOST, BW_CLIENTID, BW_CLIENTSECRET, BW_USER, BW_PASSWORD, BW_BIN, KEYCHAIN_BW_HOME_ROOT, KEYCHAIN_ALLOW_ENV_FALLBACK.keychain_status, keychain_sync, keychain_search_items.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Security | Security |
| Quality signal | 56/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | Free |
| Required env vars | OP_SERVICE_ACCOUNT_TOKENOP_KEYCHAIN_SERVICEOP_KEYCHAIN_ACCOUNT | BW_HOSTBW_CLIENTIDBW_CLIENTSECRETBW_USERBW_PASSWORDBW_BINKEYCHAIN_BW_HOME_ROOTKEYCHAIN_ALLOW_ENV_FALLBACK |
| Verified owner | Community listing | Community listing |
| GitHub stars | 21 | 20 |
| Directory activity | 2 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 15 | 4 |
| Full listing | View 1password | View Warden MCP |
vault_listList the 1Password vaults accessible to the service account (limited to the allow-listed vaults when OP_MCP_ALLOWED_VAULTS / --allowed-vaults is configured). Returns vault IDs, names, descriptions, and types.item_lookupSearch for items within a 1Password vault by title substring. Returns item IDs, titles, categories, and vault IDs.item_deletePermanently delete an item from a 1Password vault. This action cannot be undone.item_getRetrieve a full 1Password item — title, category, tags, notes, and all fields (id, title, type, section). Secret-bearing field values (passwords and other concealed fields, SSH private keys, one-time-password seeds, card numbers) are hidden unless reveal is true; only known non-secret types (text, URL, email, phone, date, menu, card type, address, reference) are shown by default. Accepts a secret reference (op://vault/item/field) or vault ID + item ID. Revealing a secret puts it in the model context/transcript — to USE a secret in a command or API call, prefer op_run with op:// references instead.item_editEdit an existing 1Password item. Update the title, notes (pass an empty string to clear notes), tags, website URL, upsert fields, or remove fields. Only referenced fields are changed; all others are preserved.item_listList all items in a 1Password vault, returning id, title, category, tags, and updatedAt for each. Never returns secret values.item_archiveArchive an item in a 1Password vault. The item is moved to the archive and hidden from regular views, rather than being permanently deleted.note_createCreate a Secure Note item in a 1Password vault, with optional tags and custom fields.password_createCreate a new password/login item in a 1Password vault with optional username, URL, tags, and notes.password_readRetrieve a secret from 1Password using either a secret reference (op://vault/item/field) or vault ID + item ID. Supports field selection and optional value reveal (defaults to metadata-only). Revealing a secret puts it in the model context/transcript — to USE a secret in a command or API call, prefer op_run with op:// references instead.password_updateUpdate (rotate) a password or concealed field on an existing 1Password item. If the target field does not exist, it will be created.password_generateGenerate a cryptographically secure random password with configurable length and character types. Uses rejection sampling for unbiased randomness.keychain_statusinspect raw `bw` statuskeychain_syncpull latest vault data with `bw sync`keychain_search_itemsfind items by name, URI, username, folder,keychain_get_itemread a full item by id, redacted by defaultPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"1password": {
"command": "npx",
"args": [
"-y",
"@takescake/1password-mcp"
],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "YOUR_OP_SERVICE_ACCOUNT_TOKEN_HERE",
"OP_KEYCHAIN_SERVICE": "YOUR_OP_KEYCHAIN_SERVICE_HERE",
"OP_KEYCHAIN_ACCOUNT": "YOUR_OP_KEYCHAIN_ACCOUNT_HERE"
}
}
}
}
{
"mcpServers": {
"icoretech-warden-mcp": {
"command": "npx",
"args": [
"-y",
"@icoretech/warden-mcp@latest"
],
"env": {
"BW_HOST": "YOUR_BW_HOST_HERE",
"BW_CLIENTID": "YOUR_BW_CLIENTID_HERE",
"BW_CLIENTSECRET": "YOUR_BW_CLIENTSECRET_HERE",
"BW_USER": "YOUR_BW_USER_HERE",
"BW_PASSWORD": "YOUR_BW_PASSWORD_HERE",
"BW_BIN": "YOUR_BW_BIN_HERE",
"KEYCHAIN_BW_HOME_ROOT": "YOUR_KEYCHAIN_BW_HOME_ROOT_HERE",
"KEYCHAIN_ALLOW_ENV_FALLBACK": "YOUR_KEYCHAIN_ALLOW_ENV_FALLBACK_HERE"
}
}
}
}