Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Perseus: MCP server and live context engine

PYPI · PERSEUS-CTX · SCANNED SEP 22

Live context MCP server: resolves git, services, and tests into agent context. Local-first, MIT.

Available components

0 this week 59 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 0 of 1 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency6
Schema Quality & AI Usability75
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 3268 tokens (~99/item across 33 items; 33 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (79% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 33 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 33 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the Perseus: MCP server and live context engine server?

Perseus: MCP server and live context engine runs locally as a PyPI package, launched with uvx perseus-ctx. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · perseus-ctx

# add to Claude Code
claude mcp add perseus-computing-llc-perseus -- uvx perseus-ctx
// .cursor/mcp.json
{
  "mcpServers": {
    "perseus-computing-llc-perseus": {
      "command": "uvx",
      "args": [
        "perseus-ctx"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "perseus-computing-llc-perseus": {
      "command": "uvx",
      "args": [
        "perseus-ctx"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add perseus-computing-llc-perseus -- uvx perseus-ctx
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "perseus-computing-llc-perseus": {
      "type": "local",
      "command": [
        "uvx",
        "perseus-ctx"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add perseus-computing-llc-perseus --command uvx --arg perseus-ctx
# ~/.hermes/config.yaml
mcp_servers:
  perseus-computing-llc-perseus:
    command: "uvx"
    args: ["perseus-ctx"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "perseus-computing-llc-perseus": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "perseus-ctx"
      ]
    }
  }
}
# add to Vellum
assistant mcp add perseus-computing-llc-perseus -t stdio -c uvx -a perseus-ctx
// mcp.json
{
  "mcpServers": {
    "perseus-computing-llc-perseus": {
      "command": "uvx",
      "args": [
        "perseus-ctx"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 −14
    • Malware scan: pass → unverified security
  • 16 Sept 26 +15
    • Malware scan: unverified → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 −14
    • Malware scan: pass → unverified security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Analysed pypi/perseus-ctx@1.0.26

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 1 package
Packages resolved 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 33 exposed · ~3,268 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
perseus_agora ~75

List tasks from the project task board (tasks/*.md files). Use to see what is open, in progress, or completed. Filter by status. Read-only; returns task array with id, title, status, scope.

NameTypeReqDescription
statusstringFilter tasks by status: open, in_progress, completed, cancelled
NameTypeReqDescription
tasksarray

No examples provided.

perseus_auto_skill ~77

Instruct the agent to load a specific skill before starting work. Use at the top of context documents to enforce critical hygiene skills (e.g., memory-hygiene, agent-safety). Renders as a mandatory instruction block. Read-only.

NameTypeReqDescription
skillstringName of the skill the agent should load before beginning work
NameTypeReqDescription
renderedstringResolved directive output as markdown

No examples provided.

perseus_budget ~130

Declare a token budget for the rendered context (renders as empty text). Enforced by `perseus prompt-size`: an over-budget render warns — or fails with `strict` — with a per-directive byte/token breakdown (#606). Declarations are read from source text before conditionals are evaluated; top-level only — a @budget inside an @include'd file is not enforced (prompt-size warns) (#626). Read-only.

NameTypeReqDescription
forensicstringValue for forensic parameter
maxstringValue for max parameter
strictstringValue for strict parameter

No output schema declared.

No examples provided.

perseus_capture ~88

Write recent session checkpoints to Perseus Vault as durable memories (#713) — the write side of the memory loop, symmetric to @memory recall. Idempotent per checkpoint (re-render upserts, never duplicates). Use at session boundaries so lessons persist immediately instead of waiting for a scheduled harvest. WRITES to the vault; never cached.

NameTypeReqDescription
limitstringValue for limit parameter

No output schema declared.

No examples provided.

perseus_context_diff ~114

Render a compact 'Since last session' delta (#714): git branch/commits, Agora task-board changes, new inbox messages, new checkpoints, and new vault session memories since the last recorded snapshot. Use at the top of a context document so the assistant spends zero turns re-orienting on unchanged state. Maintains its own per-workspace snapshot (refresh debounced by render.context_diff_min_age_s); reset=true forces a new baseline. Never cached.

NameTypeReqDescription
resetstringValue for reset parameter

No output schema declared.

No examples provided.

perseus_date ~66

Current date/time

NameTypeReqDescription
formatstringDate format using tokens YYYY, MM, DD, HH, mm, ss, z (default: YYYY-MM-DD HH:mm:ss). strftime-style %Y %m %d %H %M %S tokens are also accepted.
NameTypeReqDescription
datetimestringCurrent date/time string
iso8601stringISO-8601 formatted timestamp
unixintegerUnix epoch seconds

No examples provided.

perseus_drift ~69

Detect drift between predicted and actual tool usage patterns via the Pythia oracle. Use when tool behavior seems off or after config changes. For workspace hygiene checks, prefer perseus_health. Read-only; returns a markdown drift report.

NameTypeReqDescription
argsstringArguments for @drift directive
NameTypeReqDescription
renderedstringResolved directive output as markdown

No examples provided.

perseus_env ~64

Embed environment variable

NameTypeReqDescription
fallbackstringValue to use when the environment variable is not set
requiredstringIf 'true', render fails when the variable is unset
schemastringJSON Schema to validate the env var value against
NameTypeReqDescription
sourcestringWhere the value was resolved from
valuestringResolved value or fallback
variablestringEnvironment variable name

No examples provided.

perseus_focus ~265

The global-workspace tier: a small, capacity-bounded (default 32), salience-ranked set of items Perseus broadcasts into context — the shared 'what I'm working on now' set for the agent and its subagents. With no args, renders the current working set. add=/pin= admit items; the lowest-salience non-pinned items are evicted when it overflows. Distinct from long-term recall (@mimir/@memory): bounded and actively maintained, not unbounded memory.

NameTypeReqDescription
addstringText of an item to admit into the workspace (bounded, salience-ranked)
clearstringIf 'true', remove all items from the workspace
dropstringText of an item to remove from the workspace
pinstringText of an item to pin (floated to top, never evicted)
sourcestringOptional label for where a newly added item came from
touchstringText of an existing item to reinforce (bump frequency/recency)
unpinstringText of a pinned item to unpin
weightstringBase salience weight for a newly added item (default 1.0)

No output schema declared.

No examples provided.

perseus_get_context ~38

Return the full rendered Perseus context for the workspace.

NameTypeReqDescription
formatstringOutput format: markdown or json (default: markdown)
NameTypeReqDescription
formatstringOutput format used
renderedstringFull rendered context
workspacestringWorkspace path the context was rendered for (json format only)

No examples provided.

perseus_get_health ~111

Run Daedalus context-maintenance heuristics — cache health, directive resolution stats, memory integrity check. mode=basic (default) returns the @health maintenance report; mode=doctor returns the same structured payload as `perseus doctor --json` (per-check status + summary), the MCP equivalent of the CLI doctor surface for restart/health verification.

NameTypeReqDescription
modestringHealth mode: basic (default, maintenance heuristics report) or doctor (full doctor --json equivalent structured diagnostics)
NameTypeReqDescription
checksarrayIndividual doctor check results, identical to `perseus doctor --json` (doctor mode)
modestringHealth mode used: basic or doctor
reportstringDetailed health report (basic mode)
statusstringOverall health status: ok, warning, or critical
summaryobjectDoctor check tally: {ok, warn, error} (doctor mode)
versionstringPerseus version (doctor mode)
workspacestringWorkspace path checked (doctor mode)

No examples provided.

perseus_health ~72

Audit workspace context health: stale skills, duplicate tasks, oversized output. Use before starting work to catch drift. For deep Daedalus heuristics (cache, directive stats), use perseus_get_health. Read-only; returns status enum and metric counts.

NameTypeReqDescription
argsstringArguments for @health directive
NameTypeReqDescription
checksarray
duplicate_tasksintegerCount of duplicate task entries
oversized_contextbooleanWhether rendered context exceeds size limits
stale_skillsintegerCount of skills past freshness threshold
statusstringOverall health: ok, warning, or critical

No examples provided.

perseus_inbox ~75

Read agent-to-agent messages from the workspace inbox. Use to check for coordination messages from other agents. Filter to unread only. Read-only; returns message array with read/unread status.

NameTypeReqDescription
limitstringMaximum number of messages to return
unreadstringIf 'true', show only unread messages
NameTypeReqDescription
messagesarray
unread_countinteger

No examples provided.

perseus_include ~186

Include and render another Perseus source file, recursively resolving its directives. Use to compose context from multiple files or share common sections across workspaces. Bound a growing file with last=N (final N lines) or since=14d/2w/24h (recent dated sections only). Use mode=reference (or render.host_loaded_paths) to emit a one-line pointer instead of inlining files the host agent already loads natively. Read-only; resolved directives inherit the parent configuration.

NameTypeReqDescription
laststringKeep only the final N lines of the file (bounds a growing log)
modestringValue for mode parameter
pathstringyesFile path to include and render (relative to workspace root)
sincestringKeep only dated sections within a window, e.g. 14d, 2w, 24h
NameTypeReqDescription
renderedstringRendered included file content
sourcestringIncluded file path

No examples provided.

perseus_list ~88

List directory contents or structured data. Use to discover files before reading with perseus_read. Supports sorting by name, modified time, or size. Read-only; for hierarchical view, prefer perseus_tree.

NameTypeReqDescription
limitstringValue for limit parameter
pathstringyesDirectory path to list (default: workspace root)
sortstringValue for sort parameter
NameTypeReqDescription
countinteger
entriesarray

No examples provided.

perseus_mason ~66

Query the Mason code architecture concept map to find which files implement a feature. Use before editing code to understand where changes should go. Read-only; returns concept map and mapped file list.

NameTypeReqDescription
querystringFeature or filename to look up in the Mason code architecture map
NameTypeReqDescription
concept_mapstringMason code architecture concept map
filesarrayMapped source files

No examples provided.

perseus_memory ~268

Search LOCAL project memory (FTS5, zero-network) for past decisions and architecture notes. Use for in-workspace recall. For cross-session persistent facts, use perseus_mneme instead. Read-only; returns results array with mode and count.

NameTypeReqDescription
aliasstringWorkspace alias for federation targeting
federationstringEnable cross-workspace federation
focusstringTime focus: recent, today, week, or all
forcestringValue for force parameter
include_federationstringInclude federation results in output
kstringNumber of results to return (default: 5)
limitstringValue for limit parameter
max_tokensstringValue for max_tokens parameter
modestringQuery mode: search, narrative, or federation
projectstringValue for project parameter
querystringSearch query string for BM25 / hybrid recall
renderstringIf 'true', render matched memories as markdown
scopestringMemory scope filter: working, core, or all
typestringMemory type filter
workspacestringTarget workspace path for scoped queries
NameTypeReqDescription
countintegerNumber of results returned
modestringQuery mode used
resultsarray

No examples provided.

perseus_mimir ~142

Query the EXTERNAL Mneme memory server for cross-session, curated facts that survive across workspaces. Use for long-lived knowledge (bug patterns, design decisions). For fast local recall, prefer perseus_memory. Read-only; falls back to local FTS5 if Mneme is unreachable. (Also exposed as perseus_mneme; perseus_mimir is a deprecated alias.)

NameTypeReqDescription
kstringNumber of results to return (default: 5)
querystringBM25 FTS5 search query for persistent memory recall
scopestringMemory scope filter
typestringMemory type filter
NameTypeReqDescription
countinteger
querystring
resultsarray

No examples provided.

perseus_mneme ~146

Query the EXTERNAL Mneme memory server for cross-session, curated facts that survive across workspaces. Use for long-lived knowledge (bug patterns, design decisions). For fast local recall, prefer perseus_memory. Read-only; falls back to local FTS5 if Mneme is unreachable. This is the primary name for this tool; perseus_mimir is a deprecated alias kept for backward compatibility.

NameTypeReqDescription
kstringNumber of results to return (default: 5)
querystringBM25 FTS5 search query for persistent memory recall
scopestringMemory scope filter
typestringMemory type filter
NameTypeReqDescription
countinteger
querystring
resultsarray

No examples provided.

perseus_perseus ~68

Fetch rendered context from a remote Perseus instance by URL. Use to pull live workspace state from another machine or container. Read-only; caches results — re-fetch when remote state may have changed.

NameTypeReqDescription
urlstringURL of the remote Perseus instance to fetch context from
NameTypeReqDescription
renderedstringRemote Perseus context as markdown
source_urlstringURL of the remote Perseus instance

No examples provided.

perseus_profile ~158

Select the per-model context profile for this document (#608): sets the context target and memory posture (on_demand/relevant/always) used by the automatic memory injection layer. Use at the top of a context document, e.g. @profile claude-sonnet-4-6. Unknown names fall back to the default profile. First-wins (#627): with multiple @profile lines only the first non-fenced one governs — later banners are marked ignored, and @profile inside a code fence is documentation, never a directive. Read-only.

NameTypeReqDescription
modelstringModel name (or context-window class) whose profile to resolve, e.g. claude-sonnet-4-6; unknown names fall back to default

No output schema declared.

No examples provided.

perseus_prompt ~65

Define a system prompt block that instructs the AI assistant about how to use the rendered context. Use to set behavioral rules, memory hygiene gates, or context interpretation guidelines. Read-only; rendered as-is into the output.

NameTypeReqDescription
argsstringArguments for @prompt directive
NameTypeReqDescription
renderedstringSystem prompt block content

No examples provided.

perseus_read ~122

Read and embed file contents into the rendered context. Use to inject config values, environment files, or any text file. Can extract specific keys from structured files. Read-only; use perseus_list or perseus_tree to browse before reading.

NameTypeReqDescription
fallbackstringValue to use when the file or key is not found
keystringIf reading a config file, extract this key only
pathstringyesFile path to read (relative to workspace root)
schemastringJSON Schema to validate file contents against
NameTypeReqDescription
contentstringFile contents
pathstringFile path read
truncatedbooleanWhether content was truncated

No examples provided.

perseus_research ~85

Search an EXTERNAL paper-search MCP server (BGPT by default) for scientific literature and inject per-paper Methods/Results blocks. Use to ground claims in published studies. Self-gates on research.enabled; degrades gracefully when the provider is unreachable. Read-only; speaks JSON-RPC over stdio (no shell).

NameTypeReqDescription
limitstringValue for limit parameter

No output schema declared.

No examples provided.

perseus_services ~70

Health-check all services listed in the workspace context (HTTP endpoints, Docker containers, shell commands). Use to verify the environment is healthy before starting work. May make network calls and execute shell commands per service definition — side effects depend on configured checks.

NameTypeReqDescription
argsstringArguments for @services directive
NameTypeReqDescription
servicesarray

No examples provided.

perseus_session ~70

List recent session digests with task summaries and outcomes. Use to understand what was done recently across sessions. For the single most recent checkpoint, prefer perseus_waypoint. Read-only; returns session array with count.

NameTypeReqDescription
countstringNumber of recent sessions to include (default: 3)
NameTypeReqDescription
countinteger
sessionsarray

No examples provided.

perseus_skills ~95

List available skills with descriptions and freshness status. Use to discover what capabilities are installed. Filter by category for smaller output. Read-only; stale skills flagged automatically.

NameTypeReqDescription
categorystringFilter skills by category (e.g., devops, github)
flag_stalestringIf 'true', mark skills not updated within threshold as stale
limitstringMaximum number of skills to list
NameTypeReqDescription
skillsarray

No examples provided.

perseus_tokens ~28

Embed token budget for rendered context

NameTypeReqDescription
argsstringArguments for @tokens directive

No output schema declared.

No examples provided.

perseus_tool ~69

Run an external tool that has been allowlisted in the Perseus configuration. Use for approved integrations only. Requires the tool name to be present in the allowlist. Destructive — executes the tool with the user's permissions.

NameTypeReqDescription
namestringyesName of the allowlisted external tool to run
NameTypeReqDescription
exit_codeintegerTool exit code
outputstringExternal tool stdout

No examples provided.

perseus_tooltrim ~81

Return filtered toolset metadata and usage statistics. Use to understand what tools are available and how they are being used. For full tool metadata, set full=true. Read-only; stats mode returns aggregated counts.

NameTypeReqDescription
fullstringIf 'true', return complete tool metadata
statsstringIf 'true', return tool usage statistics
NameTypeReqDescription
countintegerNumber of tools listed
toolsarray

No examples provided.

perseus_tree ~76

Display a directory tree with configurable depth. Use to understand project structure at a glance. For flat file listings with metadata, use perseus_list instead. Read-only; depth limits control output size.

NameTypeReqDescription
depthstringValue for depth parameter
pathstringyesDirectory path for tree display (default: workspace root)
NameTypeReqDescription
rootstringRoot directory path
treestringDirectory tree as formatted text

No examples provided.

perseus_validate ~62

Validate a rendered block against a JSON Schema. Use to enforce structure on configuration blocks, task definitions, or any schema-constrained section. Read-only; returns pass/fail with error messages.

NameTypeReqDescription
schemastringJSON Schema to validate the rendered block against
NameTypeReqDescription
errorsarrayValidation error messages
validbooleanWhether validation passed

No examples provided.

perseus_waypoint ~79

Return the most recent session checkpoint: what was being worked on, status, and next steps. Use at session start to resume where you left off. Stale after TTL (default 24h). Read-only; lightweight — call freely.

NameTypeReqDescription
ttlstringMax age in seconds for a valid checkpoint (default: 86400)
NameTypeReqDescription
checkpointstringLatest checkpoint summary text
stalebooleanWhether the checkpoint exceeds TTL
timestampstringISO-8601 timestamp of checkpoint

No examples provided.

Common questions

What is the Perseus: MCP server and live context engine server?

Perseus: MCP server and live context engine is listed in the public MCP registry as io.github.Perseus-Computing-LLC/perseus. Live context MCP server: resolves git, services, and tests into agent context. Local-first, MIT. This page covers its PyPI package (perseus-ctx).

Is the Perseus: MCP server and live context engine server safe to use?

Perseus: MCP server and live context engine scores 59 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Perseus: MCP server and live context engine server expose?

Perseus: MCP server and live context engine exposes 33 tools: perseus_agora, perseus_auto_skill, perseus_budget, perseus_capture, perseus_context_diff, and 28 more. Their descriptions and schemas cost roughly 3,268 tokens of context every time the server is loaded.

Is the Perseus: MCP server and live context engine server still maintained?

Perseus: MCP server and live context engine is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.