Sops MCP server
io.github.privacyplaybook/sops-mcp·v0.12.0MCP server for creating and managing SOPS-encrypted secrets
not scanned yet
0 stars24 downloads/wk
Reviews
Write oneNobody has reviewed Sops yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Sops tools
No tool declarations could be read from the package source. They show once the server is installed.
How Sops compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,243 servers
- Downloads a week
- 24
- more than 10% of 12,306 servers with a package
Release history: 2 versions in the registry since 2026-09-10, latest 2026-10-23, typically one every 43 days.
Install Sops in Claude Code, Cursor or VS Code
claude mcp add sops-mcp -- uvx sops-mcp
What the publisher says
From the Sops repository's README, as published. We do not edit it. Read it on GitHub
sops-mcp
<!-- mcp-name: io.github.privacyplaybook/sops-mcp -->
MCP server for creating and managing SOPS-encrypted secret files using age encryption.
Designed for Claude Code (or any MCP client) to produce encrypted secrets.enc.yaml files without the model ever seeing plaintext values. All file content is passed as text parameters and returned as text — the server has no filesystem access to the client.
Why
Two goals drive the design:
1. Keep secrets in your source tree without leaking them. For a small project, running a full secrets manager (Vault, AWS Secrets Manager, etc.) is overkill for a handful of credentials. Encrypting secrets at rest in git and decrypting them in your CI/CD pipeline at deploy time is much cheaper:
- Create secrets.enc.yaml via this server — age-encrypted against your public key, safe to commit.
- Commit it alongside your code.
- Your CI/CD pipeline holds the age private key, decrypts at deploy time, and injects plaintext as environment variables into your container orchestrator.
The age private key lives in exactly one place: your CI/CD secrets store. Everywhere else — your laptop, your git remote, your container images — sees only ciphertext. See the worked example below.
2. Let an AI coding agent generate secrets it can never read. Claude (or any MCP client) can create passwords, rotate them, derive hashes, rename and delete them — but plaintext values never cross the MCP boundary back to the model. The server holds the encryption key; the client only submits requests and receives metadata. There is deliberately no "decrypt this one secret" tool. This prevents a prompt injection or a misbehaving agent from exfiltrating a secret.
The simplest setup uses a single age recipient (the one CI private key). If you need several — a CI key plus an operator's key, or separate key sets for separate parties — see Key domains.
Secret sources
Every secret is one of three sources, recorded in metaunencrypted:
- generated — Cryptographically random values (Python secrets / OS CSPRNG). You specify length and charset; the server stores both so it can regenerate on rotation.
- external — User-provided values encrypted as-is (SMTP credentials, third-party API keys, etc.). Preserved across rotation. Updated via sopsupdateexternal.
- derived — Computed from another key in the same file via a named transform. When the source is rotated (or an external source is updated), the derived value is automatically recomputed in topological order. Useful for things like Authelia's PBKDF2 hashes of OIDC client secrets.
Design
Three ideas shape the tool surface:
- No plaintext crosses the MCP boundary. Generated secret values are never returned to the client. There is deliberately no "decrypt this one key" tool. If you need plaintext, run sops decrypt yourself with the age private key.
- Metadata in plaintext. A metaunencrypted block sits alongside the encrypted values (using SOPS's unencryptedsuffix feature) and records each secret's source, how it was generated, when it was last rotated, and which key domain it belongs to. This lets the server list and rotate secrets without decrypting. SOPS's MAC covers these values by default, so a tampered block fails to decrypt. Files that switch that off with maconlyencrypted are refused. Tools that read the block without* a key still cannot check the MAC, which is why recipients are verified separately.
- No in-place value update for generated or derived secrets. Those change only via rotation, where neither the server nor the caller has access to the plaintext. External secrets (e.g. an upstream API key the user controls) can be updated with sopsupdateexternal.
Transforms (for derived secrets)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-09-19restoreC → Bscore 83
Sops: common questions
- Is Sops MCP server safe?
- Mostly: it is graded B (83/100). Read the Sops safety report
- How do I install Sops?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Sops need an API key?
- Yes. The registry entry asks for
SOPS_AGE_KEY. - Is Sops maintained?
- The last commit was 45 days ago (2026-09-21). The latest release is v0.12.0.
- How does Sops compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,243 servers); downloads a week 24 (more than 10% of 12,306 servers with a package). Full comparison.