op-mcp
op-mcp
MCP-Server, der die 1Password CLI (op) kapselt und den Zugriff auf Geheimnisse sowie die Elementverwaltung für MCP-Clients (Cowork, Claude Code, Claude Desktop) bereitstellt.
Architektur
MCP client (Cowork, Claude Code, Claude Desktop)
↓ stdio (MCP protocol)
op-mcp (this Python server)
↓ subprocess per tool call
op CLI (1Password CLI)
↓ biometric prompt (Touch ID) + 1Password desktop app
1Password vaultsDer Python-Server ist bewusst schlank gehalten. Jeder Tool-Handler ruft die op-CLI auf und parst entweder JSON oder gibt die Rohausgabe zurück. Die CLI übernimmt die biometrische Authentifizierung, das Session-Caching und den gesamten Tresorzugriff. Die Python-Seite kümmert sich um das MCP-Protokoll und die Erstellung der Argumente.
Dieses Design ist konstruktionsbedingt zustandslos: Jeder Tool-Aufruf startet einen neuen CLI-Prozess. op speichert seine eigene Session innerhalb der 1Password-Desktop-App – wir verwalten keine Sessions, Tokens oder Anmeldedaten. Siehe docs/design-notes.md für die vollständige Begründung.
Related MCP server: @1claw/mcp
Voraussetzungen
Python 3.11 oder neuer
Die
op-CLI muss installiert und im PATH vorhanden sein. Installation via Homebrew:brew install --cask 1password-cli(getestet mit v2.33.1).Die 1Password-Desktop-App muss installiert sein und die CLI-Integration muss aktiviert sein: 1Password → Einstellungen → Entwickler → ✓ "Mit 1Password CLI integrieren".
Touch ID für die CLI-Autorisierung aktiviert (im selben Einstellungsbereich).
Installation
uv tool install .Dies erstellt ein isoliertes venv und fügt op-mcp zum PATH hinzu. Zum Aktualisieren nach Code-Änderungen:
uv tool install --force .--force überschreibt den bestehenden Einstiegspunkt und baut neu aus dem Quellcode. (--reinstall lädt PyPI-Abhängigkeiten neu herunter – für eine lokale Pfadinstallation nicht erforderlich.)
Ausführung
Der Server kommuniziert über stdio, daher wird er normalerweise von einem MCP-Client gestartet und nicht manuell aufgerufen. Für lokale Tests:
op-mcpDer Server protokolliert in stderr und wartet auf MCP-Protokollnachrichten auf stdin. Drücken Sie Strg-C zum Beenden.
Konfiguration eines MCP-Clients
Claude Desktop: Einstellungen → Connectors → Hinzufügen → op-mcp als Befehl eingeben. Oder bearbeiten Sie claude_desktop_config.json direkt:
{
"mcpServers": {
"op": {
"command": "op-mcp"
}
}
}Claude Code: Fügen Sie es zu .mcp.json (Projekt) oder ~/.claude/mcp.json (global) mit derselben Struktur hinzu.
Cowork: Über die MCP-Server-Konfiguration von Cowork hinzufügen.
Empfohlene Berechtigungen
Lesezugriffe sind sicher; Schreibzugriffe sollten eine Bestätigung erfordern.
{
"permissions": {
"allow": [
"mcp__op__op_ping",
"mcp__op__op_version",
"mcp__op__op_whoami",
"mcp__op__op_list_vaults",
"mcp__op__op_get_item",
"mcp__op__op_read_secret",
"mcp__op__op_list_items"
],
"ask": [
"mcp__op__op_create_item",
"mcp__op__op_edit_item",
"mcp__op__op_delete_item"
]
}
}Entwicklung
uv sync --extra dev
make test # uv run pytest (fake `op` binary)
RUN_LIVE_OP_TESTS=1 uv run pytest -m live # live tests against real op CLI
make lint # ruff + pyright
make install-mcp # reinstall after code changesTests verwenden eine gefälschte op-Binärdatei (temporäre Shell-Skripte), sodass sie weder die echte CLI noch 1Password-Zugriff erfordern. Live-Tests (markiert mit @pytest.mark.live) laufen gegen die echte CLI, lösen Touch ID aus und werden standardmäßig übersprungen.
Tools
Insgesamt 10 Tools: 3 Infrastruktur, 4 Lesen, 3 Schreiben.
Infrastruktur
Tool | Beschreibung |
| MCP-Server-Lebendigkeitsprüfung |
|
|
| Aktuell authentifiziertes 1Password-Konto |
Lese-Tools
Tool | Beschreibung |
| Alle zugänglichen Tresore auflisten (Namen und IDs) |
| Alle Felder eines Elements nach Name oder ID abrufen |
| Ein Geheimnis über die Referenz |
| Elemente in einem Tresor (oder über alle Tresore hinweg) auflisten |
Schreib-Tools
Tool | Beschreibung |
| Ein neues Element erstellen |
| Ein bestehendes Element bearbeiten |
| Ein Element archivieren oder dauerhaft löschen |
Außerhalb des Geltungsbereichs (vorerst)
op signin/op signout— Session-Management ist Aufgabe vonop.op document/op vault— Hinzufügen, wenn Anwendungsfälle entstehen.op inject/op run— Template-Injection und Umgebungs-Lade-Workflows sind Befehlszeilen-Annehmlichkeiten ohne sauberes MCP-Äquivalent.Service-Account-Tokens — dieser Server setzt biometrische Desktop-Authentifizierung voraus.
This server cannot be deployed
Maintenance
Related MCP Connectors
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseCqualityAmaintenanceAn MCP server that integrates 1Password with AI agents, providing secure access to vaults and items with secrets redacted by default.1611 npm1MIT

@1claw/mcpofficial
AlicenseAqualityBmaintenanceMCP server for secure, just-in-time secret retrieval from 1claw vault and malicious content inspection, enabling AI agents to access secrets and security analysis.1164 npm2MIT- FlicenseBqualityDmaintenanceMCP server that enables AI models to securely interact with a Bitwarden password manager vault via the rbw CLI.111-
- AlicenseAqualityCmaintenanceMCP server for secure AI agent access to Bitwarden/Vaultwarden vaults with BYOK, exposing tools to list items, reveal secrets via encrypted Sends, get TOTP codes, and save credentials.737 npmMIT