Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Local encrypted secret broker for AI agents: request keys by name, approve each use over MCP.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
제작자가 레지스트리에 설치 정보를 올리지 않았어요. 아래 제작자의 README를 확인하세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 arturayupov 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도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.
Live in-stock Hetian jade from Yufu, Shanghai: prices, monthly price guide, book a viewing.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
AI tool ──request_key("STRIPE_KEY", project)──▶ keyward ──native approval──▶ you
│ approved ◀── "injected STRIPE_KEY → ./.env" ─────────┘ (value never shown to the model)
~/.keyward/vault.age, 0600). The master key lives in the OS keystore (macOS Keychain / Windows Credential Manager / Linux libsecret), never on disk in plaintext.list_keys, request_key) for AI tools, and a `keyward` CLI for everything else.list_keys returns names only; request_key returns a confirmation; the audit log records the decision but never the value.# Homebrew (macOS / Linux)
brew install arturayupov/tap/keyward
scoop bucket add arturayupov https://github.com/arturayupov/scoop-bucket scoop install keyward
go install github.com/arturayupov/keyward/cmd/keyward@latest
Pre-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.
# 1. create the encrypted vault (master key goes into your OS keystore)
keyward init
keyward import ~/projects
keyward is a standard stdio MCP server, registered the same way as the official MCP servers. Two steps:
1. Install the binary (once) — go install above, or Homebrew/Scoop (soon), or a release binary.
2. Register it with your AI tool:
# Claude Code — one command:
claude mcp add keyward -- keyward serve-mcp
Or add it to the config by hand (~/.claude.json, or a project .mcp.json):
{ "mcpServers": { "keyward": { "command": "keyward", "args": ["serve-mcp"] } } }
Cursor, Windsurf, Cline, and other MCP clients use the same command/args shape in their MCP settings. Restart the tool and ask it to use a key by name.
Why not "paste a repo URL"? No MCP client auto-installs a server from a
GitHub link — by design, clients won't run arbitrary remote code. keyward is
also intentionally local (it needs your OS keystore and writes to your
local files), so it isn't a remote/hosted URL server. The two steps above are
the standard, secure install path. Full walkthrough in USAGE.md.
| Command | Description |
|---|---|
keyward init | Create the encrypted vault and master key |
keyward import [root] | Import secrets from .env files under root, grouped by project |
keyward add NAME --ns NS | Add/update one secret, value read from stdin (for non-.env creds) |
keyward ls [--ns NS] | List key names and namespaces (never values) |
keyward inject NAME --ns NS --into PATH | Inject one key into a target env file (prompts for approval) |
keyward serve-mcp | Run the MCP server over stdio |
request_key injects it into a target file and returns only a confirmation.~/.keyward/audit.jsonl records tool, key, namespace, target, decision — no value) and never printed by ls/inject.age; the master key lives in the OS keystore.These invariants are enforced by automated tests. Details and threat model in SECURITY.md.
| keyward | envchain | pass / sops | 1Password CLI | |
|---|---|---|---|---|
| Encrypted local store | ✅ | ✅ (Keychain) | ✅ | ✅ (cloud) |
| Agent requests a key by name | ✅ | ❌ | ❌ | ❌ |
| Per-request human approval | ✅ | ❌ | ❌ | ❌ |
| Value never reaches the model | ✅ | n/a | n/a | n/a |
| MCP server for AI tools | ✅ | ❌ | ❌ | ❌ |
| Open source | ✅ (MIT) | ✅ | ✅ | ❌ |
The encrypted-storage problem is solved; keyward adds the missing agent-facing, approval-gated broker on top. See docs/comparisons for honest long-form comparisons (including when each alternative is the better choice).
Full detail in ROADMAP.md. Highlights:
target: "env" injection.Contributions welcome — see CONTRIBUTING.md. Found a security issue? See SECURITY.md for responsible disclosure.
MIT © 2026 Artur Ayupov