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.

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).

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 and optional Synapse state.

Read-only with best-effort auto-capture side effects. 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_searchB

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

Read-only with best-effort auto-capture side effects. 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_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 with best-effort auto-capture side effects. 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.

memo_chat_askA

Answer a conversational question with optional history and context.

Read-only with best-effort auto-capture side effects. 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.

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.

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