Skip to main content
Glama
madgodinc

mgi-mind

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MGIMIND_TOKENNoBearer token for the server. The Docker image prints one on startup; pin a stable token with `-e MGIMIND_TOKEN=your-token` (e.g. `docker run -p 8765:8765 -e MGIMIND_TOKEN=your-token -v mgimind-data:/data madgodinc/mgi-mind`). Also required as `--agent-token` when binding `serve-http` to a non-loopback host.
MGIMIND_MODEL_VARIANTNoSelects the install-mode model profile. One of `cpu`, `gpu`, or `auto`.auto

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
mind_searchC

Semantic search across memories, with optional metadata filters (author, source, date window, multiple libraries).

mind_browseA

Browse/list memories by metadata WITHOUT a search query: inventory, not ranking. Newest first. Use to answer 'what did agent X write recently', 'everything from this source', 'all memories since a date'. Same filters as mind_search.

mind_recall_allA

Unified recall across all memory types at once (facts + memories + procedures) for one query. Current facts first, then semantic memories, then matching error->fix procedures. One call instead of three separate searches.

mind_should_searchA

Decide whether to search memory BEFORE answering a user query. Returns priority (must-search / should-search / answer-directly), the reason, and which libraries to search first. Call this on a turn when unsure; it implements the search-before-answer trigger policy (named project, meta-cue like 'did I tell you', negation to verify, cross-session reference). Advisory: it cannot force a search.

mind_visualizeA

Open the 3D memory visualization in the user's browser: the brain as glowing cores (memories, facts, regions) wired by neurons, with live pulses. Call this when the user asks to SEE or SHOW their memory / 'the brain' / how memory looks. Spawns a local viewer and returns the URL.

mind_addC

Add a memory entry

mind_provenance_addA

Persist an externally-sourced snippet (code, doc, RFC quote, commit message, etc.) into mgi-mind with a mandatory provenance citation. The agent supplies the snippet AS PLAIN UTF-8: no HTML, no markup. Call this ONLY when the snippet was just produced by a code-search or doc-search MCP in the same session; do NOT fill provenance fields from memory.

mind_doctorC

Check system health

mind_contextB

Generate compact context briefing for session start

mind_ingestA

Auto-ingest memory. PRIMARY: pass a candidates array of already-extracted items you judged worth keeping. BACKSTOP: omit candidates and pass raw text for marker-based heuristic extraction. Each candidate is secret-scrubbed and near-dup-checked before writing.

mind_learnA

Record a procedural-memory lesson (error -> fix). Stored unverified by default (a manual lesson has no truth signal); surfaced with low weight until confirmed. Pass verified=true ONLY with a deterministic signal (test green / exit 0).

mind_recallA

Recall error->fix playbooks for an error and/or a task context. Ranking blends relevance with trust: a verified or proven fix gets a boost, a repeatedly-failing one is demoted, but a strongly-matching unverified fix still surfaces.

mind_procedure_outcomeA

Record whether a recalled procedure worked when reused. worked=false raises its fail count and demotes it, so the store self-corrects instead of ossifying on a bad fix.

mind_outcomeA

v1.5: Record a typed external-signal outcome on any memory (not only procedures). Use this when a test passed/failed, code compiled, a user explicitly confirmed/denied a fact, or a citing memory referenced this one. Idempotent on (memory_id, signal_type, source): re-posting the same triple updates the existing entry rather than appending a duplicate. Signals contribute to the fact's external_signal_score, which feeds the duel rule and the §3 Mechanism 2 doubt-window guardrail. When memory_id is a PROCEDURE and signal_type is test_passed or code_compiled, this also bumps the procedure's success/fail counters: so a green test after a mind_learn fix marks that playbook verified without a separate mind_procedure_outcome call. Pass the procedure id returned by mind_learn.

mind_historyC

Show recent additions chronologically

mind_consolidateA

Preview what mgimind consolidate would do: count of exact duplicates, near-duplicates, and cold (old + unused) entries. Always dry-run on the MCP surface; destructive consolidation stays on the CLI where the user types --apply explicitly. Use this when the user asks 'how much duplicate memory do I have?' or before suggesting they run the CLI command.

mind_restoreA

Restore an ARCHIVED (soft-forgotten) memory by id, returning it to search. Archiving (consolidate --archive-cold) reversibly hides cold memories instead of deleting them; this is the undo.

mind_webB

Read a webpage as Markdown, optionally save to library

mind_exportB

Export all data to JSON or Markdown files

mind_importC

Import markdown files from a directory (Obsidian, etc.)

mind_statsB

Show memory statistics

mind_quarantineA

Inspect, promote, or expire entries that the relevance gate filtered into the quarantine layer. Single tool with action: list (newest first, optional library filter), show (full content + gate reason by id), promote (the gate was too strict: move to ordinary memory by id), expire (the gate was right: delete by id; only ever touches quarantined points, never live memory, and stays recoverable from the audit log). Replaces mind_quarantine_list / _show / _promote.

mind_vaultA

Vault is terminal-only by design. This tool explains how the user runs the equivalent mgimind vault command: secret values never cross the MCP channel. Single tool with action: store (instructions for storing a secret), get (instructions for retrieving), list (instructions for listing keys). Replaces mind_vault_store / _get / _list.

mind_sessionA

Manage the agent's session record across runs. Single tool with action: start (open a new session for an agent), last (read the previous session's summary), end (close the active session with a hand-written summary). Replaces mind_session_start / _last / _end.

mind_factA

Knowledge-graph facts (subject -> predicate -> object). Single tool with action: add (insert a new fact), query (list facts about a subject), invalidate (soft-delete a fact by id when a single-valued fact has been superseded). Replaces mind_fact_add / _query / _invalidate.

mind_libraryA

Library namespaces. Single tool with action: create (new library by name), list (all libraries with counts), delete (remove a specific memory by id within a library: destructive). Replaces mind_create / mind_list / mind_delete.

mind_predicateA

v1.4: register and inspect predicate cardinality (single | temporal-single | multi). Cardinality controls how mind_fact(action="add") detects conflicts: Multi predicates never conflict; Single/TemporalSingle flag a conflict_pending event when a second distinct object is asserted. Default for unregistered predicates is Multi.

mind_blockA

Pinned core-memory blocks (persona / user / current-project): a few small, named notes that are ALWAYS injected at the top of the session context, not ranked retrieval. Use for stable, always-relevant facts the agent must not have to search for. action=set overwrites, get/list read, remove deletes. Content is capped (4KB/block, 32 blocks); this is core memory, not a second store: put searchable knowledge in mind_add instead.

mind_skillA

Skills: the house way of doing a kind of work, matched against the task you are ABOUT TO START (mind_recall is the other half: it answers an error that already happened). action=match takes a task description and returns the playbooks that apply, ranked by relevance and by how they have actually worked out. Call it before starting non-trivial work, the way you would check for a house rule. action=set writes one (name is the identity, so writing the same name edits it and keeps its history), list/show read, remove deletes, outcome records whether applying it worked (verify=true only for a deterministic signal, never a hunch).

mind_fact_addA

DEPRECATED: use mind_fact(action="add"). Removed in v2.0. (Add a knowledge graph fact)

mind_fact_queryA

DEPRECATED: use mind_fact(action="query"). Removed in v2.0. (Query facts about a subject)

mind_fact_invalidateA

DEPRECATED: use mind_fact(action="invalidate"). Removed in v2.0. (Soft-delete a fact by ID (for superseding a changed single-valued fact))

mind_session_startA

DEPRECATED: use mind_session(action="start"). Removed in v2.0. (Start a new session)

mind_session_lastA

DEPRECATED: use mind_session(action="last"). Removed in v2.0. (Get last session summary)

mind_session_endA

DEPRECATED: use mind_session(action="end"). Removed in v2.0. (End the active session for an agent)

mind_createA

DEPRECATED: use mind_library(action="create"). Removed in v2.0. (Create a new library)

mind_listA

DEPRECATED: use mind_library(action="list"). Removed in v2.0. (List all libraries)

mind_deleteA

DEPRECATED: use mind_library(action="delete"). Removed in v2.0. (Delete a specific memory by ID)

mind_quarantine_listA

DEPRECATED: use mind_quarantine(action="list"). Removed in v2.0. (List entries the v0.11 relevance gate filtered into the quarantine layer. These are not surfaced by mind_search by design: use this tool when you suspect a fact was filtered (e.g., the user keeps repeating something the gate would reject as low-signal). Newest first.)

mind_quarantine_showA

DEPRECATED: use mind_quarantine(action="show"). Removed in v2.0. (Show a single quarantined entry with its full content and the gate reason. Returns 'not in quarantine' for regular memory ids: the surface is honest about what it can see.)

mind_quarantine_promoteA

DEPRECATED: use mind_quarantine(action="promote"). Removed in v2.0. (Explicitly promote a quarantined entry to ordinary memory by id. The automatic promotion path is re-asserting the same content via mind_ingest; use this when you know the entry should be live without re-ingesting.)

mind_vault_storeB

DEPRECATED: use mind_vault(action="store"). Removed in v2.0. (Explain how to store a secret (never accepts the secret over MCP))

mind_vault_getA

DEPRECATED: use mind_vault(action="get"). Removed in v2.0. (Explain how to retrieve a secret (never returns plaintext over MCP))

mind_vault_listA

DEPRECATED: use mind_vault(action="list"). Removed in v2.0. (Explain how to list stored secret keys (terminal-only; needs the master password))

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 44 tools

Disambiguation3/5

There are genuine clusters of near-synonymous tools: mind_search/mind_browse/mind_recall/mind_recall_all, mind_add/mind_ingest, and mind_outcome vs mind_procedure_outcome (the former explicitly subsumes the latter). Worse, ~15 deprecated aliases (mind_fact_add, mind_quarantine_list, mind_vault_get, mind_session_start, etc.) directly duplicate the newer action-based tools, so an agent can easily pick the wrong one. Descriptions are unusually careful, which keeps this from scoring lower, but the overlap is real.

Naming Consistency4/5

Nearly everything is snake_case under a shared mind_ prefix and follows a predictable verb_noun style (mind_search, mind_add, mind_learn). The main deviation is the new action-based noun-only tools (mind_fact, mind_library, mind_vault, mind_session, mind_quarantine) plus stateless names like mind_doctor and mind_context. Readable, but the mixed verb-style/noun-with-action convention is a minor inconsistency.

Tool Count2/5

44 tools is far beyond the reasonable band for this domain, and the count is inflated by ~15 deprecated tools that still appear in the surface alongside their replacements. Even the ~29 active tools is heavy for what is essentially a memory store. Deprecation flags help, but shipping both generations at once bloats the set.

Completeness4/5

The lifecycle is unusually thorough: add/ingest, semantic search, browse, cross-type recall, knowledge-graph facts, procedures, skills, pinned blocks, sessions, vault, quarantine, provenance, outcome signals, export/import, consolidate, restore, stats and health checks. The only minor gap is that there is no clear in-place edit/update path for an ordinary memory (append + invalidate/delete are the only mutations).

Maintenance

ActivityActive
ResponsivenessResponsive