keyward MCP server
io.github.arturayupov/keyward·v0.1.1·1 starsLocal encrypted secret broker for AI agents: request keys by name, approve each use over MCP.
1 stars
Reviews
Write oneNobody has reviewed keyward yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
keyward tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualityno auth information5/15
- Maintenancelast push 20 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How keyward compares
Against every graded Security MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 70/100
- higher than 35% of 915 Security servers
- GitHub stars
- 1
- more than 60% of 587 Security servers
Install keyward in Claude Code, Cursor or VS Code
The registry entry has no remote endpoint or installable package.
What the publisher says
From the keyward repository's README, as published. We do not edit it. Read it on GitHub
keyward
Store your API keys once. Let any AI tool request them with your approval — without ever seeing the value.
keyward is an open-source, local, encrypted secret broker for AI coding agents. Instead of pasting API keys into chat (where they leak into context and transcripts) or re-entering the same key in every new session, project, and IDE, you keep your keys in one encrypted vault. When Claude Code, Cursor, Gemini CLI, or any MCP-capable tool needs a key, it requests it by name, you approve that single request in a native OS prompt, and keyward injects only that key into your project. The model never receives the value.
The problem
- Leaking keys into AI chat — paste a key into a prompt and it lands in context, transcripts, and logs.
- Re-entry tax — you type the same key again in every new session, project, IDE, and machine.
- Scattered .env files — no single source of truth; you forget which key lives where.
- Zero control — an agent can read or grab every secret at once instead of the one it needs.
- Tool lock-in friction — switch IDE or model and you redo all key setup.
How it works
AI tool ──request_key("STRIPE_KEY", project)──▶ keyward ──native approval──▶ you
│ approved
◀── "injected STRIPE_KEY → ./.env" ─────────┘ (value never shown to the model)- Vault — an age-encrypted file (~/.keyward/vault.age, 0600). The master key lives in the OS keystore (macOS Keychain / Windows Credential Manager / Linux libsecret), never on disk in plaintext.
- Two faces — an MCP server (listkeys, requestkey) for AI tools, and a keyward CLI for everything else.
- Out-of-band approval — the approval dialog is fired by keyward itself, not rendered in the agent's stream, so the agent cannot auto-approve. Choose Approve once, Approve for session, or Deny.
- Value-free by construction — listkeys returns names only; requestkey returns a confirmation; the audit log records the decision but never the value.
Install
# Homebrew (macOS / Linux)
brew install arturayupov/tap/keyward
# Scoop (Windows)
scoop bucket add arturayupov https://github.com/arturayupov/scoop-bucket
scoop install keyward
# Go
go install github.com/arturayupov/keyward/cmd/keyward@latestPre-built binaries (macOS/Windows/Linux, amd64+arm64) are also attached to each release. See INSTALL.md for per-OS notes (incl. Linux libsecret) and TROUBLESHOOTING.md if something doesn't work.
Quickstart
# 1. create the encrypted vault (master key goes into your OS keystore)
keyward init
# 2. import keys you already have scattered in .env files
keyward import ~/projects
# 3. point your AI tool at keyward's MCP server (see below), then just ask:
# "use my STRIPE_KEY for this project" → approve the prompt → doneUse it as an MCP server
keyward is a standard stdio MCP server, registered the same way as the official MCP servers. Two steps:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
keyward: common questions
- Is keyward MCP server safe?
- Mostly: it is graded B (70/100). Read the keyward safety report
- Does keyward need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is keyward maintained?
- The last commit was 59 days ago (2026-09-06). The latest release is v0.1.1.
- What can I use instead of keyward?
- Servers from other publishers that do the same job: Secret Scanner MCP server, Secret Scanner MCP server and Skylos MCP server.
- How does keyward compare with other Security MCP servers?
- safety score 70/100 (higher than 35% of 915 Security servers); github stars 1 (more than 60% of 587 Security servers). Full comparison.
Alternatives to keyward
Same job from other publishers: the closest match first, then the best rated.
- not reviewedGrowingA
- not reviewedGrowingA
- SkylosDead code, security, secrets detection and code quality for Python, TypeScript, Go.not reviewedEstablishedC
- chunk-invarianceChecks whether your streaming redactor leaks a secret split across chunks; writes a pytest for it.not reviewedGrowingA
- SafeWeaveSecurity scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.not reviewedGrowingC