LNM Brain MCP Server (Ritik-Sharma1/lnm-brain-public) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 27 tools. No publisher has claimed this listing.
A self-hosted MCP server that captures, compresses, and indexes AI conversations, enabling persistent cross-session memory for AI assistants via hybrid retrieval.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
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
Ritik-Sharma1
Source: Glama
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.
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.
query_second_brainSearch Second Brain. Returns entity facts FIRST (instructions at top), then doc matches. Best for recall. Semantic/vector fusion + 1-hop run BY DEFAULT (bridges synonyms, e.g. supplements≈medications). Optional category filter: decision|bugfix|feature|discovery|conversation|note. Set fast=true ONLY …
get_entity_factsGet confidence-scored facts for a specific entity. Supports category filter: fact|preference|instruction|history. Resolves aliases automatically.
ask_second_brainNatural language Q&A over your entire Second Brain. Uses semantic search + reranking + entity facts + instructions. Best for questions.
semantic_searchSemantic vector search using AI embeddings.
capture_to_second_brainSave content. Auto-extracts entity facts (with categories + triples) + contradiction detection + normalization. surface is FIRST-CLASS — pass it on every capture. If YOU (the assistant) can compress, pass wiki_body with a clean wiki-formatted summary that preserves all nuance — the worker stores it …
ingest_to_second_brainFull Karpathy INGEST pipeline + fact extraction + triple storage. Pass wiki_body to store an assistant-compressed summary verbatim and skip the weak external-LLM pass. type='project' routes to wiki/projects/ with project_meta frontmatter.
get_latest_handoffReturn the freshest SESSION-HANDOFF entry as {observation_id,timestamp,timestamp_ist,surface,topic,state,next_action,trail}. KV-only, no LLM. Call this FIRST at session start.
list_recentRecent observations sorted by timestamp DESC across ALL session_id buckets. Optional filters: surface, since (ISO/date), until (ISO/date), entity. KV+graph join, no LLM.
get_handoffsHistory of SESSION-HANDOFFs sorted by timestamp DESC. Includes superseded ones. Useful for week/month reviews. KV-only, no LLM.
get_home_feedPre-computed snapshot of the most recent observations across all surfaces (refreshed by cron). Zero KV reads beyond one. KV-only, no LLM.
lint_second_brainHealth-check: orphans, uncompressed files, entity facts summary, triple count.
read_second_brain_fileRead full content of a specific file.
get_second_brain_graphGet knowledge graph nodes + edges.
write_second_brain_fileWrite a file at a specific path.
query_triplesQuery structured triples (subject|predicate|object) for an entity. Filter by predicate, category, or derivation. Direct lookup, no LLM needed. Each triple includes derivation ('stated'=verbatim from user | 'inferred'=LLM-extracted | 'reinforced'=re-confirmed | 'unknown'=legacy) and source_obs_id (or…
get_top_entitiesGod-node ranking: the most-connected entities in the whole Second Brain right now, scored by fact_count + 2×triple_count. Surfaces what everything flows through — the hubs whose removal would fragment the knowledge graph. Like Graphify's god-nodes, but for personal cross-session memory. KV scan, no …
find_entity_pathShortest connection between two entities via the triple graph (BFS, ≤4 hops). Answers 'what connects X to Y across everything I've captured' with the hop-by-hop path + the predicate on each edge. Like Graphify's `path` command, but over personal knowledge. Returns null if unreachable. KV-only, no LL…
get_session_indexLightweight index of observations in a session. Defaults to most recent session. ~40-50 tokens per entry. No LLM, KV-only.
get_observationFetch full content of one observation by id (returned from get_session_index). On-demand, no LLM.
get_about_meSynthesized self-model of Ritik: identity, beliefs, active state, and an adversarial Tensions/Open-Loops section that surfaces where recent actions contradict committed rules. Pre-computed by cron (daily 4am IST), augmented live with current session context. NOT a flattery doc.
get_selfTiered personalized self-model of Ritik — TOKEN-CHEAP by default. depth:'core' (default) = ~10 identity facts + top behavioral + 1-line voice (tiny, load every session). depth:'domain' + domain:'writing|design|build|client|decision|habit' = one targeted slice (e.g. his ShreeTools ad-writing style) —…
refresh_about_meForce-regenerate the About-Me self-model now (instead of waiting for the daily cron). Returns counts per layer + tensions found.
get_routing_indexGet domain routing index — shows which content domains exist (code/work/personal/research/health/finance/general), their sizes, and recent titles. Optional surface filter narrows by capture origin. Use this FIRST to narrow search scope before querying.
keyword_searchv9: D1 FTS5 keyword search over observation title+content+entities+tags. Instant retrieval, no Vectorize lag. Falls back to GitHub keyword scan if D1 binding absent.
recall_brainv9: Hybrid recall — runs semantic + keyword (FTS5) + entity + triple lookups in parallel, fuses via reciprocal rank fusion, applies recency boost. Returns top K with provenance (which methods matched).
session_contextv9: Orient at session start — single <3 KB payload with latest_handoff + open_threads + recent_verdicts + active_topics. Call this FIRST after BRAIN-STARTUP.
forgetv10.2.2: Correct/retract wrong memory. mode='fact' retracts one entity fact (marks superseded, confidence→0, so it stops surfacing but stays auditable) — pass entity + fact (exact text). mode='triple' retracts one triple — pass entity + predicate (+ object to disambiguate). mode='observation' marks …
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
Wrangler affected by OS Command Injection in `wrangler pages deploy`
CLOUDFLARE_API_TOKENTool 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
27/27 tools missing one or more hints — query_second_brain (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_entity_facts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ask_second_brain (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +24 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.
README present
No README found
Add a README.md describing the server and its tools.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tests exist
No test files found
Add tests that exercise each declared tool.
Shell command execution
1 child_process call — runs shell commands
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Secrets not logged
4 secret values sent to console.log
Redact or omit secret values from log output.
Production dependencies are patched
0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.10.2 (high), @modelcontextprotocol/sdk@1.10.2 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
1 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
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.
[](https://m8ven.ai/mcp/ritik-sharma1/lnm-brain-public)?variant=verified from the URL.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