local — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited local (MCP Server) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Persistent memory for AI agents — save and search knowledge across sessions. Data stays local as markdown files.
Hosted tier — cloud sync, web dashboard, team sharing → app.context-vault.com
<p align="center"> <img src="assets/vault-brain.png" alt="Vault Brain — 3D knowledge graph visualization showing nodes, edges, and hub detection" width="800"> </p> <p align="center"><em>Vault Brain — your knowledge as a living neural network</em></p>
curl -fsSL https://raw.githubusercontent.com/fellanH/context-vault/main/install.sh | sh
context-vault setupNo Node required — this installs the native binary directly. Windows: irm https://raw.githubusercontent.com/fellanH/context-vault/main/install.ps1 | iex.
Already have Node? npx context-vault works too and runs the same native engine under the hood.
Setup (~2 min) detects your AI tools (Claude Code, Cursor, Codex, Windsurf, etc.), configures MCP, downloads the embedding model (~22MB), and seeds a starter entry. The server runs as a shared daemon — all AI sessions share one auto-updating process.
Then restart your AI tool (required to pick up the new MCP server) and try:
"Search my vault for getting started"
The vault lives at ~/vault/ — plain markdown files you own.
| Tell your AI | What happens |
|---|---|
| "Save an insight: React Query's staleTime defaults to 0" | Creates ~/vault/knowledge/insights/... |
| "Search my vault for React Query" | Returns matching entries |
| "List my recent decisions" | Browses entries by kind |
| "Show my vault status" | Diagnostics and health |
Your AI agent uses these automatically — you don't call them directly.
Core
| Tool | Description |
|---|---|
get_context | Search vault — hybrid full-text + semantic vector search |
save_context | Save or update entries (insights, decisions, patterns...) |
list_context | Browse entries with filters (kind, tags, date range) |
delete_context | Remove an entry by ID |
Ingest
| Tool | Description |
|---|---|
ingest_url | Fetch a URL, extract readable content, save as a vault entry |
ingest_project | Scan a local project directory (package.json, README, git, tech stack) |
Session
| Tool | Description |
|---|---|
session_end | Capture a session summary + discoveries as vault entries |
create_snapshot | Compile vault entries on a topic into a single structured brief |
System
| Tool | Description |
|---|---|
context_status | Vault health — config, file counts, database size, issues |
list_buckets | List entries tagged as bucket entities |
Buckets aren't a separate structure — they're a bucket:<name> tag applied to entries for scoping (any tool filtering by buckets: [...] is filtering on this tag). ingest_project creates an optional kind: bucket entry as a discoverable index card for one, but the tag alone is what does the scoping — nothing enforces the two stay in sync.
Kinds: insight · decision · pattern · reference · contact — or any custom kind. Derived from vault subdirectory names.
| Command | Description |
|---|---|
context-vault setup | Interactive installer — detects tools, writes MCP configs |
context-vault ui [--port 3141] | Web dashboard |
context-vault status | Vault health, paths, entry counts |
context-vault reindex | Rebuild search index |
context-vault import <path> | Import .md, .csv, .json, .txt |
context-vault export | Export to JSON or CSV |
context-vault update | Check for updates |
context-vault uninstall | Remove MCP configs |
Note:context-mcpis an alias;context-vaultis the primary command.
Cloud sync, web dashboard, and team sharing at app.context-vault.com — no Node.js required. Setup for Claude Code, Cursor, GPT Actions: docs/distribution/connect-in-2-minutes.md
Defaults work out of the box:
| Setting | Default |
|---|---|
| Vault dir | ~/vault/ |
| Data dir | ~/.context-mcp/ |
| Database | ~/.context-mcp/vault.db |
Config: ~/.context-mcp/config.json. Env vars: CONTEXT_VAULT_VAULT_DIR, CONTEXT_VAULT_DB_PATH, etc.
None, via install.sh/install.ps1 — it's a native binary. npx context-vault additionally needs Node.js 18+ (see below).
| Platform | Install Node.js 18+ (only needed for the npx path) |
|---|---|
| macOS | brew install node or nvm: nvm install 22 |
| Windows | winget install OpenJS.NodeJS.LTS or nvm-windows |
| Linux | nvm: nvm install 22 or NodeSource |
npm rebuild sqlite-vecmkdir -p ~/vault && context-vault setupcontext-vault reindexgit clone https://github.com/fellanH/context-vault.git
cd context-vault
nvm use
npm install
npm run cli -- setupUse npx context-vault or npm run cli -- instead of context-vault when running from source.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.