Persistent, trust-scored project memory for AI coding agents — MCP server + CLI, backed by PostgreSQL + pgvector.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http · sse counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 445011d · analyzer v33 · 3w ago
skills & prompt files 3
danger signals4
- committed secret GitHub token event4u-app-agent-memory-445011d/tests/unit/embedding-boundary.test.ts :25
ghp_01…(42 chars, redacted) - committed secret GitHub token event4u-app-agent-memory-445011d/tests/unit/logger-redact.test.ts :21
ghp_01…(42 chars, redacted) - committed secret GitHub token event4u-app-agent-memory-445011d/tests/unit/secret-guard-wiring.test.ts :26
ghp_01…(42 chars, redacted) - committed secret GitHub token event4u-app-agent-memory-445011d/tests/unit/secret-guard.test.ts :15
ghp_01…(42 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 236
filesystem 40
- fs (weak) event4u-app-agent-memory-445011d/scripts/check-changelog.ts :14
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-cli-commands.ts :14
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-deprecation-changelog.ts :18
import { readFileSync, readdirSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-embedding-boundary.ts :19
import { readdirSync, readFileSync, statSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-ingress-guards.ts :16
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-mcp-tools.ts :16
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/check-neutral-docs.ts :24
import { existsSync, readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/eval-entropy-threshold.ts :22
import { readFileSync, writeFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/generate-cli-docs.ts :16
import { readFileSync, writeFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/scripts/generate-secret-patterns-doc.ts :17
import { readFileSync, writeFileSync } from "node:fs"; - fs event4u-app-agent-memory-445011d/src/cli/commands/import.ts :5
import { readFileSync } from "node:fs"; - fs event4u-app-agent-memory-445011d/src/cli/doctor.ts :12
import { existsSync, lstatSync, readdirSync, readFileSync, readlinkSync } from "node:fs";
show 28 more
- fs event4u-app-agent-memory-445011d/src/cli/init.ts :13
import { access, constants, readFile, writeFile } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/config/project-config.ts :15
import { readFileSync, statSync } from "node:fs"; - fs event4u-app-agent-memory-445011d/src/export/parse.ts :8
import { readFileSync } from "node:fs"; - fs event4u-app-agent-memory-445011d/src/ingestion/scanners/doc-reader.ts :1
import { readdir, readFile } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/ingestion/scanners/file-scanner.ts :1
import { readdir, readFile, stat } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/ingestion/scanners/symbol-extractor.ts :1
import { readFile } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/trust/validators/file-exists.validator.ts :1
import { access } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/trust/validators/symbol-exists.validator.ts :1
import { readFile } from "node:fs/promises"; - fs (weak) event4u-app-agent-memory-445011d/src/trust/validators/test-linked.validator.ts :1
import { access } from "node:fs/promises"; - fs event4u-app-agent-memory-445011d/src/utils/is-main-module.ts :1
import { realpathSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/contract-builders.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/explain-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/export-v1-contract.test.ts :12
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/history-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/invalidate-git-diff-contract.test.ts :7
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/policy-check-contract.test.ts :7
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/promotion-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/retrieval-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/review-weekly-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/contract/secret-violation-contract.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/check-deprecation-changelog.test.ts :11
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/check-ingress-guards.test.ts :44
for (const e of require("node:fs").readdirSync(d)) { - fs (weak) event4u-app-agent-memory-445011d/tests/unit/config-precedence.test.ts :7
import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/entropy-corpus.test.ts :1
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/importers/mem0.test.ts :9
import { readFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/init.test.ts :7
import { mkdtemp, readFile, writeFile } from "node:fs/promises"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/is-main-module.test.ts :1
import { mkdtempSync, rmSync, symlinkSync, writeFileSync } from "node:fs"; - fs (weak) event4u-app-agent-memory-445011d/tests/unit/project-config.test.ts :6
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
shell / exec 6
- shell (weak) event4u-app-agent-memory-445011d/examples/node-programmatic/index.ts :14
import { execFile } from "node:child_process"; - shell event4u-app-agent-memory-445011d/src/ingestion/extraction-guard.ts :1
import { execFile } from "node:child_process"; - shell event4u-app-agent-memory-445011d/src/ingestion/scanners/git-reader.ts :1
import { execFile } from "node:child_process"; - shell event4u-app-agent-memory-445011d/src/invalidation/git-diff.ts :1
import { execFile } from "node:child_process"; - shell event4u-app-agent-memory-445011d/src/trust/validators/diff-impact.validator.ts :1
import { execFile } from "node:child_process"; - shell (weak) event4u-app-agent-memory-445011d/tests/unit/check-deprecation-changelog.test.ts :10
import { execFileSync } from "node:child_process";
network 7
- net (weak) event4u-app-agent-memory-445011d/scripts/check-embedding-boundary.ts :37
// the boundary — catches raw `fetch()` / `undici` calls. - net event4u-app-agent-memory-445011d/src/cli/serve-http.ts :13
import http, { type IncomingMessage, type Server, type ServerResponse } from "node:http"; - net event4u-app-agent-memory-445011d/src/mcp/sse-server.ts :22
} from "node:http"; - net (weak) event4u-app-agent-memory-445011d/tests/contract/sse-transport.test.ts :64
fetch(url, { - net (weak) event4u-app-agent-memory-445011d/tests/unit/check-embedding-boundary.test.ts :29
const src = `await fetch("https://api.openai.com/v1/embeddings", { method: "POST" });`; - net (weak) event4u-app-agent-memory-445011d/tests/unit/serve-http.test.ts :7
import type { IncomingMessage, ServerResponse } from "node:http"; - net (weak) event4u-app-agent-memory-445011d/tests/unit/sse-server.test.ts :7
import type { IncomingMessage, ServerResponse } from "node:http";
secrets 1
- secrets event4u-app-agent-memory-445011d/src/cli/commands/mcp.ts :49
const token = process.env.MEMORY_MCP_AUTH_TOKEN;
install hooks 2
- prepare event4u-app-agent-memory-445011d/package.json :57
npm run build - postinstall event4u-app-agent-memory-445011d/package.json :58
bash scripts/postinstall.sh
declared dependencies 15
- @modelcontextprotocol/sdk@^1.29.0
- commander@^14.0.3
- pgvector@^0.2.1
- pino@^10.3.1
- postgres@^3.4.9
- prom-client@^15.1.3
- yaml@^2.8.3
- @biomejs/biome@^2.4.11
- @event4u/agent-config@github:event4u-app/agent-config#main
- @types/node@^25.6.0
- ajv@^8.18.0
- ajv-formats@^3.0.1
show 3 more
- tsx@^4.21.0
- typescript@^6.0.2
- vitest@^4.1.4
transport_posture 2
- network-listening, binds all interfaces, no auth detected event4u-app-agent-memory-445011d/src/cli/serve-http.ts :108
server.listen(opts.port, opts.host ?? "0.0.0.0"); - binds all interfaces (0.0.0.0) event4u-app-agent-memory-445011d/src/mcp/sse-server.ts :170
const { port, token, host = "0.0.0.0", onSessionEnd, buildServer } = options;