# onepassword

MCP server that reads and writes 1Password vault data via CLI. The agent can pull credentials, create new items, or mint share links.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 81
- Author: pulsemcp
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/pulsemcp/mcp-servers/tree/HEAD/experimental/onepassword
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/mcp/onepassword

## What it does

The server runs through 1Password CLI (`op`) and requires a service account token for auth. It lists vaults, searches items by tag, fetches metadata and full fields of logins, API keys, and secure notes. Creates new items — logins, secure notes, API credentials — and generates temporary share links for existing entries.

By default, requests for secret fields (`onepassword_get_item`) require user confirmation via an elicitation prompt. For non-sensitive reads there's `onepassword_get_item_metadata`, which returns titles, field names, tags, and vault without asking for approval. Write operations run without confirmation: these tools only add data, they do not overwrite or delete. Individual items can be whitelisted via `OP_WHITELISTED_ITEMS` — by title or ID — to skip the prompt on reads.

Without the `op` CLI in `PATH` and a service account token in `OP_SERVICE_ACCOUNT_TOKEN`, the server will not start. The `ENABLED_TOOLGROUPS` variable restricts the toolset: `readonly` enables only reads, `readonly,write` enables everything. The server refuses to start if elicitation is not configured (HTTP fallback URLs) and the `DANGEROUSLY_SKIP_ELICITATIONS=true` flag is not set.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OP_SERVICE_ACCOUNT_TOKEN`, `ENABLED_TOOLGROUPS`, `SKIP_HEALTH_CHECKS`, `DANGEROUSLY_SKIP_ELICITATIONS`, `OP_ELICITATION_READ`, `OP_ELICITATION_WRITE`, `OP_WHITELISTED_ITEMS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OP_SERVICE_ACCOUNT_TOKEN=<OP_SERVICE_ACCOUNT_TOKEN> --env ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> --env SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> --env DANGEROUSLY_SKIP_ELICITATIONS=<DANGEROUSLY_SKIP_ELICITATIONS> --env OP_ELICITATION_READ=<OP_ELICITATION_READ> --transport stdio onepassword -- npx -y onepassword-mcp-server
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add onepassword --env OP_SERVICE_ACCOUNT_TOKEN=<OP_SERVICE_ACCOUNT_TOKEN> --env ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> --env SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> --env DANGEROUSLY_SKIP_ELICITATIONS=<DANGEROUSLY_SKIP_ELICITATIONS> --env OP_ELICITATION_READ=<OP_ELICITATION_READ> -- npx -y onepassword-mcp-server
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "onepassword": {
            "command": "npx",
            "args": [
                "-y",
                "onepassword-mcp-server"
            ],
            "env": {
                "OP_SERVICE_ACCOUNT_TOKEN": "<OP_SERVICE_ACCOUNT_TOKEN>",
                "ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>",
                "SKIP_HEALTH_CHECKS": "<SKIP_HEALTH_CHECKS>",
                "DANGEROUSLY_SKIP_ELICITATIONS": "<DANGEROUSLY_SKIP_ELICITATIONS>",
                "OP_ELICITATION_READ": "<OP_ELICITATION_READ>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "onepassword": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "onepassword-mcp-server"
            ],
            "env": {
                "OP_SERVICE_ACCOUNT_TOKEN": "<OP_SERVICE_ACCOUNT_TOKEN>",
                "ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>",
                "SKIP_HEALTH_CHECKS": "<SKIP_HEALTH_CHECKS>",
                "DANGEROUSLY_SKIP_ELICITATIONS": "<DANGEROUSLY_SKIP_ELICITATIONS>",
                "OP_ELICITATION_READ": "<OP_ELICITATION_READ>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OP_SERVICE_ACCOUNT_TOKEN=<OP_SERVICE_ACCOUNT_TOKEN> -e ENABLED_TOOLGROUPS=<ENABLED_TOOLGROUPS> -e SKIP_HEALTH_CHECKS=<SKIP_HEALTH_CHECKS> -e DANGEROUSLY_SKIP_ELICITATIONS=<DANGEROUSLY_SKIP_ELICITATIONS> -e OP_ELICITATION_READ=<OP_ELICITATION_READ> onepassword npx -y onepassword-mcp-server
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- Pull a password or API key from 1Password during an agent workflow
- Write new credentials into a vault without manual copy-paste
- Generate a temporary share link for a 1Password item to hand off to a colleague
- Find all items tagged with a specific label in the vault
- Let the agent read from the vault while blocking create and share operations

## Example prompts
- Find the staging API login in 1Password
- Create a new login in the Private vault for admin@example.com with password xyz123
- Generate a share link for the Database Credentials item so I can send it to the developer

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/en/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP server · ★ 7658
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2061
- [OpenOSINT](https://affpapa.org/en/nevibecode/mcp/openosint.md) — MCP server · ★ 1802

From the same set: [pulsemcp/mcp-servers](https://affpapa.org/en/nevibecode/by/pulsemcp/mcp-servers.md) — 17 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
