All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Documentation — Rewrote README, CONTRIBUTING, and AGENTS for v4: all 15 tools, prompts, resources,
op_run/ reveal guidance, MCP 2026-07-28, Node ≥ 20, and clearer setup for humans and agents. - Package metadata — Clearer npm/registry description, keywords, and
server.jsonenvironment variable docs (OP_MCP_ALLOWED_VAULTS,MCP_LOG_LEVEL).
- Migrated to the stable MCP TypeScript SDK v2 package family.
- Added stdio negotiation for MCP 2026-07-28 while retaining legacy client compatibility.
- Raised the minimum supported Node.js version from 18 to 20.
- Migrated tools, prompts, and resources to the v2 registration APIs and Zod 4 schemas.
op_runtool — Run local commands withop://secret references injected into child-process environment variables without returning plaintext secret values to the model. Resolved values are redacted from command output and errors.op_check_reftool — Validate a 1Password secret reference and return only non-secret metadata.- Optional vault allow-list — Restrict
op_runandop_check_refto configured vault names or IDs withOP_MCP_ALLOWED_VAULTSor--allowed-vaults.
- Breaking:
password_readis metadata-only by default — Callers must now passreveal: trueto receive a plaintext secret value. - Updated
password_readanditem_gettool guidance to preferop_runwhen a secret needs to be used rather than revealed. op_runresolves multiple secret environment references in one bulk SDK request.
- Reduced accidental secret exposure in model context and conversation transcripts by making explicit plaintext reveal opt-in.
item_gettool — Retrieve detailed information for a 1Password item, including tags, fields, website URLs, and notes. Concealed field values are hidden unless explicitly revealed. Supports secret references (op://vault/item/field) or vault and item IDs.item_edittool — Edit an existing 1Password item, updating titles, notes, tags, website URL, and upserting or removing fields.item_listtool — List all items in a 1Password vault (returns metadata like ID, title, category, tags, and updatedAt).item_archivetool — Move a 1Password item to the archive instead of permanently deleting it.note_createtool — Create a Secure Note item with optional custom fields and tags.
- Tool Schema Documentation Alignment — Updated parameter and tool descriptions for
item_getandnote_createto ensure the correct formats (e.g.op://vault/item/fieldfor secret reference) and parameter descriptions (id or titlefor custom fields) are properly surfaced in MCP.
password_updatefield matching — Thepassword_updatetool now correctly finds the field to update by matching against the field'sid,title, orlabel. Previously, it only matched againstidandtitle.
- Publish workflow hardening — Publish now runs on releases/manual dispatch, validates cross-file version alignment, validates release tag/version match, and skips if the npm version already exists.
- CI/CD Automation — Enabled automated NPM publishing on push to
masterbranch.
- Server version alignment — Fixed a mismatch where the runtime MCP server reported a different version than
package.json. - Security: SDK upgrade — Upgraded
@modelcontextprotocol/sdkto v1.26.0 to address GHSA-345p-7cg4-v4c7.
- Agents guide — Created
agents.mdwith instructions for publishing and managing the server.
- CI/CD Pipeline — Updated GitHub Actions to correctly target the
masterbranch.
- TypeScript — Full conversion from JavaScript to strict TypeScript with declarations.
- Modular architecture — Split single-file server into logical modules (
logger,config,client,tools/,prompts/,resources/). - MCP Prompts — Added 4 interactive prompts:
generate-secure-password,credential-rotation,vault-audit,secret-reference-helper. - MCP Resources — Added browsable resources:
1password://vaults,1password://vaults/{vaultId}/items,1password://config. - Tool descriptions — All tools now include human-readable descriptions for better LLM tool selection.
item_deletetool — Complete CRUD: create, read, update, and delete items.isErrorflag — All error responses now set the MCPisError: trueflag for protocol compliance.- Expanded word list —
password_generate_memorableuses ~500 words (EFF-inspired) for better entropy. - Rejection sampling —
password_generateuses unbiased random character selection. - Unit tests — Comprehensive test suite with Vitest.
- CI/CD — GitHub Actions workflows for build, test, and npm publish.
- Apache 2.0 License.
- CONTRIBUTING.md guide.
- Version mismatch between
package.jsonand reported MCP server version. - Modulo bias in
password_generaterandom character selection. - Duplicate "brazil" entry in memorable password word list.
- Minimum Node.js version remains >=18.
- Package entrypoint now points to compiled
dist/output.
- Initial release with 7 tools:
vault_list,item_lookup,password_create,password_read,password_update,password_generate,password_generate_memorable.