Skip to main content
Glama

🗂️ KeyStack

CI

Live project registry for coding agents. A local dashboard + MCP server that remembers your whole portfolio — description, stage, stack, services, tests, GitHub link, next steps — plus your skills and prompts. Your coding agent (Claude Code, Codex) connects over MCP, pulls a project's context, and keeps it up to date itself as it works.

Solves the pain of running 10+ projects: you stop remembering what's written in what, which database each uses, and where you left off.

Not a secrets manager. KeyStack never stores key values — at most a keys_ref pointer to a local file. Secrets never enter the agent's context.

Why

  • One source of truth across every project, for both you (dashboard) and the agent (MCP).

  • Self-updating — the agent writes status/tests/next-steps via MCP, so the registry doesn't rot like a manual doc.

  • Local-first — everything on your machine, zero cloud, zero cost.

Install

npm install
npm run build

Use

Dashboard (browse your portfolio):

npm run dashboard      # → http://127.0.0.1:4319

MCP server — wire it into your agent.

Claude Code (.mcp.json):

{ "mcpServers": { "keystack": { "command": "keystack-mcp" } } }

Codex (~/.codex/config.toml):

[mcp_servers.keystack]
command = "keystack-mcp"

(During dev, point command at npx tsx /abs/path/src/mcp/server.ts.)

MCP tools

Tool

Purpose

list_projects

Portfolio overview

get_project

Full context of one project

search_projects

Find by stack/service/name

create_project / update_project

Add / keep current (agent writes here)

list_skills / get_skill / upsert_skill

Your skill library

list_prompts / get_prompt / upsert_prompt

Your prompt library

Data

SQLite at ~/.keystack/keystack.db (override with KEYSTACK_HOME). Never committed.

Status

MVP — core registry + MCP + dashboard working. Roadmap: repo autofill, dashboard editing forms, global search UI. See .ai-codex/ and docs/.

License

MIT