1Password MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OP_KEYCHAIN_ACCOUNT | No | The Keychain account name (optional, macOS only) | |
| OP_KEYCHAIN_SERVICE | No | The Keychain service name to retrieve the token from (macOS only) | |
| OP_SERVICE_ACCOUNT_TOKEN | No | Your 1Password Service Account token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vault_listA | List 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_lookupA | Search for items within a 1Password vault by title substring. Returns item IDs, titles, categories, and vault IDs. |
| item_deleteA | Permanently delete an item from a 1Password vault. This action cannot be undone. |
| item_getA | Retrieve 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_editA | Edit 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_listA | List all items in a 1Password vault, returning id, title, category, tags, and updatedAt for each. Never returns secret values. |
| item_archiveA | Archive an item in a 1Password vault. The item is moved to the archive and hidden from regular views, rather than being permanently deleted. |
| note_createA | Create a Secure Note item in a 1Password vault, with optional tags and custom fields. |
| password_createB | Create a new password/login item in a 1Password vault with optional username, URL, tags, and notes. |
| password_readA | Retrieve 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_updateA | Update (rotate) a password or concealed field on an existing 1Password item. If the target field does not exist, it will be created. |
| password_generateB | Generate a cryptographically secure random password with configurable length and character types. Uses rejection sampling for unbiased randomness. |
| password_generate_memorableA | Generate a memorable passphrase from random dictionary words with optional number and symbol suffixes. Uses a ~500-word curated list for good entropy. |
| op_runA | Run a local shell command with 1Password secrets injected as environment variables. Resolved values go only into the child process environment, are never logged by the server, and are redacted from stdout/stderr on a best-effort basis (including common encodings such as JSON, URL and base64) — a command that deliberately transforms or transmits a secret can still expose it. This is the preferred way to USE a secret in a command, API call, or script: prefer op_run with op://vault/item/field references in |
| op_check_refA | Validate an op://vault/item/field secret reference and return only non-secret metadata (vault name, item title, field label, field type) confirming it resolves — the field VALUE is never returned. Use this to check a reference is correct before using it with op_run; do not use password_read/item_get with reveal just to check a reference exists. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| generate-secure-password | Guide through generating a secure password with specific requirements |
| credential-rotation | Step-by-step workflow for rotating a credential stored in 1Password |
| vault-audit | Audit the contents of a 1Password vault — list all items with categories and metadata |
| secret-reference-helper | Help construct an op://vault/item/field secret reference from vault and item names |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| server-config | Current 1Password MCP server configuration (non-secret values only). |
| vault-list | List of the 1Password vaults accessible to the service account (limited to the allow-listed vaults when OP_MCP_ALLOWED_VAULTS / --allowed-vaults is configured). |
TDQS
Scored across 15 tools
Overlap among item_get, password_read, and op_check_ref: all accept secret references or vault+item inputs and return metadata or secret data, with only subtle distinctions (full item vs single secret vs validation). item_edit and password_update both modify fields, and the retrieval tools can be confused despite descriptions that attempt to steer usage.
Most tools follow a resource_action snake_case pattern (item_get, password_read, vault_list, note_create), which is readable and predictable. Minor deviations exist with op_run and op_check_ref using an op_ namespace and non-noun-verb phrasing, and password_generate_memorable extends the pattern.
15 tools is within the typical 3-15 range for a password manager integration, covering listing, reading, creating, editing, deleting, generating, and injecting secrets. It is slightly heavy due to overlapping retrieval tools, but each tool has a plausible role.
Core item lifecycle is well covered: list/search/get, create login and secure note, edit, update password, archive/delete, plus secret generation and op_run injection. Gaps remain in generic item creation for arbitrary 1Password categories and vault-level CRUD, but agents can work around most workflows.