General MCP Integration Guide

August 9, 2026 · View on GitHub

Perseus Vault is an MCP stdio server. It works with any MCP-compatible client.

Bootstrap (60 seconds)

# Install Perseus Vault
curl -sSL https://raw.githubusercontent.com/Perseus-Computing-LLC/perseus-vault/main/scripts/bootstrap.sh | bash

# Create data directory
mkdir -p ~/.perseus-vault/data

# Verify it works
/usr/local/bin/perseus-vault --version

MCP Client Configuration

All MCP clients use the same pattern. The exact config format varies by client:

stdio transport (universal)

# Generic config
command: /usr/local/bin/perseus-vault
args:
  - "--db"
  - "~/.perseus-vault/data/perseus-vault.db"

Client-specific formats

ClientConfig fileFormat
Claude Codeclaude mcp addCLI command (see guide)
Cursor.cursor/mcp.jsonJSON (see guide)
Codex.codex/mcp.json or ~/.codex/mcp.jsonJSON
Hermes Agentconfig.yamlYAML
Continue~/.continue/config.jsonJSON
ClineVS Code settingsJSON
Roo Code.roomodesJSON

Hermes Agent config

mcp_servers:
  perseus-vault:
    command: "/usr/local/bin/perseus-vault"
    args: ["--db", "/home/YOUR_USER/.perseus-vault/data/perseus-vault.db"]
    timeout: 60
    connect_timeout: 30

Codex config

{
  "mcpServers": {
    "perseus-vault": {
      "command": "/usr/local/bin/perseus-vault",
      "args": ["--db", "~/.perseus-vault/data/perseus-vault.db"]
    }
  }
}

Continue config

{
  "experimental": {
    "mcpServers": {
      "perseus-vault": {
        "command": "/usr/local/bin/perseus-vault",
        "args": ["--db", "~/.perseus-vault/data/perseus-vault.db"]
      }
    }
  }
}

Tools (99 canonical)

Perseus Vault exposes 99 canonical MCP tools under the perseus_vault_* prefix (legacy perseus_vault_* / perseus_vault_* aliases remain callable). A representative selection is shown below; run perseus-vault --version and your client's tool list to see all of them.

CategoryTools
CRUDperseus_vault_remember, perseus_vault_recall, perseus_vault_forget, perseus_vault_get_entity, perseus_vault_recall_when
Graphperseus_vault_link, perseus_vault_unlink, perseus_vault_traverse
Journalperseus_vault_journal, perseus_vault_timeline
Stateperseus_vault_state_set, perseus_vault_state_get, perseus_vault_state_delete, perseus_vault_state_list
AIperseus_vault_ask (RAG), perseus_vault_embed (embeddings), perseus_vault_cohere (synthesis)
Connectorsperseus_vault_ingest (GitHub issues, file watcher)
Lifecycleperseus_vault_decay, perseus_vault_prune, perseus_vault_compact, perseus_vault_score
Qualityperseus_vault_conflicts
Vaultperseus_vault_vault_export, perseus_vault_vault_import
Opsperseus_vault_health, perseus_vault_stats, perseus_vault_migrate, perseus_vault_context, perseus_vault_workspace_list

Encryption

Perseus Vault supports AES-256-GCM encryption at rest for body_json and it is enabled by default for fresh installs — the first write generates ~/.perseus-vault/secret.key and establishes the encrypted canary. Explicit --encryption-key paths remain supported:

# Explicit key (optional; a standard key is auto-generated for fresh installs)
perseus-vault keygen --key-file ~/.perseus-vault/secret.key

# Use with any client (add --encryption-key to args)
/usr/local/bin/perseus-vault --db ~/.perseus-vault/data/perseus-vault.db --encryption-key ~/.perseus-vault/secret.key

Existing plaintext databases fail closed with an actionable init --rekey migration path unless PERSEUS_VAULT_ALLOW_PLAINTEXT=1 is set explicitly. Note: encryption covers body_json; the FTS5 index and metadata stay plaintext by design (see docs/ENCRYPTION.md).

Docker

docker run -v ~/.perseus-vault/data:/data ghcr.io/Perseus-Computing-LLC/perseus-vault:latest --db /data/perseus-vault.db

What Perseus Vault Is Not

  • ❌ Not a vector database — it's a persistent memory engine
  • ❌ Not a cloud service — everything runs locally
  • ❌ Not tied to any AI framework — works with any MCP client
  • ❌ Not an embedding endpoint — uses Ollama for embeddings (optional)

Design Philosophy

Perseus Vault is memory for machines. It remembers what your agents learn so they don't start cold every session. Everything is stored locally, searchable via FTS5 + hybrid search, and exportable as plain Markdown files. No API keys, no cloud dependencies, no vendor lock-in.