GrayMatterEnvironment (recla93/GrayMatterEnvironment) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 53 tools. No publisher has claimed this listing.
The Gray Matter suite, developed as one tree: Neuron (persistent semantic memory), NeuRAG (hierarchical knowledge base) and Gray Matter (the MCP gateway that runs them as managed workers). The three public repos are projections of this one — code is committed here and mirrored out.
Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. 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
recla93
Source: github_repo_search
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.
gray_matter_pulsePre-context + knowledge chunks + flash. Calls neuron_get_context and neurag_query in parallel, merges the results, uses the cache.
gray_matter_statusShow Gray-Matter status: registered servers, cache, counters.
gray_matter_bridgePersist a cross-store bridge: a link between a Neuron concept and a NeuRAG knowledge node the orchestrator found to relate. Recalled in future pulses on either endpoint.
gray_matter_state_setBlackboard (GM, thalamus): publish key=value with an optional TTL in seconds. Keys are 'org/component/name'. Returns the entry with its version.
gray_matter_state_getBlackboard: read key. None if missing or expired — state decays on its own.
gray_matter_state_deltaBlackboard: changes from version `since` onwards, filtered by key prefix (expired entries included).
gray_matter_brainstormBrain (GM, thalamus): what surrounds a problem, with its history. Mid-band memory nodes (related but not obvious) with their facts and link rationales — a past decision, a bug solved once — plus the nearest knowledge chunks. For dilemmas, problems and decisions. Requires 'seed'.
dynamic_tool_669knowledge_ingestGraph-ize a folder OR a single document server-side in ONE
knowledge_ingest_statusStatus of ingest jobs started with knowledge_ingest
knowledge_indexChunk a file or directory without saving. Returns JSON list of chunks. LLM then calls knowledge_add_node + knowledge_add_chunks to organize them. For whole folders prefer knowledge_ingest (server-side, no chunks through context).
knowledge_add_nodeCreate a node in the hierarchy.
knowledge_add_chunksAttach previously indexed chunks to a node.
knowledge_queryknowledge_statusShow knowledge base status: engine, node count, chunk count.
knowledge_treeShow the hierarchical node tree.
knowledge_healthStructural audit of the vault: broken hierarchy, tiny/empty chunks, duplicate names (serious) + orphan nodes, chunks without source, nodes without triggers (warnings). Read-only — flags, never deletes.
knowledge_link_graphShow all node links (tag_overlap, cross_ref) with weights and evidence.
knowledge_rebuild_linksClear all links and rebuild from tags + cross-refs. Returns count of links created.
knowledge_reindexRe-embed every chunk with the currently active embedding model. Use after changing embed_model: vectors from two models are not comparable, so search returns noise until the vault is rebuilt. Only vectors change — chunk text, nodes and links are untouched, and the source files are not needed. For a …
knowledge_neighborsD3 — structured neighborhood of a node, resolved from a query (trigger match, then exact name). BFS over parent/children/links up to `depth` hops. JSON: {node, neighbors:[{name, path, node_type, relation, distance}]}. Empty node = no match. Cheap (SQL-only) — built for Gray Matter's proactive-knowle…
knowledge_confirmMark results as having been USEFUL TOGETHER, so the links
knowledge_relatedAssociative expansion: spreading activation from a node, k hops
knowledge_remove_nodeDelete a node and its entire subtree (children, chunks, links).
knowledge_rename_nodeRename a node; updates the materialised path of itself and all
knowledge_importBulk-import a folder tree from a YAML mapping (deterministic, no
knowledge_skillReturn the FULL text of a NeuRAG skill on demand — token-cheap,
statusstore_turnget_contextconfirmdismissrecallfind_candidatesScreening: find existing similar keywords (vector search). Call BEFORE store_turn.
aroundvector_searchSemantic vector search. Find similar keywords via Turso vector_distance_cos or a Python cosine fallback (384-dim fastembed embeddings, NS_EMBED_MODEL).
summaryTextual graph summary: top keywords, recent links, health, forgotten concepts
introspectNeuron self-model (C3): what the memory knows about itself — strongest/most-trusted concepts, recent growth, weakest domain, loop compliance. JSON.
forgottenFind keywords not touched in N turns (decaying salience). Useful for rediscovering lost concepts. With `near`, ranks dormant concepts by mid-band similarity to a topic — relevant but non-obvious (serendipity).
pruneForce prune inactive tangential links
consolidatededupToggle keyword deduplication, or set it explicitly with enable=true/false. Output reports the resulting ON/OFF state.
flashToggle semantic flashbacks
resetReset the graph and start over. DESTRUCTIVE & irreversible: requires confirm=true.
extractAutomatic semantic extraction from text: keyword, topic, domain, intent, sentiment, entities. Heuristic (0 token) — no LLM extraction.
autoPOST fallback (0-token): one-shot extract + topic-shift + auto-link + save. Prefer a curated store_turn when you can pick the concepts yourself; use auto only for throwaway turns.
exportExport the complete graph as JSON
mergeswitch_contextSwitch active context (creates if new). E.g. 'java/spring', 'python/django'.
list_contextsList all available contexts with metadata.
pre_turnhelpShow every Neuron command (one line each) plus how to use Neuron well. Call once at the start if unsure; full playbook: call skill(name='playbook').
skillReturn the FULL text of a Neuron skill/playbook on demand — token-cheap, fetch it only when you need the details. Use after the compact opener to load the complete workflow or curation rules.
XDG_DATA_HOMEGM_PREWARMPre-warm models on startupGM_SHARED_WORKERSNEURAG_TOOLSNS_CONSOLIDATE_AUTONEURON_TOOLSNEURON_USERNEURON_CONFIRM_HINTNEURON_NO_GMNEURON_SLUGNEURON_NO_DOTENVIf "1", skip .env loadingNS_GRAPHS_DIRGraph storage directoryPYTEST_CURRENT_TESTGM_NO_DOTENVGM_ENV_FILEGM_WORKER_FRESH_TTLGM_WORKER_CHECKPOINTGM_BACKUP_KEEPGM_BRIDGE_HOSTGM_BRIDGE_PORTGM_BRIDGE_TUNNELGM_TURSO_DATABASE_URLGM_TURSO_AUTH_TOKENTURSO_AUTH_TOKENRemote Turso auth tokenGRAY_MATTER_BRIDGESGM_PORTGM_INSTALLERGM_TURSO_CLI_INSTALLGM_NEURON_CLIENTSGM_HOMENEURAG_HOMEGM_TARGET_PYTHONGRAY_MATTER_STATETURSO_DATABASE_URLRemote Turso DB URL — enables cloud storageNEURAG_TURSO_DATABASE_URLSeparate Turso DB for NeuRAGNEURAG_TURSO_AUTH_TOKENNeuRAG Turso auth tokenGM_GUI_NOBROWSERGM_GUI_BROWSERGM_GUI_SELFTESTGM_GUI_SELFTEST_TIMEOUTGM_GUI_DEBUGGM_SLUGNEURAG_BRIDGE_HOSTGM_NO_CLIENT_REGISTERNEURAG_VENDORNEURAG_REQUIRE_TURSOIf "0", skip auto-install of pytursoNEURAG_TURSO_ATTEMPTSNEURAG_TURSO_AUTOINSTALLNEURAG_EMBED_MODELFastEmbed model (384-dim)NS_EMBED_MODELNEURAG_EMBED_DIMNS_EMBED_DIMNEURAG_EMBEDDEREmbedder: auto / fastembed / nullNEURAG_BRIDGE_TOKENNEURAG_BRIDGE_ALLOW_OPENNEURON_VAULTNEURON_ENV_FILENEURON_BRIDGE_HOSTNEURON_HOMENEURON_INSTALL_DIRNEURON_BACKUP_KEEPNEURON_DEBUGNEURON_BRIDGE_TOKENNEURON_BRIDGE_ALLOW_OPENNEURON_REPONEURON_SEED_RETRY_SECNEURON_CROSS_SIMNEURON_CROSS_TOP_NTool 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
53/53 tools missing one or more hints — gray_matter_pulse (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); gray_matter_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); gray_matter_bridge (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +50 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.
Tool test coverage
37/53 tools referenced in tests (70%)
Write tests that reference each tool by name so every tool has at least one test.
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/recla93/graymatterenvironment)?variant=verified to the badge 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