Local-first long-term memory for MCP agents — automatic writes, on-demand recall.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 8 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
memory_archive
-
memory_get_context
-
memory_process
-
memory_reset
-
memory_resume
-
memory_search
-
memory_status
-
memory_warmup
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 101
filesystem 31
- fs (weak) HackSing-memware-c78526c/scripts/content-check.ts :1
import { readdir } from "node:fs/promises"; - fs (weak) HackSing-memware-c78526c/scripts/memware-build.ts :19
import { mkdir, stat } from "node:fs/promises"; - fs (weak) HackSing-memware-c78526c/scripts/memware-pack.ts :12
import { chmod, copyFile, mkdir, stat } from "node:fs/promises"; - fs HackSing-memware-c78526c/src/agent/memory/assets.ts :2
import { chmodSync, existsSync, mkdirSync, unlinkSync, writeFileSync } from "node:fs"; - fs HackSing-memware-c78526c/src/agent/memory/config.ts :7
import { readFileSync, existsSync } from "node:fs"; - fs HackSing-memware-c78526c/src/agent/memory/multimodalExtractor.ts :1
import { readFileSync } from "node:fs"; - fs HackSing-memware-c78526c/src/agent/memory/service.ts :8
import { existsSync } from "node:fs"; - fs HackSing-memware-c78526c/src/agent/memory/storage.ts :8
import { mkdirSync, existsSync } from "node:fs"; - fs HackSing-memware-c78526c/src/agent/memory/unified/auditLog.ts :25
} from 'node:fs'; - fs HackSing-memware-c78526c/src/agent/memory/vectorStore.ts :8
import { mkdirSync, existsSync } from "node:fs"; - fs HackSing-memware-c78526c/src/memware/adapters.ts :13
import { readFileSync } from "node:fs"; - fs HackSing-memware-c78526c/src/memware/migration.ts :4
import { existsSync, lstatSync, renameSync } from "node:fs";
show 19 more
- fs HackSing-memware-c78526c/src/memware/secureStorage.ts :18
} from "node:fs"; - fs HackSing-memware-c78526c/src/memware/sqlitePragmas.ts :26
import { mkdirSync } from "node:fs"; - fs HackSing-memware-c78526c/src/memware/tenant.ts :4
import { existsSync } from "node:fs"; - fs HackSing-memware-c78526c/src/memware/tenantMemoryHandle.ts :14
} from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/kernel/isolation.test.ts :12
import { readFileSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/agent-provenance.test.ts :6
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :6
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/hook.test.ts :6
import { mkdtempSync, writeFileSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/http-server.test.ts :6
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/resume.test.ts :6
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/server.test.ts :10
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/sqlite-pragmas.test.ts :11
import { mkdtempSync, existsSync, rmSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/tenant-provider.test.ts :2
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/memware/tenant-security.test.ts :13
} from "node:fs"; - fs (weak) HackSing-memware-c78526c/tests/unified-memory/audit-log.test.ts :1
import { mkdtempSync, readFileSync, existsSync, rmSync, statSync, symlinkSync, writeFileSync } from 'node:fs'; - fs (weak) HackSing-memware-c78526c/tests/unified-memory/audit.test.ts :19
import { mkdtempSync } from 'node:fs'; - fs (weak) HackSing-memware-c78526c/tests/unified-memory/memory-service-retention.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs'; - fs (weak) HackSing-memware-c78526c/tests/unified-memory/multimodal-assets.test.ts :1
import { existsSync, mkdtempSync, rmSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) HackSing-memware-c78526c/tests/unified-memory/router.test.ts :2
import { mkdtempSync, readFileSync } from 'node:fs';
shell / exec 5
- shell HackSing-memware-c78526c/packages/memware/bin/launcher.js :24
const { spawn } = require("node:child_process"); - shell (weak) HackSing-memware-c78526c/scripts/content-check.ts :55
const result = Bun.spawnSync(["ruby", "-e", ruby, "--", ...yamlFiles], { - shell (weak) HackSing-memware-c78526c/scripts/memware-build.ts :119
const proc = Bun.spawn( - shell (weak) HackSing-memware-c78526c/scripts/memware-pack.ts :49
const proc = Bun.spawn( - shell (weak) HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :26
const result = Bun.spawnSync({ cmd: [process.execPath, "-e", script], cwd });
network 3
- net (weak) HackSing-memware-c78526c/tests/kernel/server.test.ts :339
const response = await fetch(`http://${env.host}:${server.port}/health`, { - net (weak) HackSing-memware-c78526c/tests/memware/http-server.test.ts :137
const processRes = await fetch(`${base}/v1/process`, { - net (weak) HackSing-memware-c78526c/tests/unified-memory/memory-service-retention.test.ts :16
async fetch(request) {
tool registrations 8
- memory_status HackSing-memware-c78526c/src/memware/server.ts :98
- memory_warmup HackSing-memware-c78526c/src/memware/server.ts :127
- memory_get_context HackSing-memware-c78526c/src/memware/server.ts :138
- memory_process HackSing-memware-c78526c/src/memware/server.ts :152
- memory_search HackSing-memware-c78526c/src/memware/server.ts :184
- memory_resume HackSing-memware-c78526c/src/memware/server.ts :203
- memory_archive HackSing-memware-c78526c/src/memware/server.ts :241
- memory_reset HackSing-memware-c78526c/src/memware/server.ts :252
declared dependencies 5
- @modelcontextprotocol/sdk@^1.30.0
- openai@^4.70.0
- zod@^3.25.76
- @types/bun@^1.2.0
- typescript@^5.7.0
obfuscation 1
- dynamic require()/import() HackSing-memware-c78526c/tests/memware/config-boundary.test.ts :18
const { MemorySettings } = await import(${JSON.stringify(configModuleUrl)});