op-mcp
op-mcp
MCP-сервер, который является оберткой для 1Password CLI (op), предоставляя MCP-клиентам (Cowork, Claude Code, Claude Desktop) доступ к секретам и управлению элементами.
Архитектура
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 vaultsPython-сервер намеренно сделан «тонким». Каждый обработчик инструментов вызывает CLI op и либо анализирует JSON, либо возвращает «сырой» вывод. CLI берет на себя биометрическую аутентификацию, кэширование сессий и весь доступ к хранилищу. Python-часть отвечает за протокол MCP и формирование аргументов командной строки.
Эта архитектура по своей сути является stateless: каждый вызов инструмента запускает новый процесс CLI. op кэширует свою сессию внутри настольного приложения 1Password — мы не управляем сессиями, токенами или учетными данными. Полное обоснование см. в docs/design-notes.md.
Related MCP server: @1claw/mcp
Предварительные требования
Python 3.11 или новее.
Установленный
opCLI, доступный в PATH. Установка через Homebrew:brew install --cask 1password-cli(протестировано с v2.33.1).Установленное настольное приложение 1Password и включенная интеграция с CLI: 1Password → Настройки → Разработчикам → ✓ «Интегрировать с 1Password CLI».
Включенный Touch ID для авторизации CLI (в той же панели настроек).
Установка
uv tool install .Это создает изолированную venv и добавляет op-mcp в PATH. Для обновления после внесения изменений в код:
uv tool install --force .--force перезаписывает существующую точку входа и пересобирает проект из исходного кода. (--reinstall повторно загружает зависимости PyPI — для локальной установки это не требуется.)
Запуск
Сервер обменивается данными через stdio, поэтому обычно он запускается MCP-клиентом, а не вручную. Для локального тестирования:
op-mcpСервер записывает логи в stderr и ожидает сообщения протокола MCP на stdin. Нажмите Ctrl-C для выхода.
Настройка MCP-клиента
Claude Desktop: Настройки → Коннекторы → Добавить → введите op-mcp в качестве команды. Или отредактируйте claude_desktop_config.json напрямую:
{
"mcpServers": {
"op": {
"command": "op-mcp"
}
}
}Claude Code: Добавьте в .mcp.json (проект) или ~/.claude/mcp.json (глобально) с той же структурой.
Cowork: Добавьте через конфигурацию MCP-сервера в Cowork.
Рекомендуемые разрешения
Чтение можно разрешить без ограничений; для записи следует запрашивать подтверждение.
{
"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"
]
}
}Разработка
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 changesТесты используют фиктивный бинарный файл op (временные shell-скрипты), поэтому они не требуют реального CLI или доступа к 1Password. «Живые» тесты (помеченные @pytest.mark.live) запускаются с реальным CLI, требуют Touch ID и по умолчанию пропускаются.
Инструменты
Всего 10 инструментов: 3 инфраструктурных, 4 для чтения, 3 для записи.
Инфраструктурные
Инструмент | Описание |
| Проверка работоспособности MCP-сервера |
| Версия бинарного файла |
| Текущая аутентифицированная учетная запись 1Password |
Инструменты для чтения
Инструмент | Описание |
| Список всех доступных хранилищ (имена и ID) |
| Получение всех полей элемента по имени или ID |
| Чтение секрета по ссылке |
| Список элементов в хранилище (или во всех хранилищах) |
Инструменты для записи
Инструмент | Описание |
| Создание нового элемента |
| Редактирование существующего элемента |
| Архивация или безвозвратное удаление элемента |
Вне области применения (на данный момент)
op signin/op signout— управление сессиями является задачейop.op document/op vault— добавим, когда появятся соответствующие сценарии использования.op inject/op run— внедрение шаблонов и загрузка переменных окружения являются удобными функциями командной строки, не имеющими прямого аналога в MCP.Токены сервисных аккаунтов — этот сервер предполагает использование биометрической аутентификации на рабочем столе.
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