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
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
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (SEE LICENSE IN LICENSE) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
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
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
claude mcp add lk-ghosts-wyrm -- npx -y wyrm-mcp
{
"mcpServers": {
"lk-ghosts-wyrm": {
"command": "npx",
"args": [
"-y",
"wyrm-mcp"
]
}
}
} {
"servers": {
"lk-ghosts-wyrm": {
"command": "npx",
"args": [
"-y",
"wyrm-mcp"
]
}
}
} codex mcp add lk-ghosts-wyrm -- npx -y wyrm-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"lk-ghosts-wyrm": {
"type": "local",
"command": [
"npx",
"-y",
"wyrm-mcp"
],
"enabled": true
}
}
} openclaw mcp add lk-ghosts-wyrm --command npx --arg -y --arg wyrm-mcp
mcp_servers:
lk-ghosts-wyrm:
command: "npx"
args: ["-y", "wyrm-mcp"] {
"McpServers": {
"lk-ghosts-wyrm": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"wyrm-mcp"
]
}
}
} assistant mcp add lk-ghosts-wyrm -t stdio -c npx -a -y wyrm-mcp
{
"mcpServers": {
"lk-ghosts-wyrm": {
"command": "npx",
"args": [
"-y",
"wyrm-mcp"
]
}
}
} 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
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 →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| federate | boolean | – | Fold in other buddy MCPs |
| format | string | – | Peer mode only. |
| from_buddy | string | – | Caller identity |
| mood | string | – | Companion override (mood_hint values) |
| mood_hint | string | – | – |
| persona | string | – | Companion voice. |
| persona_name | string | – | For persona=custom |
| project_hint | string | – | Scope the reply |
| project_path | string | – | Companion mode: project root (default cwd) |
| size | string | – | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| goal_id | number | – | – |
| max_steps | number | – | Default 5, cap 50 |
| model_override | string | – | ollama:model |
| projectPath | string | – | – |
| query | string | – | Ad-hoc |
| title | string | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| actor | string | – | – |
| event_kind | string | – | log: tool_call etc |
| payload | object | – | log |
| projectPath | string | – | – |
| range_end | string | – | export |
| range_start | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| args | object | – | Tool arguments |
| server | string | yes | Registered server_name |
| tool | string | yes | Tool 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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | import pr |
| candidates | array | – | session |
| commits | array | – | import git |
| content | string | – | classify/rules |
| dryRun | boolean | – | artifacts |
| kind | string | – | – |
| mode | string | – | quest|truth|memory force the type |
| problem | string | – | direct |
| problemType | string | – | checklist |
| projectPath | string | – | – |
| project_id | number | – | classify/import |
| sessionId | string | – | session |
| source | string | – | – |
| specDir | string | – | spec |
| steps | array | – | checklist |
| tags | array | – | – |
| text | string | – | extract |
| title | string | – | import pr |
| validatedFix | string | – | direct |
| whenToUse | string | – | checklist |
| Name | Type | Req | Description |
|---|---|---|---|
| advisory_conflicts | array | – | – |
| artifact_id | integer | – | – |
| confidence | number | – | – |
| conflicts_with | array | – | – |
| id | integer | – | – |
| mode | string | yes | – |
| needs_review | boolean | – | – |
| reason | string | – | – |
| reasoning | string | – | – |
| ref | string | – | – |
| refs | array | yes | – |
| status | string | yes | – |
| subtype | string | – | – |
| type | string | – | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| kinds | array | – | Artifact kinds (see wyrm_recall) |
| maxItems | number | – | Default 10, max 20 |
| max_tokens | number | – | Token budget; low-score items elide to stubs |
| minConfidence | number | – | Default 0.3 |
| projectPath | string | yes | – |
| session_id | number | – | Already-seen dedup |
| strict_budget | boolean | – | Also elide truths over budget |
| task | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | number | – | 0-1, default 1.0 |
| from_id | number | yes | – |
| from_kind | string | yes | – |
| projectPath | string | yes | – |
| rationale | string | – | Why |
| relation | string | – | Default because_of |
| to_id | number | yes | – |
| to_kind | string | yes | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| id | number | – | – |
| kind | string | – | – |
| reason | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| category | string | – | – |
| key | string | – | set/delete |
| projectPath | string | – | – |
| value | string | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| depth | number | – | graph |
| entity | string | – | graph |
| limit | number | – | search |
| name | string | – | add |
| projectPath | string | – | – |
| query | string | – | – |
| relationship | string | – | link: uses|depends_on |
| source | string | – | link/merge/path |
| target | string | – | link/merge/path |
| type | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | – |
| projectPath | string | – | – |
| run_scope | string | – | Quarantine tier filter (run = same-run only) |
| scope | string | yes | – |
| target | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| blocked | boolean | yes | – |
| confidence | number | yes | – |
| matches | array | yes | – |
| recorded_by_agent | string|null | yes | – |
| run_id | string|null | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | What was tried |
| projectPath | string | – | Global if omitted |
| promote | string | – | Widen the tier (explicitly attributed callers only) |
| scope | string | yes | – |
| severity | string | – | – |
| target | string | yes | File, symbol, command, or prompt |
| why_failed | string | – | Diagnosis if known |
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
| occurrences | integer | yes | – |
| promote | object|null | yes | – |
| quarantine_scope | string | yes | – |
| run_id | string|null | yes | – |
| scope | string | yes | – |
| target | string | yes | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| description | string | – | – |
| id | number | – | – |
| priority | string | – | set: critical|high|medium|low |
| projectPath | string | – | – |
| success_criteria | string | – | set: definition of done |
| title | string | – | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| archiveDays | number | – | Archive sessions > N days |
| vacuum | boolean | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| args | array | – | register: argv |
| command | string | – | register: executable |
| env | object | – | register |
| server_name | string | – | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| agent_id | string | – | – |
| agent_kind | string | – | announce: claude|codex|human |
| current_file | string | – | announce |
| projectPath | string | – | – |
| ttl_seconds | number | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| direction | string | – | sync: import|export|both |
| limit | number | – | – |
| path | string | – | scan |
| projectName | string | – | context |
| projectPath | string | – | context/sync |
| recursive | boolean | – | – |
| search | string | – | list |
| watch | boolean | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| agent_id | string | – | claim/release |
| description | string | – | – |
| limit | number | – | list (default 50) |
| priority | string | – | – |
| projectPath | string | – | add |
| quest_id | number | – | – |
| tags | string | – | add |
| title | string | – | add |
| ttl_seconds | number | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Default full |
| kind | string | – | – |
| limit | number | – | Default 10 |
| minConfidence | number | – | 0-1 (default 0) |
| projectPath | string | yes | – |
| query | string | yes | The task or problem |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| query | string | yes | – |
| queued_for_review | integer | – | – |
| results | array | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| kind | string | – | add |
| limit | number | – | – |
| location | string | – | add: URL/path/inline |
| projectPath | string | – | Omit for global |
| query | string | – | search |
| tags | string | – | add |
| title | string | – | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| baseUrl | string | – | peer_add/remove |
| conflict_id | number | – | resolve |
| cursor | number | – | since |
| id | number | – | – |
| interval_minutes | number | – | start |
| kind | string | – | – |
| limit | number | – | conflicts/since |
| mode | string | – | resolve: kept_local|kept_remote|merged |
| payload | object | – | publish |
| peerUrl | string | – | replicate |
| projectPath | string | – | – |
| remoteProject | string | – | peer_add/replicate |
| token | string | – | replicate |
| tokenEnv | string | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | yes | true = activate, false = hard delete |
| artifactId | number | yes | – |
| notes | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | yes | – |
| artifact_id | integer | yes | – |
| deleted | boolean | yes | – |
| notes | string|null | yes | – |
| problem | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| agent_id | string | – | default: ambient envelope |
| learnings | array | – | debrief: [{agent_id?, text}] |
| orchestrator | string | – | start |
| parent_run_id | string | – | start: nested fleets |
| project_path | string | – | debrief/end |
| role | string | – | join |
| run_id | string | – | start mints if omitted |
| status | string | – | end (default completed) |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| agents | array | – | – |
| claims | integer | – | – |
| claims_released | integer | – | – |
| expired | integer | – | – |
| method | string | – | – |
| orchestrator | string|null | – | – |
| promoted | integer | – | – |
| quarantined | integer | – | – |
| queued | integer | – | – |
| resolved | integer | – | – |
| run_id | string | yes | – |
| skipped | integer | – | – |
| status | string | yes | – |
| summary_artifact_id | integer|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.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | Default hybrid, else lexical |
| projectPath | string | – | Limit to one project |
| query | string | yes | – |
| type | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| entities | array | yes | – |
| mode | string | yes | – |
| query | string | yes | – |
| sections | array | yes | – |
| skills | array | yes | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| commits | string | – | update |
| completed | string | – | update |
| issues | string | – | – |
| notes | string | – | – |
| objectives | string | – | – |
| projectPath | string | – | start/update |
| session_id | number | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| for_spawn | boolean | – | – |
| log_session | boolean | – | Also log a session row |
| projectPath | string | – | – |
| project_id | number | – | – |
| project_name | string | – | – |
| role | string | – | – |
| run_id | string | – | Fleet: brief cached per (run_id, role) |
| task | string | – | Drives scaffold + memory selection |
| token_budget | number | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | integer | yes | – |
| project_name | string | yes | – |
| sections | array | yes | – |
| session_id | integer|null | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | – |
| kind | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| body | string | – | create |
| category | string | – | list/register/create |
| description | string | – | register/create |
| limit | number | – | search |
| name | string | – | skill name |
| query | string | – | – |
| skillPath | string | – | register |
| tier | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| projectPath | string | – | failures view scope |
| view | string | – | '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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| note | string | – | nudge only: a plain note seeds in-progress; prefix with 'loop:' to append an open loop instead |
| projectPath | string | yes | Project 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category filter |
| projectPath | string | yes | – |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | e.g. architecture, conventions |
| confidence | number | – | 0-1 (default 1.0) |
| key | string | yes | snake_case key |
| projectPath | string | yes | – |
| rationale | string | – | Why this is true |
| source | string | – | 'user'|'derived'|'observed'|'confirmed' |
| ttl_days | number | – | Stale after N days |
| value | string | yes | The statement |
No output schema declared.
No examples provided.
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.