Back to MCP Servers

Perseus

Compile-before-context MCP server with 13 tools. Pre-resolves workspace state (git, services, file ops, memory federation, multi-agent coordination) into markdown briefings. Single-file Python, MIT. Published as io.github.tcconnally/perseus.

developer-toolspythongithubagent
By tcconnally
253Updated 5 days agoPythonMIT

Installation

npx -y perseus

Configuration

{
  "mcpServers": {
    "perseus": {
      "command": "npx",
      "args": ["-y", "perseus"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes
<div align="center"> <img src=".github/banner.png" alt="Perseus — Live Context Engine. One command. Zero orientation." width="100%"> </div>

Perseus™ 🪞 — One command. Zero orientation.

smithery badge pip install perseus-ctx && cd your-project && perseus quickstart

Zero to rendered context in three lines — no config spelunking:

pip install perseus-ctx                       # 1. install
cd your-project && perseus quickstart         # 2. scaffold .perseus/context.md + config
perseus render .perseus/context.md -o AGENTS.md   # 3. write live context your agent reads

quickstart detects your stack, scaffolds .perseus/context.md, writes config, and verifies a render. Step 3 writes the file your assistant loads at session start (AGENTS.md, CLAUDE.md, .cursorrules, ...). Keep it live with perseus watch (or cron/systemd/launchd). Full walkthrough: QUICKSTART.md.

Perseus demo — before/after cold-start

CI PyPI MCP Registry License: MIT Status: Patent Pending perseus.observer →

Perseus: the memory & context layer for AI agents. Load only the context they actually need.

Your agents re-read their whole notebook from page one on every call, and you're billed per word. Perseus hands them just the page they need: it resolves live workspace state into verified facts before the context window opens, and pairs with Perseus Vault for durable, encrypted memory. The result: 73.8% on LongMemEval (official harness), a 67% smaller tool schema, and 611× warmer renders. On LOCOMO (run on Mem0's own harness): Perseus Vault 87.9% vs Mem0 Platform 82.2% vs Zep Cloud 33.8%. Local-first, air-gap ready, MIT.

<!-- mcp-name: io.github.Perseus-Computing-LLC/perseus -->

🛡️ Product Family

Perseus is the live context engine. Seven specialized products extend it:

ProductDescriptionPage
Perseus VaultPersistent, encrypted memory for AI agents — FTS5, entities, layers, confidence decay. New integrations use perseus_vault_*; legacy aliases remain compatible./perseus-vault/
MCTS31 security analyzers for MCP servers — tool poisoning, prompt injection, credential leaks/mcts/
PR Pilot5-agent autonomous PR review pipeline — graduated autonomy L1→L3/pr-pilot/
Blast RadiusGitLab-native dependency impact analysis — 1 mention, instant risk report/blast-radius/
Rapid AgentDual-backend memory agent (Elastic ↔ Engram-rs) — Google Cloud Hackathon/rapid-agent/
Qwen MemoryAgent that gets smarter every session — Qwen Cloud Hackathon/qwen-memory/
CrewAI MemoryPersistent cross-session memory backend for CrewAI (54K stars) — community PR #6208/crewai/

Perseus Vault — Persistent Memory (MCP)

Perseus Vault is the persistent memory backend for Perseus — a lightweight Rust MCP server with SQLite + FTS5. Zero network calls, no API keys. Offline dense/hybrid embeddings are bundled by default (the model is compiled into the binary), so semantic recall works zero-config with no external model download. Perseus Vault exposes 55+ MCP tools under canonical perseus_vault_* names across structured entities, hybrid vector search, RAG, connectors, confidence decay, journal events, and state management: perseus_vault_remember, perseus_vault_recall, perseus_vault_context, perseus_vault_traverse, perseus_vault_decay, perseus_vault_stats, perseus_vault_health, and more.

📄 Product page → | ⭐ GitHub →

Install (prebuilt binary — Linux / macOS):

curl -sSf https://raw.githubusercontent.com/Perseus-Computing-LLC/perseus-vault/main/scripts/install.sh | sh

Windows / Intel-macOS (build from source): cargo install --git https://github.com/Perseus-Computing-LLC/perseus-vault. Then run perseus doctor to confirm Perseus can reach it.

Hermes Agent — add to ~/.hermes/config.yaml:

mcp_servers:
  perseus_vault:
    command: "perseus-vault"
    args: ["serve"]

Claude Desktop / Cursor — add to your MCP settings:

{
  "mcpServers": {
    "perseus_vault": {
      "command": "perseus-vault",
      "args": ["serve"]
    }
  }
}

Perseus integration — add to .perseus/config.yaml:

perseus_vault:
  enabled: true
  command: ["perseus-vault", "serve"]

The perseus-vault binary self-resolves its canonical default DB path, so no --db argument is needed (its default is ~/.perseus-vault/data/perseus-vault.db). Legacy mimir: configuration is still accepted for back-compat, so existing configs keep working. Then add @memory mode=search query="your terms" to .perseus/context.md and Perseus resolves live recall at render time.

Works with any MCP-compatible assistant.

🏆 Hackathons — 3 Entries Submitted

Google Cloud Rapid Agent (Elastic Partner Track)

Status: Submitted | Deadline: June 11, 2026 | Devpost: perseus-cmzeu9 📄 Product page →

Perseus is entered in the Google Cloud Rapid Agent Hackathon (Elastic Partner Track). The submission demonstrates persistent agent memory across three consecutive sessions, with live backend swap from Elastic Cloud to Engram-rs (self-hosted).

Qwen Cloud Hackathon (MemoryAgent Track)

Status: Submitted | 📄 Product page →

Agent that gets smarter every session. Persistent memory, confidence decay, cross-session compounding. Track requirements checklist with contradiction demo beat.

GitLab Transcend Hackathon (Showcase Track)

Status: Submitted | 📄 Product page →

Blast Radius — GitLab-native dependency impact analysis via Orbit knowledge graph. One @mention, instant risk report.

Build with Gemini XPRIZE

Status: Submitted | 📄 Product page →

PR Pilot — 5-agent autonomous PR review pipeline. Gemini API, Google Cloud Run, Stripe integration.

Wire Perseus to Your Assistant (MCP)

Perseus implements the Model Context Protocol (MCP), exposing tools over stdio or SSE transport. Every tool resolves live workspace state at invocation time — no stale cache, no pre-computed snapshots.

⚠️ Security Gate: Shell-executing directives (@query, @agent, @services command:) require export PERSEUS_ALLOW_DANGEROUS=1. Without it, shell directives are silently skipped.

Quick Start (MCP Server)

pip install perseus-ctx
perseus mcp serve                          # stdio (Claude Desktop, Claude Code, Cursor, Codex)
perseus mcp serve --transport sse --port 8420  # SSE (remote agents, multi-machine)

Assistant-Specific Wiring

Pick your assistant and add the config block shown:

Hermes Agent (~/.hermes/config.yaml):

mcp_servers:
  perseus:
    command: perseus
    args: ["mcp", "serve", "--workspace", "/path/to/workspace"]

Then verify with hermes mcp test perseus. Tools appear as mcp_perseus_* in your session.

Use an absolute path for --workspace. Perseus's non-interactive shell context has a limited PATH — a bare perseus command works in the Hermes MCP config because Hermes resolves it from the user's environment, but the workspace path must be absolute.

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "perseus": {
      "command": "perseus",
      "args": ["mcp", "serve", "--workspace", "/path/to/workspace"]
    }
  }
}

Claude Code (.mcp.json in your project root):

{
  "mcpServers": {
    "perseus": {
      "command": "perseus",
      "args": ["mcp", "serve"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "perseus": {
      "command": "perseus",
      "args": ["mcp", "serve"]
    }
  }
}

Codex (~/.codex/config.toml or per-project .mcp.json):

{
  "mcpServers": {
    "perseus": {
      "command": "perseus",
      "args": ["mcp", "serve"]
    }
  }
}

Rovo Dev (.mcp.json in repo root):

{
  "mcpServers": {
    "perseus": {
      "command": "perseus",
      "args": ["mcp", "serve"]
    }
  }
}

Rovo Dev also reads AGENTS.md at session start — pair MCP tools with rendered context for a complete setup.

Docker

docker build -t perseus .
docker run --rm -v /path/to/workspace:/workspace perseus mcp serve

See Container Runtime for full Docker and compose deployment.

MCP Registry

Published as io.github.Perseus-Computing-LLC/perseus on the official MCP Registry (search "perseus"). Includes server.json for zero-config discovery.


MCP Tools

<!-- test-count: 1831 — recount with: grep -rE "^\s*def test_" tests/ | wc -l --> <!-- The table below is the exact default output of _get_all_mcp_tools({}) — 33 rows. Recount before editing. -->

33 MCP tools resolve live state at invocation time (including the legacy aliases perseus_get_context/perseus_get_health). Two additional sensitive tools — perseus_query (run a shell command) and perseus_agent (execute a local agent subprocess) — are not part of this default set: they require explicit mcp.tool_allowlist opt-in because they execute commands in the user's local shell (not sandboxed, full user permissions apply).

ToolDescription
perseus_servicesHealth-check running services
perseus_readRead file contents
perseus_listList directory or structured data
perseus_treeTree view of directory
perseus_envRead environment variables
perseus_dateCurrent date/time
perseus_waypointLatest checkpoint summary
perseus_sessionRecent session digests
perseus_focusBounded, salience-ranked global workspace (focus set)
perseus_healthContext maintenance report
perseus_driftOracle drift report
perseus_memoryLocal narrative recall + persistent Perseus Vault store
perseus_mimirRecall persistent memories via BM25 (legacy name of perseus_mneme)
perseus_mnemeRecall persistent memories from Perseus Vault via BM25 (legacy tool name)
perseus_skillsList available skills with staleness flags
perseus_includeInclude and render another file
perseus_agoraTask board from tasks/*.md
perseus_inboxAgent message inbox
perseus_captureWrite recent session checkpoints to Perseus Vault (idempotent)
perseus_context_diffCompact "since last session" delta (git, tasks, inbox, checkpoints, vault)
perseus_promptSystem prompt block
perseus_validateV

View source on GitHub