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.

lk.ghosts/wyrm

NPM · WYRM-MCP · SCANNED SEP 25

Local-first memory for AI agents: ground truths, failure firewall, negotiated recall over MCP.

Available components

0 this week 75 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 Security92
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs a script at install time (preinstall,postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • 44 of 130 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency10
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4819 tokens (~137/item across 35 items; 33 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage90
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 64% of tool parameters carry a description.Partial
  • Structured output schemas are declared (24% 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 35 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the lk.ghosts/wyrm MCP server?

lk.ghosts/wyrm runs locally as an npm package, launched with npx -y wyrm-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · wyrm-mcp

# add to Claude Code
claude mcp add lk-ghosts-wyrm -- npx -y wyrm-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "lk-ghosts-wyrm": {
      "command": "npx",
      "args": [
        "-y",
        "wyrm-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "lk-ghosts-wyrm": {
      "command": "npx",
      "args": [
        "-y",
        "wyrm-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add lk-ghosts-wyrm -- npx -y wyrm-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "lk-ghosts-wyrm": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "wyrm-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add lk-ghosts-wyrm --command npx --arg -y --arg wyrm-mcp
# ~/.hermes/config.yaml
mcp_servers:
  lk-ghosts-wyrm:
    command: "npx"
    args: ["-y", "wyrm-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "lk-ghosts-wyrm": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "wyrm-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add lk-ghosts-wyrm -t stdio -c npx -a -y wyrm-mcp
// mcp.json
{
  "mcpServers": {
    "lk-ghosts-wyrm": {
      "command": "npx",
      "args": [
        "-y",
        "wyrm-mcp"
      ]
    }
  }
}
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.

  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 +1

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

  • 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 +1

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

  • 15 Sept 26 +27
    • Malware scan: unverified → pass ▲ security
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.85 ▲ functional
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 25 Sept 2026 · Analysed npm/wyrm-mcp@9.2.3

Provenance No attestation

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

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Install scripts 2 scripts
Hook Tier Command
preinstall unreviewed node scripts/preinstall.cjs
postinstall unreviewed node scripts/postinstall.cjs

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

Dependencies 130 packages
Packages resolved 130
Stale 44
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 33 exposed · ~4,433 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
buddy ~177

Use when another buddy-compatible MCP server (or the operator) asks Wyrm for a brief, data-grounded status reply - the Buddy Protocol v1.0 well-known entry point. Companion params switch to the full companion reply; bare calls stay protocol-pure. Cycle-protected.

NameTypeReqDescription
federateboolean–Fold in other buddy MCPs
formatstring–Peer mode only.
from_buddystring–Caller identity
moodstring–Companion override (mood_hint values)
mood_hintstring––
personastring–Companion voice.
persona_namestring–For persona=custom
project_hintstring–Scope the reply
project_pathstring–Companion mode: project root (default cwd)
sizestring––

No output schema declared.

No examples provided.

wyrm_act ~124

Use to pursue a goal autonomously - the OODA loop: observe Wyrm context, orient, decide one whitelisted tool call, act, loop. Pass goal_id for an existing goal, or query+title to create and pursue ad-hoc.

NameTypeReqDescription
goal_idnumber––
max_stepsnumber–Default 5, cap 50
model_overridestring–ollama:model
projectPathstring––
querystring–Ad-hoc
titlestring–Ad-hoc goal

No output schema declared.

No examples provided.

wyrm_audit ~131

Use for the tamper-evident audit chain - action=log (append a tamper-evident, hash-chained record of an admin action), export (the audit history as an offline-verifiable bundle for a compliance review), verify (prove the audit trail hasn't been tampered with).

NameTypeReqDescription
actionstringyes–
actorstring––
event_kindstring–log: tool_call etc
payloadobject–log
projectPathstring––
range_endstring–export
range_startstring–export

No output schema declared.

No examples provided.

wyrm_call_external ~73

Use to call a tool on an outbound MCP server registered via wyrm_mcp - lazily spawned over stdio, result returned and logged to external_call_log.

NameTypeReqDescription
argsobject–Tool arguments
serverstringyesRegistered server_name
toolstringyesTool name to invoke

No output schema declared.

No examples provided.

wyrm_capabilities ~58

Use to learn what your memory system can actually do - feature inventory, why each matters, runtime state, and which tool to reach for. Call at session start instead of re-discovering the surface.

NameTypeReqDescription
formatstring––

No output schema declared.

No examples provided.

wyrm_capture ~355

Use to save anything worth keeping - the single write funnel. Auto-classifies notes, decisions, and lessons into quest, ground truth, or memory; risky writes queue for wyrm_review. mode=direct (store a proven pattern or lesson learned so future agents reuse it), extract (pull memories from a conversation transcript or freeform text), trace (harvest a session JSONL / tool-call log into run-tagged review candidates), session (close out a work session into reusable knowledge), artifacts (harvest a repo's READMEs and recent commits into durable facts), import source=git|pr|rules, spec (turn a tasks.md into tracked work items), checklist, feedback (artifactId + success: mark what you recalled as useful, or not). Keywords: remember this, jot down, write down, future reference.

NameTypeReqDescription
bodystring–import pr
candidatesarray–session
commitsarray–import git
contentstring–classify/rules
dryRunboolean–artifacts
kindstring––
modestring–quest|truth|memory force the type
problemstring–direct
problemTypestring–checklist
projectPathstring––
project_idnumber–classify/import
sessionIdstring–session
sourcestring––
specDirstring–spec
stepsarray–checklist
tagsarray––
textstring–extract
titlestring–import pr
validatedFixstring–direct
whenToUsestring–checklist
NameTypeReqDescription
advisory_conflictsarray––
artifact_idinteger––
confidencenumber––
conflicts_witharray––
idinteger––
modestringyes–
needs_reviewboolean––
reasonstring––
reasoningstring––
refstring––
refsarrayyes–
statusstringyes–
subtypestring––
typestring––

No examples provided.

wyrm_context_build ~158

Use to build a compact context brief for the current task under a token budget - relevant patterns, lessons, and truths in one formatted block; max_tokens elides low-score items to recallable stubs.

NameTypeReqDescription
kindsarray–Artifact kinds (see wyrm_recall)
maxItemsnumber–Default 10, max 20
max_tokensnumber–Token budget; low-score items elide to stubs
minConfidencenumber–Default 0.3
projectPathstringyes–
session_idnumber–Already-seen dedup
strict_budgetboolean–Also elide truths over budget
taskstringyesThe current task

No output schema declared.

No examples provided.

wyrm_decided_because ~122

Use to link a choice or decision to the assumption or evidence it was based on - records a causal edge (truth/quest/artifact/session) so stale foundations invalidate downstream.

NameTypeReqDescription
confidencenumber–0-1, default 1.0
from_idnumberyes–
from_kindstringyes–
projectPathstringyes–
rationalestring–Why
relationstring–Default because_of
to_idnumberyes–
to_kindstringyes–

No output schema declared.

No examples provided.

wyrm_decision_trace ~107

Use to trace decision causality - action=upstream (why did we pick this? walk me through the reasoning chain back to its sources), downstream (if that assumption turns out to be wrong, what else breaks - the blast radius), invalidate (a foundational fact was wrong: flag everything we built on top of it, cascading).

NameTypeReqDescription
actionstringyes–
idnumber––
kindstring––
reasonstring–invalidate

No output schema declared.

No examples provided.

wyrm_design_token ~103

Use for the project's design system - store and read the values the brand uses: color, type, spacing, motion, shadow, radius, breakpoint. action=set (upsert a primary color or spacing value), get (what values does this design system use?), delete.

NameTypeReqDescription
actionstringyes–
categorystring––
keystring–set/delete
projectPathstring––
valuestring–set

No output schema declared.

No examples provided.

wyrm_entity ~179

Use for the knowledge graph - action=add (a person, vendor, service, or concept), link (record that Alice maintains the deploy pipeline: who maintains, uses, or depends on what), search, merge (destructive), path (how two entities or services are related to each other), graph (show everything connected to an entity, N hops).

NameTypeReqDescription
actionstringyes–
depthnumber–graph
entitystring–graph
limitnumber–search
namestring–add
projectPathstring––
querystring––
relationshipstring–link: uses|depends_on
sourcestring–link/merge/path
targetstring–link/merge/path
typestring–add/search

No output schema declared.

No examples provided.

wyrm_failure_check ~125

Use before proposing or executing any fix, command, or approach - did this fail before? Is it a known landmine? Counter-pattern memory: returns unresolved matching failures (empty = safe to proceed); show the mistakes already made on a project with `wyrm failure list` (CLI). Subagents: check before retrying anything flagged.

NameTypeReqDescription
descriptionstringyes–
projectPathstring––
run_scopestring–Quarantine tier filter (run = same-run only)
scopestringyes–
targetstringyes–
NameTypeReqDescription
blockedbooleanyes–
confidencenumberyes–
matchesarrayyes–
recorded_by_agentstring|nullyes–
run_idstring|nullyes–

No examples provided.

wyrm_failure_record ~153

Use when an approach failed or something broke - log the dead end so nobody tries it again. Identical (scope, target, description) coalesces with occurrences++; when the root cause is fixed, stop flagging it with `wyrm failure resolve <id>` (CLI). Run-scoped failures quarantine until confirmed.

NameTypeReqDescription
descriptionstringyesWhat was tried
projectPathstring–Global if omitted
promotestring–Widen the tier (explicitly attributed callers only)
scopestringyes–
severitystring––
targetstringyesFile, symbol, command, or prompt
why_failedstring–Diagnosis if known
NameTypeReqDescription
idintegeryes–
occurrencesintegeryes–
promoteobject|nullyes–
quarantine_scopestringyes–
run_idstring|nullyes–
scopestringyes–
targetstringyes–

No examples provided.

wyrm_goal ~115

Use for persistent goals the wyrm-loop daemon pursues autonomously - action=set (define with success criteria), list, complete, pause, resume, abandon, iterations (the OODA pursuit history).

NameTypeReqDescription
actionstringyes–
descriptionstring––
idnumber––
prioritystring–set: critical|high|medium|low
projectPathstring––
success_criteriastring–set: definition of done
titlestring––

No output schema declared.

No examples provided.

wyrm_maintenance ~68

Use for periodic upkeep of the memory store - archive old sessions, vacuum, prune stale events, sweep run quarantine. Admin-gated, destructive; fleets run it between waves.

NameTypeReqDescription
archiveDaysnumber–Archive sessions > N days
vacuumboolean–Reclaim space

No output schema declared.

No examples provided.

wyrm_mcp ~98

Use to manage outbound MCP servers Wyrm can call - action=register (command, args, env), list, tools (one-shot tools/list), disable. Call a registered server's tools via wyrm_call_external.

NameTypeReqDescription
actionstringyes–
argsarray–register: argv
commandstring–register: executable
envobject–register
server_namestring––

No output schema declared.

No examples provided.

wyrm_presence ~118

Use for multi-agent presence - who else is working on this right now? action=list, announce (I'm online and working on X; a TTL heartbeat orchestrators and other agents see), release (clean exit: clears presence and drops any quest claims held).

NameTypeReqDescription
actionstringyes–
agent_idstring––
agent_kindstring–announce: claude|codex|human
current_filestring–announce
projectPathstring––
ttl_secondsnumber–announce

No output schema declared.

No examples provided.

wyrm_project ~131

Use for the project registry and cross-project landscape - action=list, context (one project's memory overview), scan (discover and register git repos under a directory), sync (DB rows to per-project .wyrm folders).

NameTypeReqDescription
actionstringyes–
directionstring–sync: import|export|both
limitnumber––
pathstring–scan
projectNamestring–context
projectPathstring–context/sync
recursiveboolean––
searchstring–list
watchboolean–scan

No output schema declared.

No examples provided.

wyrm_quest ~164

Use for project tasks and todos - action=add (add a todo or work item), complete (mark a task as done), claim (lock a quest so other agents don't duplicate the work; TTL lease stamped with agent_id/run_id), release, list (what's still open on my plate across all projects). The fleet coordination primitive.

NameTypeReqDescription
actionstringyes–
agent_idstring–claim/release
descriptionstring––
limitnumber–list (default 50)
prioritystring––
projectPathstring–add
quest_idnumber––
tagsstring–add
titlestring–add
ttl_secondsnumber–claim

No output schema declared.

No examples provided.

wyrm_recall ~131

Use before starting any non-trivial task - what do we know about this? Pull up relevant lessons learned, proven patterns, anti-patterns, and reasoning traces from past work. Hybrid lexical+semantic retrieval, fully local, no LLM. Rate a result with wyrm_capture mode=feedback.

NameTypeReqDescription
detailstring–Default full
kindstring––
limitnumber–Default 10
minConfidencenumber–0-1 (default 0)
projectPathstringyes–
querystringyesThe task or problem
NameTypeReqDescription
countintegeryes–
querystringyes–
queued_for_reviewinteger––
resultsarrayyes–

No examples provided.

wyrm_reference ~121

Use for design references and visual inspiration - action=add (clip a website, image, palette, or snippet to keep for later projects), search (find that inspiration link I saved a while back), list.

NameTypeReqDescription
actionstringyes–
kindstring–add
limitnumber––
locationstring–add: URL/path/inline
projectPathstring–Omit for global
querystring–search
tagsstring–add
titlestring––

No output schema declared.

No examples provided.

wyrm_replication ~270

Use to sync memory between machines and watch the live event mesh - action=start|stop|status|tick (daemon + peers; tokens via tokenEnv), conflicts (did the last sync leave conflicts to resolve?), resolve, publish, since, subscribe (watch a project's live activity feed for changes from other agents), replicate (one-shot: sync my memory over to another machine or peer), unshare (kind + id: make a record private again so it does not leave this machine). Back up the memory database off this machine, encrypted: wyrm cloud backup (CLI).

NameTypeReqDescription
actionstringyes–
baseUrlstring–peer_add/remove
conflict_idnumber–resolve
cursornumber–since
idnumber––
interval_minutesnumber–start
kindstring––
limitnumber–conflicts/since
modestring–resolve: kept_local|kept_remote|merged
payloadobject–publish
peerUrlstring–replicate
projectPathstring––
remoteProjectstring–peer_add/replicate
tokenstring–replicate
tokenEnvstring–peer_add: env var name

No output schema declared.

No examples provided.

wyrm_review ~86

Use to process the review queue - approve or reject the pending memory candidates waiting from extraction, harvest, imports, capture conflicts, or session distillation. Approve activates the artifact for recall; reject permanently deletes it (unrecoverable).

NameTypeReqDescription
approvedbooleanyestrue = activate, false = hard delete
artifactIdnumberyes–
notesstring––
NameTypeReqDescription
approvedbooleanyes–
artifact_idintegeryes–
deletedbooleanyes–
notesstring|nullyes–
problemstringyes–

No examples provided.

wyrm_run ~211

Use to manage a fleet run lifecycle from the orchestrator: action=start mints a ULID run_id and registers the orchestrator, join registers each subagent (agent_id, role), status reports agents, run-quarantined failure counts, and quest claims, debrief fans each agent's learnings through the LOCAL extractor (never a cloud LLM) into a run-scoped review queue for wyrm_review, and end writes the run summary, promotes or expires quarantined failures, and releases claims.

NameTypeReqDescription
actionstringyes–
agent_idstring–default: ambient envelope
learningsarray–debrief: [{agent_id?, text}]
orchestratorstring–start
parent_run_idstring–start: nested fleets
project_pathstring–debrief/end
rolestring–join
run_idstring–start mints if omitted
statusstring–end (default completed)
NameTypeReqDescription
actionstringyes–
agentsarray––
claimsinteger––
claims_releasedinteger––
expiredinteger––
methodstring––
orchestratorstring|null––
promotedinteger––
quarantinedinteger––
queuedinteger––
resolvedinteger––
run_idstringyes–
skippedinteger––
statusstringyes–
summary_artifact_idinteger|null––

No examples provided.

wyrm_search ~114

Use to find anything by keyword or meaning across all projects - find past sessions that mention a topic, look up everything we have about a service, or ask have I solved this problem before in any other project (cross-project constellation). FTS/vector/hybrid; where a function or symbol is defined across repos: type=symbols.

NameTypeReqDescription
modestring–Default hybrid, else lexical
projectPathstring–Limit to one project
querystringyes–
typestring––
NameTypeReqDescription
entitiesarrayyes–
modestringyes–
querystringyes–
sectionsarrayyes–
skillsarrayyes–

No examples provided.

wyrm_session ~125

Use to track working sessions - action=start (start tracking a new working session on a repo), update (log what you just finished: completed work, issues, commits), rehydrate (the full briefing from a past session so a fresh agent can take over).

NameTypeReqDescription
actionstringyes–
commitsstring–update
completedstring–update
issuesstring––
notesstring––
objectivesstring––
projectPathstring–start/update
session_idnumber–rehydrate

No output schema declared.

No examples provided.

wyrm_session_prime ~153

Use first at session start - load everything you need to know before starting work, and catch me up on where we left off last time: ground truths, memory brief, reasoning scaffold, and active quests in one call. First call every agent makes in a run.

NameTypeReqDescription
for_spawnboolean––
log_sessionboolean–Also log a session row
projectPathstring––
project_idnumber––
project_namestring––
rolestring––
run_idstring–Fleet: brief cached per (run_id, role)
taskstring–Drives scaffold + memory selection
token_budgetnumber––
NameTypeReqDescription
project_idintegeryes–
project_namestringyes–
sectionsarrayyes–
session_idinteger|nullyes–

No examples provided.

wyrm_share ~68

Use to share a finding with the rest of the team - marks a row (session/quest/truth/artifact/edge) is_shared for the next sync push; revoke with wyrm_replication action=unshare.

NameTypeReqDescription
idnumberyes–
kindstringyes–

No output schema declared.

No examples provided.

wyrm_skill ~156

Use for reusable playbooks (skills) - do we already have a playbook for this? action=list (the playbooks and capabilities registered on this machine), search, get, register, create (package what you just learned into a reusable skill), activate, deactivate, graph (governance tree), stats, delete.

NameTypeReqDescription
actionstringyes–
bodystring–create
categorystring–list/register/create
descriptionstring–register/create
limitnumber–search
namestring–skill name
querystring––
skillPathstring–register
tierstring–atomic|mega|god|fable

No output schema declared.

No examples provided.

wyrm_stats ~54

Use for a health snapshot of the memory database - row counts, vector index coverage, usage.

NameTypeReqDescription
projectPathstring–failures view scope
viewstring–'failures' = prevented-repeat analytics

No output schema declared.

No examples provided.

wyrm_thread ~179

Use to get or nudge the project's working thread: a compact, always-current snapshot (objective, in-progress work, last decisions, open loops, next step, what's in play) assembled live from Wyrm's signals and persisted to the threads table. action=get assembles, persists, and renders the current thread. action=nudge additionally merges an advisory note first: a plain note seeds in-progress (only if no session signal already covers it), while a note prefixed 'loop:' appends one open loop. The signal-derived open loops, decisions, and in-play are never replaced by a nudge.

NameTypeReqDescription
actionstringyes–
notestring–nudge only: a plain note seeds in-progress; prefix with 'loop:' to append an open loop instead
projectPathstringyesProject path

No output schema declared.

No examples provided.

wyrm_truth_get ~55

Use to read the established facts and ground rules for a codebase - validated truths the AI should treat as baseline, optionally filtered by category.

NameTypeReqDescription
categorystring–Category filter
projectPathstringyes–

No output schema declared.

No examples provided.

wyrm_truth_set ~151

Use to lock in a confirmed fact or constraint as project ground truth - architecture, conventions, key decisions. Injected first into every brief; re-setting the same category+key supersedes (history kept).

NameTypeReqDescription
categorystringyese.g. architecture, conventions
confidencenumber–0-1 (default 1.0)
keystringyessnake_case key
projectPathstringyes–
rationalestring–Why this is true
sourcestring–'user'|'derived'|'observed'|'confirmed'
ttl_daysnumber–Stale after N days
valuestringyesThe statement

No output schema declared.

No examples provided.

Common questions

What is the lk.ghosts/wyrm MCP server?

lk.ghosts/wyrm is an MCP server listed in the public MCP registry as lk.ghosts/wyrm. Local-first memory for AI agents: ground truths, failure firewall, negotiated recall over MCP. This page covers its npm package (wyrm-mcp).

Is the lk.ghosts/wyrm MCP server safe to use?

lk.ghosts/wyrm scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 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 lk.ghosts/wyrm MCP server expose?

lk.ghosts/wyrm exposes 33 tools: buddy, wyrm_act, wyrm_audit, wyrm_call_external, wyrm_capabilities, and 28 more. Their descriptions and schemas cost roughly 4,433 tokens of context every time the server is loaded.

Is the lk.ghosts/wyrm MCP server still maintained?

lk.ghosts/wyrm is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.