Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for 1Password service accounts — tools and resources for vaults and credentials
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
OP_SERVICE_ACCOUNT_TOKEN, OP_KEYCHAIN_SERVICE, OP_KEYCHAIN_ACCOUNT「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"1password": {
"command": "npx",
"args": [
"-y",
"@takescake/1password-mcp"
],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "your-value",
"OP_KEYCHAIN_SERVICE": "your-value",
"OP_KEYCHAIN_ACCOUNT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add 1password --env OP_SERVICE_ACCOUNT_TOKEN=your-value --env OP_KEYCHAIN_SERVICE=your-value --env OP_KEYCHAIN_ACCOUNT=your-value -- npx -y @takescake/1password-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"1password": {
"command": "npx",
"args": [
"-y",
"@takescake/1password-mcp"
],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "your-value",
"OP_KEYCHAIN_SERVICE": "your-value",
"OP_KEYCHAIN_ACCOUNT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"1password": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@takescake/1password-mcp"
],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "your-value",
"OP_KEYCHAIN_SERVICE": "your-value",
"OP_KEYCHAIN_ACCOUNT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
OP_KEYCHAIN_SERVICE envOP_KEYCHAIN_ACCOUNT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント CakeRepository で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:OP_SERVICE_ACCOUNT_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.5.0)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Give your AI assistant a locked door to 1Password — not a pile of passwords in the chat.
@takescake/1password-mcp is a community Model Context Protocol (MCP) server. It lets Claude, Cursor, VS Code Copilot, OpenAI Codex, Gemini, and other MCP clients manage vaults and credentials through a 1Password Service Account.
Built on the MCP TypeScript SDK v2 with protocol negotiation for [2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28) (and legacy clients). Secrets stay in 1Password; agents prefer op:// references and op_run so plaintext never has to land in the model transcript.
Not an official 1Password product. Community-built, Apache 2.0 licensed.
| You are… | You get… |
|---|---|
| Not deeply technical | A one-time setup: create a service account, paste the token into your AI app’s MCP settings, then ask in plain English (“list my automation vault”, “rotate the staging DB password”). |
| An agent / LLM | Fifteen typed tools, four workflow prompts, three browsable resources, and clear rules: prefer `op_run` + `op://` over revealing secrets. |
| A developer / SRE | Full item CRUD, secure notes, password generation, vault allow-lists, Keychain token loading on macOS, and CI-friendly env config. |
password_read returns metadata, and item_get hides secret-bearing fields (passwords, SSH keys, OTP seeds, card numbers), unless you opt in with reveal: true.op://vault/item/field into a local command’s environment; resolved secrets are redacted from the returned stdout/stderr on a best-effort basis (including common encodings).onepassword://… URIs (no secrets in resource payloads).Grouped the way agents and humans actually use them.
| Tool | What it does |
|---|---|
vault_list | List vaults the service account can access (id, name, description, type), limited to the allow-list if one is set. |
item_lookup | Search a vault by title substring; optional limit (max 200). |
item_list | List every item in a vault (id, title, category, tags, updatedAt) — never secrets. |
| Tool | What it does |
|---|---|
item_get | Full item: title, category, tags, notes, fields. Secret-bearing values (passwords and other concealed fields, SSH private keys, OTP seeds, card numbers) stay hidden unless reveal: true; only known non-secret field types are shown. Notes are returned as-is. Accepts op://… or vaultId + itemId. |
password_read | Read one field (default password) via op://… or ids. Metadata-only unless `reveal: true`. Prefer op_run to *use* a secret. |
op_check_ref | Validate op://vault/item/field and return non-secret metadata only (vault, item, field). Never the value. |
| Tool | What it does |
|---|---|
password_create | Create a Login or Password item (username, URL, tags, notes). returnSecret defaults to false. |
note_create | Create a Secure Note with optional tags and custom fields. |
password_update | Rotate a password / concealed field (creates the field if missing). |
item_edit | Update title, notes (empty string clears), tags, URL; upsert or remove fields. Unreferenced fields stay untouched. |
password_generate | Cryptographically secure random password (length 8–128; symbols/numbers/uppercase toggles). |
password_generate_memorable | Memorable passphrase from a ~500-word list (word count, separator, number/symbol suffixes). |
| Tool | What it does |
|---|---|
op_run | Run a local command (command or argv) with env vars. Values matching op://… are resolved into the child process only; resolved secrets are redacted from returned output (best effort — see Security & privacy). Output is capped at 5 MiB per stream, and a timeout kills the whole process tree. Optional cwd, shell, timeout_ms, stdin. |
| Tool | What it does |
|---|---|
item_archive | Move an item to the archive (hidden from normal views). |
item_delete | Permanently delete an item — cannot be undone. |
| Prompt | When to use it |
|---|---|
generate-secure-password | Generate (random or memorable) and optionally store — without dumping the password into chat. |
credential-rotation | Find → verify access → generate → update → confirm op:// reference. |
vault-audit | Inventory a vault by category; flag duplicates / oddities — never reveal secrets. |
secret-reference-helper | Build a paste-ready op://vault/item/field from names. |
| URI | Contents |
|---|---|
onepassword://config | Non-secret server config (name, version, log level, token source, Node version). |
onepassword://vaults | JSON list of accessible vaults (limited to the allow-list if one is set). |
onepassword://vaults/{vaultId}/items | URI template (listed by resources/templates/list): JSON item metadata for one vault (no secret values). |
Upgrading from 4.x: resource URIs used to start with
1password://, which MCP clients could never read (a URI scheme can't start with a digit). Replace any hard-coded1password://URIs withonepassword://.
You need two things:
Automation or CI vault — not your personal banking vault).Add this to your MCP config (exact file depends on the app):
{
"mcpServers": { "1password": { "command": "npx", "args": ["-y", "@takescake/1password-mcp"], "env": { "OP_SERVICE_ACCOUNT_TOKEN": "YOUR_SERVICE_ACCOUNT_TOKEN" } } } }
Restart the app, then try: *“List my 1Password vaults.”*
Store the token in Keychain, then point the server at it:
{
"mcpServers": { "1password": { "command": "npx", "args": ["-y", "@takescake/1password-mcp"], "env": { "OP_KEYCHAIN_SERVICE": "op-service-account-claude-automation", "OP_KEYCHAIN_ACCOUNT": "your-macos-username" } } } }
Token resolution order: CLI (--service-account-token / --token) → OP_SERVICE_ACCOUNT_TOKEN → macOS Keychain. OP_KEYCHAIN_ACCOUNT is optional when the service name alone is unique. Avoid the CLI flags: command-line arguments are visible to other local processes, and the server logs a warning at startup if you use them.
Option A — token in config:
[mcp_servers."1password"]
command = "npx" args = ["-y", "@takescake/1password-mcp"]
[mcp_servers."1password".env] OP_SERVICE_ACCOUNT_TOKEN = "YOUR_SERVICE_ACCOUNT_TOKEN"
Option B *(recommended)* — config only names the env var:
[mcp_servers."1password"]
command = "npx" args = ["-y", "@takescake/1password-mcp"] env_vars = ["OP_SERVICE_ACCOUNT_TOKEN"]
Set OP_SERVICE_ACCOUNT_TOKEN in your shell or CI. Note: codex mcp add ... --env OP_SERVICE_ACCOUNT_TOKEN=... writes the secret into Codex config; prefer env_vars when you can.
On macOS you can omit the token env and use OP_KEYCHAIN_SERVICE (+ optional OP_KEYCHAIN_ACCOUNT) instead.
By default the server can use any vault the service account can see. To allow-list vaults:
{
"env": { "OP_SERVICE_ACCOUNT_TOKEN": "YOUR_SERVICE_ACCOUNT_TOKEN", "OP_MCP_ALLOWED_VAULTS": "Automation, CI" } }
Names or IDs work (case-insensitive). Same setting via --allowed-vaults. The allow-list applies server-wide, to every tool and resource that touches a vault, not only op_run / op_check_ref:
vault_list and onepassword://vaults show only allowed vaults.vaultId, and the onepassword://vaults/{vaultId}/items resource, must be given the vault’s ID (not its name); vaults outside the list are rejected.op:// references are checked both as written and by the vault they actually resolve to.vaults.list read (mind service-account rate limits), and the server fails closed if vaults can’t be listed.Upgrading from 4.0.3 or earlier? If you set this expecting it to affect only
op_run/op_check_ref, it now restricts everything.
This is defense in depth: scope the service account’s own vault access in 1Password first.
Follow this order every time:
vault_list → item_lookup / item_list (metadata only).op_check_ref — never reveal just to see if a path exists.op://vault/item/field in env.password_read / item_get + reveal: true only when the human explicitly needs the value in chat.password_generate → password_update (keep returnSecret: false unless asked).op_run sketch{
"argv": ["curl", "-sS", "https://api.example.com/health"], "env": { "API_TOKEN": "op://Automation/Example API/credential" }, "timeout_ms": 60000 }
Prefer argv over a shell command string when you can — fewer quoting surprises.
| Variable | Required | Description |
|---|---|---|
OP_SERVICE_ACCOUNT_TOKEN | Usually yes | Service account token. Not required on macOS if Keychain vars are set. |
OP_KEYCHAIN_SERVICE | No | macOS: Keychain service name for the token. |
OP_KEYCHAIN_ACCOUNT | No | macOS: optional account to narrow the Keychain lookup. |
OP_MCP_ALLOWED_VAULTS | No | Comma-separated vault names/IDs (case-insensitive) the server may use, enforced server-wide. Empty = unrestricted. |
| OP_INTEGRATION_NAME | No | Name reported to the 1Password SDK (def
冒頭だけを表示しています。続きはリポジトリで読めます