Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
memo_versionA

Get memo version info — the package version and the backend protocol version. Use this to check which version of memo is running.

memo_graphA

Navigate the entity knowledge graph (read-only).

One consolidated explorer over memo's corpus graph. Pick a verb:

  • "path": shortest entity path from a to b (fewest hops).

  • "why": weighted shortest path a->b as evidence — the same route with each hop's edge weight (how many memories bridge it), so a connection is explained, not just asserted.

  • "neighbors": direct neighbours of entity (or a).

  • "explore": a rich "what's around X" view of entity (or a) — degree, neighbours, and the memories that mention it.

  • "communities": clusters of related entities (limit caps count).

By default this navigates the MEMORY graph only (entities linked through shared memories). Set include_code=True to also fold in the codegraph code-structure layer (call/extends/etc. edges between code symbols).

memo_saveA

Persist content to memo.

When extract is true (defaults to the MEMO_SAVE_EXTRACT flag, off), the helper LLM decomposes content into atomic facts and saves each as its own memory (mem0 ADD-model) instead of one opaque blob; tags propagate to every fact. Returns an extraction summary (status, saved ids, saved_titles, counts) rather than a single record. If nothing extractable is found, the blob is saved verbatim. Normal saves add action (created, corroborated, or revised) and index_pending so callers can distinguish evidence from a new record.

scope controls the auto project:<repo> tag for THIS call only: "global" skips it (the memory lands untagged → the global recall tier, +0.10 boost everywhere); "project" or None keep the default auto-detection. An explicit project: tag in tags always wins either way.

memo_listA

List recent memories, optionally filtered by memory type.

Read-only. Use this to browse the corpus before choosing an id for memo_get, memo_update, memo_rename, memo_delete, or history tools. limit caps the number of returned records.

memo_getA

Fetch one memory by id or unique id prefix.

Read-only. Returns the full memory record, None when it does not exist, or an ambiguity error when the prefix matches multiple records. Use memo_search or memo_list first when you do not know the id.

memo_updateA

Patch fields on a memory. content replaces the whole body; replace_old+replace_new is a surgical exact-string edit (old must occur exactly once — unchanged text stays byte-identical); append adds a paragraph. All three are versioned (memo_version_rollback).

memo_renameA

Rename one memory title without changing its body or tags.

Destructive metadata edit. Use after memo_save or memo_search when a record has the right content but the wrong title. Pass id for a specific memory; omit it only immediately after a save, when memo can target the most recent local save. Use memo_update instead when you need to edit content, type, or tags.

memo_reindexA

Rebuild memo's searchable index from the markdown vault.

Writes only derived index state; markdown remains the source of truth. Use after hand-editing vault files or changing indexing behavior. force reprocesses records even if memo thinks they are current.

memo_deleteA

Permanently delete one memory by id or unique prefix.

Destructive. Resolves ambiguous short ids safely and returns an error instead of guessing. When cross-reference indexing is enabled, the response warns about memories that linked to the deleted record.

memo_forgetA

Mark one memory as forgotten without deleting its history.

Destructive in retrieval behavior: the memory is hidden from normal recall/search surfaces until memo_unforget restores it. Pass reason to record why the memory should no longer be surfaced.

memo_unforgetA

Restore a previously forgotten memory to normal retrieval.

Idempotent write. Accepts a full id or unique prefix and returns whether a matching forgotten record was restored. Use after deciding a memory should participate in search and recall again.

memo_consolidateA

Detect near-duplicate clusters and propose merges.

Read-only — returns proposals without modifying the corpus. Uses the AdvancedConsolidator under the hood (same as memo_consolidate_list_archived). With client sampling enabled, merge synthesis runs on the calling model up to MEMO_SAMPLING_MAX_CALLS (see synthesizer field).

memo_lintA

Inspect the memory corpus for maintenance issues.

Read-only. Returns grouped lint findings such as malformed metadata or other records that may need cleanup. Use memo_update, memo_delete, or vault edits separately to fix findings.

memo_offloadA

Offload a bulky payload (tool output, log, dump) out of the context window: memo stores it content-addressed as a reference-tier memory and returns {id, sha256, kind, synopsis, deduplicated, drill_down}.

The synopsis is deterministic (no LLM): JSON keys, CSV headers, code symbols, or compressed text. Reference tier is excluded from auto-recall, so offloaded blobs never appear in the recall hook. Fetch the full payload later with memo_get(id).

memo_get_embedder_profileA

Return the active embedding model profile.

Read-only. Use this to inspect the model id, vector dimensions, normalization, and provider that memo uses for semantic search. Useful when verifying compatibility with stored vectors or external retrieval components.

memo_unified_briefingA

Load a compact startup briefing from Memo's durable and operational state.

Read-only. Call before deciding or answering so prior durable facts can ground the task. Pass cwd to bias project context and source to attribute consult logs to the calling client.

memo_searchA

Search durable memories by text, vector similarity, or hybrid mode.

Read-only. Use for direct retrieval when you need source records, ids, dates, tags, or excerpts. mode accepts hybrid, vec, or bm25; body_chars controls snippet length, and source attributes consult logging.

memo_contextA

Build prompt-ready memory context without calling the answer LLM.

Read-only. Returns static profile, dynamic recent context, query hits, omissions, and a readonly prompt wrapper for direct model injection.

memo_search_traceA

Search memories and include retrieval trace diagnostics.

Read-only. Use when debugging ranking, filters, or recall misses rather than for normal lookup. Returns the same style of hits as memo_search plus trace metadata that explains how candidates were selected.

memo_rerankA

Rerank candidate memory hits for a query.

Read-only. Use after memo_search or another retrieval source when you already have candidate hit dictionaries and need the most relevant subset ordered for answer synthesis. top_n limits the returned list.

memo_embed_queryA

Embed one query string with memo's query embedding path.

Read-only. Use for diagnostics or integrations that need the exact vector memo would use for retrieval queries. Rejects empty text and returns the vector, dimension, and model id.

memo_embed_batchA

Embed one or more document strings with memo's document embedder.

Read-only. Use for diagnostics or external indexing when you need document vectors from the same model memo uses internally. Pass a list of strings; an empty list returns no vectors without error.

memo_askA

Answer a question using memo retrieval and citations.

Read-only. Use when you want a synthesized answer grounded in durable memories instead of raw hit lists. k, type, and snippet_chars tune retrieval; source attributes consult logging. With client sampling enabled, synthesis runs on the calling model (see synthesizer field).

memo_chat_askA

Answer a conversational question with optional history and context.

Read-only. Use instead of memo_ask when prior turns or explicit context should shape retrieval and synthesis. history is a list of chat messages; session_id links the answer to a tracked memo session. With client sampling enabled, synthesis runs on the calling model (see synthesizer field).

memo_provenanceA

Return provenance metadata for one memory.

Read-only. Use with a full id or unique prefix when you need origin, lineage, file path, or related audit details for a record before trusting, editing, or citing it.

memo_record_diffA

Return recent history events for one memory in chronological order.

Read-only. Use to inspect how a memory changed over time before editing or rolling back. Accepts a full id or unique prefix; limit caps returned events and has_more reports truncation.

memo_historyA

List recent memory history events.

Read-only. Use for audit trails across the corpus or filter by op and memory id when investigating a specific write, update, delete, forget, or reindex action. Short ids are resolved safely.

memo_session_listA

List tracked memo sessions.

Read-only. Use to find recent session ids, transcript paths, and project context for capture or inspection. project narrows results and limit caps the number of sessions returned.

memo_session_getA

Fetch metadata for one tracked memo session.

Read-only. Use after memo_session_list or memo_start_session when you need the stored transcript path, project, checkpoints, or other session details. Returns None when the session id is unknown.

memo_statsA

Return local memo corpus and runtime statistics.

Read-only. Use for diagnostics, health checks, and environment inspection. Includes corpus count, storage paths, embedder model, history error count, and recall daemon health when available.

memo_idle_captureA

Run idle capture on the current session.

Write tool. Extracts durable insights from the newest tracked session transcript and saves them as memo records. Use after a meaningful unit of work, or periodically for clients without Stop hooks. Do not use for normal lookup; call memo_search, memo_ask, or memo_unified_briefing when you only need to read existing memories. With dry_run=True, no memories are written and the response only reports what would run.

memo_pop_notificationA

Read and dismiss pending idle-capture notification.

Destructive only for the notification queue: returns the pending idle-capture message, then removes that transient notification so it is not shown twice. It never deletes memories or session transcripts. Use after memo_idle_capture or before replying to surface auto-saved insights; use memo_search or memo_list to read durable memory records.

memo_start_sessionA

Start a new session for this client.

Write tool. Creates or refreshes a tracked session checkpoint used by capture, grounding, and transcript lookup. Call once at the beginning of a task or conversation. Pass session_id to continue a known session; omit it to create one. Pass cwd to bind the session to a project directory; omit it to use the current process directory. Do not use this to save memories directly; call memo_save or memo_save_text for durable content.

memo_save_textA

Save a memory from text.

Write tool. Persists one plain note from text and returns the saved memory id. Use for quick client-agnostic saves when you already have the exact content to remember. Prefer memo_save when you need tags, type, extraction, conflict handling options, or project/global scope. Prefer memo_idle_capture for transcript-derived session insights. title is optional; when omitted memo uses the first text line.

memo_evidence_packC

Return bounded, cited evidence or an explicit abstention.

memo_operational_stateA

Read focus, handoffs, attention, conflicts, and outcomes.

memo_federation_previewC

Preview the exact memories an ACL would allow into a signed bundle.

memo_journal_verifyB

Verify every native operational hash chain.

memo_focus_setC

Set the current focus for a project.

memo_focus_clearC

Clear a project's current focus.

memo_handoff_createC

Create a durable handoff for another agent or session.

memo_handoff_consumeC

Mark a handoff consumed.

memo_attention_addC

Add an item that must be surfaced to later agents.

memo_attention_ackC

Acknowledge an attention item.

memo_conflict_openC

Open a local, auditable reality conflict.

memo_conflict_resolveB

Report the local human action required to resolve a conflict.

memo_outcome_recordC

Record whether recalled memories helped a task succeed.

memo_procedure_candidatesB

List outcome-backed memories ready for procedural promotion.

memo_procedure_promoteC

Promote grounded memories into a reusable procedure/failure pattern.

memo_profileC

Return bounded stable and active memory with evidence metadata.

memo_review_dueA

List records whose explicit review date passed or have an open conflict.

memo_mark_reviewedA

Record review evidence, verify the memory, and schedule its next review.

memo_invalidateB

Close one memory's truth-validity interval without deleting it.

memo_supersedeC

Close the old memory at the successor's validity start.

memo_write_queue_statusA

Return process-local MCP write queue depth, waits, and rejections.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
_resource_recent

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jagoff/memo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server