Shared_Memory (KanenasInGreece/Shared_Memory) is an MCP server listed on the M8ven Trust Index. It scores 45 out of 100, grade D. It declares 11 tools. No publisher has claimed this listing.

D
Warning
45/100

Shared_Memory

Memory Framework based on the idea of Architectural Decision Records, shared knowledge between AI agents (Claude Code, Codex, Antigravity ...). Agent installable, vector (Postgres + pgvector) + graph (Neo4j) backbone, managed through a local gateway, supporting multiple local LLM backends, with full provenance, consolidation, telemetry and more

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

KanenasInGreece

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Reads files from sensitive locations
Touches: ~/.claude/skills/shared-memory/.env, ~/.codex/skills/shared-memory/.env, ~/.gemini/skills/shared-memory/.env
🔐
You'll be asked for 6 credentials: AGENT_TOKEN, PG_PASSWORD, NEO4J_PASSWORD, BACKUP_ADVISORY_LOCK_KEY, NREM_PRIORITY_ADVISORY_LOCK_KEY, EMBED_CHARS_PER_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes11 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

hybrid_search_and_rerank

Search the shared memory: Tier-3 thematic/insight narratives for orientation, Tier-1 facts for precision, expanded through the entity graph.

save_artifact

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Stores an artifact in shared memory via the Hive-Mind Gateway.

archive_reasoning_trace

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Archive the agent's reasoning path as a memory record.

save_decision

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Save an architectural or design decision with full PROV-O provenance.

save_retrospective

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Record an outcome for an existing Decision as a full retrospective record (own searchable record + Retrospective node behind the decision's HAD_OUTCOME trigger

supersede

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Retract / supersede an existing FACT (decision 381/384). Decisions and retrospectives are refused with HTTP 400: supersession is the fact lifecycle. To overturn

review_hold

Requires a write-capable agent token: a read-only token receives an honest HTTP 403 role refusal from the gateway — expected, do not retry. Mark a summary's flagged stale source as reviewed-and-held (decision 384).

check_memory_health

Full-stack diagnostic for the shared-memory infrastructure.

memory_telemetry

Operational telemetry snapshot from the gateway (GET /memory/telemetry).

record_lineage

This is a READ — GET /memory/status/{ref} makes no mutation, so it is on the gateway's read-role allowlist and a read-only agent token reaches it fine, no 403. "What happened to this record?" — its state, its dream-cycle stamps (applied → rem_reviewed → consolidated), and which summary it was folded

graph_query

Run a READ-ONLY Cypher query against the knowledge graph.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configVECTOR_SKILL_ENVthe token out of that config entirely by pointing at a client-only .env
configCOORDINATOR_URL
configAGENT_ID
configHEALTH_PROBE_TIMEOUT_S
configSEARCH_TIMEOUT_S
configSEARCH_TIMEOUT_FLOOR_S
configSEARCH_TIMEOUT_MAX_S
configSEARCH_TIMEOUT_FALLBACK_S
configSEARCH_SAFETY_FACTOR
configSEARCH_OVERHEAD_S
🔐 secretAGENT_TOKENexport by reading it out of a write-capable agent's skill .env from step 6 (the
configMEMORY_LOG_LEVEL
configMEMORY_LOG_PATH
🔐 secretPG_PASSWORD
configNEO4J_URI
configNEO4J_USER
🔐 secretNEO4J_PASSWORD
configPG_USER
configPG_HOST
configPG_PORT
configPG_DATABASE
configPG_MAINTENANCE_DB
configGATEWAY_URL
configLLM_BACKENDS_JSONadds nothing to the host: an overnight of dreaming measured ~18,000 tokens, under a cent. With no LLM configured nothing dies — saves, search and the graph keep working; summaries and insights queue until a backend appears
configNEO4J_MAX_POOL
configNEO4J_ACQUIRE_TIMEOUT
configLLM_MODEL
configNREM_IDLE_THRESHOLD_SEC
configNREM_ELIGIBILITY_RECHECK_SEC
configNREM_POOL_PROBE_SEC
configNREM_MAX_TOKENS_SUMMARY
configNREM_MAX_TOKENS_INSIGHT
configNREM_TRUNCATION_RETRY_FACTOR
configNREM_FOLD_FAIL_WINDOW
configNREM_FOLD_FAIL_CAP
configNREM_INSIGHT_SLOT_INPUT_CHARS
configNREM_FORCED_SLOT_WAIT
🔐 secretBACKUP_ADVISORY_LOCK_KEY
🔐 secretNREM_PRIORITY_ADVISORY_LOCK_KEY
configNREM_SWEEP_INTERVAL_SEC
configNREM_TEMPERATURE
configDREAM_TEMPERATURE(load it text-only; set =0.6, Gemma degrades at lower temperatures) and
configCONSOLIDATION_RUNS_RETENTION_DAYS
configMOCK_LLM
configAGENT_ROLESdistinguishes one origin from another. Roles can narrow a token: =monitor:read
configENTITY_CONFUSABLE_SIMILARITY
configGATEWAY_LATENCY_WINDOW
configCLIENT_VERSIONS_MAX
configGATEWAY_AUDIT_LOG_PATH
configCONSOLIDATION_HEALTH_REFRESH_SEC
configCONSOLIDATION_ORPHAN_TIMEOUT_SEC
configTELEMETRY_CACHE_S
configENCODER_LATENCY_WINDOW
configPOOL_WAIT_WINDOW
configNEO4J_LATENCY_WINDOW
configENCODER_LATENCY_WARN_MS
configOUTBOX_AGE_WARN_S
configTOKEN_VERIFY_WARN_PER_MIN
configNREM_FOLD_ATTEMPT_WARN
configBREAKDOWN_AXIS_TOP_N
configDOMAIN_CONFUSABLE_SIMILARITY
configDREAM_METRICS_PATH
configLLM_CEILING_FLOOR
configLLM_MIN_TOK_S
configEMBED_MIN_TOK_S
configEMBED_MAX_CONTEXT_TOKENS
🔐 secretEMBED_CHARS_PER_TOKEN
configEMBED_SAFETY_FACTOR
configEMBED_TIMEOUT_FLOOR_S
configRERANK_MIN_CHARS_S
configRERANK_SAFETY_FACTOR
configRERANK_TIMEOUT_FLOOR_S
configMAX_ENTITY_NAME_WORDS
configSLOT_AWARE
configNVTOP_BIN
configNVTOP_TIMEOUT_SEC
configGPU_BUSY_PERCENT
configGPU_INDICES
configEMBEDDER_URLexpects, so points straight at it.
configRERANKER_URLSHIM_PORT, SHIM_TIMEOUT_S). Run it, point at it, restart the gateway. It binds
configEMBED_RERANK_BUFFER_CAP
configLLM_DEFAULT_TARGET
configLLM_BACKENDSand it can be a pool: ="url@weight,…" load-balances the dreaming across several
configLLM_FAIL_THRESHOLD
configLLM_FAIL_WINDOW
configLLM_COOLDOWN
configLLM_CHARS_PER_TOKEN_RATIO
configFIT_MARGIN
configFIT_DEFAULT_OUTPUT_TOKENS
configLLM_MAX_INFLIGHT_WAIT_S
configLLM_MAX_INFLIGHT_POLL_S
configLLM_MAX_CAPACITY_WAITERS
configLLM_WEDGE_SUSPECT_AGE
configLLM_USAGE_CAPTURE_CAP_BYTES
configLLM_AFFINITY_PREFIX_CHARS
configLLM_AFFINITY_TTL
configLLM_AFFINITY_MAX_INFLIGHT
configLLM_STEER_EXTRA_AGENT_NAMES
configCAPABILITY_PROBE_INTERVAL_S
configCAPABILITY_PROBE_RETRY_S
configCAPABILITY_PROBE_DOCS
configCAPABILITY_PROBE_DOC_CHARS
configCAPACITY_NEO4J_FALLBACK_BYTES
configCAPACITY_PG_MEM_ALLOWANCE_BYTES
configCAPACITY_EMBEDDER_MEM_ALLOWANCE_BYTES
configCAPACITY_GATEWAY_MEM_ALLOWANCE_BYTES
configCAPACITY_OS_MEM_MARGIN_BYTES
configNEO4J_HEAP_MAX
configNEO4J_PAGECACHESet the small-host preset (NEO4J_HEAP_INITIAL/MAX, NEO4J_PAGECACHE) from .env.example; preflight's RAM check tells you which tier you are on.
configCPU_ENCODER_REPLICASand =0, and what you run never diverges from what ships. If you have one
configGPU_ENCODER_REPLICASIntel, AMD and NVIDIA), off by default — the choice is two .env lines, =1
configHEALTH_CACHE_TTL_S
configEMBED_MAX_CHARS
configALLOW_UNAUTHENTICATED_PROVIDER_KEYS
configTOKEN_LIFECYCLE_SUM_INTERVAL_S
configXDG_RUNTIME_DIR
configPROXY_BINDThe gateway binds to localhost by default. =0.0.0.0 opts into wider exposure — do
configGATEWAY_UDS_PATH
configGATEWAY_UDS_MODE
configSECURE_ENV_FILE
configSHARED_MEMORY_PROJECT
configCOORDINATOR_UDS
configSM_PRE_UPDATE_VERSION
configGATEWAY_UNIT
configEMBED_URL
configPROJECT_ALIASES
configSMEM_ONTOLOGY_PATH
configMIN_ENTITY_NAME_LEN
configPOOL_STATUS_URL
configPROJECT_CONFUSABLE_SIMILARITY
configAUDIT_LOG_PATH
configWRITE_QUIESCE_SEC
configREM_SUMMARY_THRESHOLD
configREM_TEMPERATURE
configREM_MAX_TOKENS_SOLO
configREM_MAX_TOKENS_PER_FACT
configREM_MAX_TOKENS_PER_SUMMARY
configREM_TRUNCATION_RETRY_FACTOR
configREM_TRUNCATION_SPECIMEN_CHARS
configREM_MAX_ATTEMPTS
configREM_STARVED_THRESHOLD
configSHIM_VLLM_URLand refuses any path it was not built to map. Four env settings (, SHIM_HOST,
configSHIM_HOSTand refuses any path it was not built to map. Four env settings (SHIM_VLLM_URL, ,
configSHIM_PORT, SHIM_TIMEOUT_S). Run it, point RERANKER_URL at it, restart the gateway. It binds
configSHIM_TIMEOUT_SSHIM_PORT, ). Run it, point RERANKER_URL at it, restart the gateway. It binds
configSECURE_ENV_SECRET_FILE_MAX_BYTES
configCREDENTIALS_DIRECTORY
configagent_tokens
configPROJECT_CLOSE_MATCH_CUTOFF
configPROJECT_ROOTS
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

11/11 tools missing one or more hints — hybrid_search_and_rerank (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); save_artifact (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); archive_reasoning_trace (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +8 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

No access to sensitive paths

Reads sensitive paths: ~/.claude/skills/shared-memory/.env, ~/.codex/skills/shared-memory/.env, ~/.gemini/skills/shared-memory/.env

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/kanenasingreece/shared_memory?variant=verified)](https://m8ven.ai/mcp/kanenasingreece/shared_memory)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: b1c7239495e7329c5dfba81796c9cbac7484ce6c
code hash: e016e9674acc58ff4be58850578a7d911976ba36c1ad61882ef66b07d893f32e
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client