Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEMENTO_PROFILENoLanguage profile for stop words and trivial prompt classifiers. Options: english, portuguese, spanish.english

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
memory_storeA

Persist a fact, decision, lesson, or pattern so it can be recalled later by memory_search/memory_get or auto-injected into future sessions. Use for durable context (decisions, gotchas, preferences, recurring commands). For transient notes or duplicates, prefer memory_dedup_check first. Writes one SQLite row, queues an embedding (when enabled), and optionally creates/updates an Obsidian vault note. dedup="strict" refuses duplicates, "warn" stores with a warning, "off" bypasses.

memory_searchA

Ranked full-text + decay-weighted search across SQLite, file-memory sources, and (when configured) the Obsidian vault. Read-only. Use the three-layer progressive-disclosure pattern: detail="index" (~30 tok/result, start here), "summary" (~80 tok), "full" (~150-300 tok, use sparingly). Follow-ups: memory_timeline(id) for chronological neighbours of one hit, memory_get(id) for one full body, memory_graph(id) to explore typed edges.

memory_getA

Fetch the full body, tags, and metadata of one memory by id (~300-800 tokens). Read-only. Use after memory_search(detail="index") to expand a single hit. Substrings inside <private> tags are redacted unless reveal_private=true (which emits an audit event). Returns not found if the id does not exist or has been soft-deleted.

memory_timelineA

Return the chronological neighbourhood of memories around an anchor id (~200 tok/neighbour). Read-only. Use after memory_search(detail="index") to recover work-session context for one hit. Cheaper than calling memory_get on each neighbour individually.

memory_dedup_checkA

Cheap pre-flight (~50 tok/match): "would storing this content duplicate something I already have?" Read-only. Use before memory_store when overlap is likely, or before bulk imports. Returns up to limit existing memories with cosine similarity above the threshold (highest first). Computing the candidate embedding may make an outbound call to the configured provider (OpenAI, Ollama, etc.). If embeddings are disabled, returns a clear no-op message rather than silently passing.

memory_listA

Browse stored memories with optional filters — ordered by recency/importance. Read-only. Use to enumerate by type/scope/project. Prefer memory_search whenever you have keywords (relevance ranking). Use the same detail levels to control token cost.

memory_deleteA

Soft-delete a memory by id — the row is hidden from search/list/get but retained for audit. Idempotent. Use for accidental or obsolete memories. To replace one with a corrected version, prefer memory_store(supersedes_id=...) so history is linked.

decisions_logA

Multi-action ADR log. Pick one via action: • store — record a new decision (title + body required; supersedes_id optional). Writes a row. • list — list recent decisions (read-only). • search — FTS over decisions (query required, read-only). Decisions outrank free-form memories by default and survive pruning longer. Use pitfalls_log for recurring problems.

pitfalls_logA

Multi-action log of recurring problems and their resolutions. Pick one via action: • store — record a new pitfall (title + body required). Writes a row. • list — list open pitfalls (set include_resolved=true for all). Read-only. • resolve — mark a pitfall resolved (pitfall_id required). Use when something keeps biting and you want a queryable problem→resolution log. For one-off design choices, use decisions_log.

memory_analyticsA

Reports utility rates of injected memories, token costs per search layer, auto-capture stats, compression activity, and prune suggestions. Read-only. Use to tune importance thresholds, find dead memories worth pruning, and verify that auto-capture/compression are earning their keep. Returns a no-op message when analytics are disabled.

memory_updateA

Edit a memory in place — only the fields you pass are changed. Editable: title, content, tags, importance, memory_type, pinned. Use for typo fixes, retagging, importance tuning. For meaningful changes you'd want history for (e.g. a reversed decision), prefer memory_store(supersedes_id=...) instead. Side effect: when content changes, the embedding is re-queued and dedup may run. Returns not found for missing ids.

memory_pinA

Toggle the pinned flag — pinned memories survive pruning and rank higher in search. Idempotent. Use sparingly: reserve pins for canonical decisions, user preferences, and high-leverage facts. Pinning everything defeats the purpose.

memory_compressA

Force one compression cycle now: cluster similar memories by embedding similarity, merge each cluster into a canonical memory, and mark originals as compressed. Use after a bulk import or to sanity-check compression. Compression normally runs on the maintenance schedule. Side effects: writes merged memories, updates originals' compressed_into pointer, may call embeddings + LLM providers. Requires compression.enabled=true; otherwise returns a no-op message.

memory_exportA

Export memories, decisions, and pitfalls as a portable JSON document. Read-only. Use before destructive maintenance (bulk delete, schema migration) so you have a clean restore point, or to transfer state to another memento-mcp instance via memory_import. Includes scope, tags, importance, and supersession links so round-trip preserves structure.

memory_importA

Import memories, decisions, and pitfalls from a JSON file produced by memory_export (server-local path, not a URL). Conflict handling via strategy: skip (default, safe to re-run) keeps existing rows on id collision; overwrite replaces them — use for authoritative restores. Side effects: inserts/updates rows in memories, decisions, pitfalls. Embeddings are queued asynchronously.

memory_linkA

Create a typed directed edge between two memories. Edge types: relates_to, supersedes, caused_by, mitigated_by, references, implements. Use after memory_search to map dependencies, cause/effect, supersession chains, or references. Re-linking the same (from_id, to_id, edge_type) triple updates the weight (idempotent).

memory_unlinkA

Remove a previously created edge — pass the exact (from_id, to_id, edge_type) triple used at creation time. No wildcards. Idempotent. Use to retract incorrect links. To retract a whole memory, prefer memory_delete (keeps audit trail).

memory_graphA

BFS walk from one memory id outward, returning neighbour nodes + typed edges. Read-only. Use after memory_search to map related concepts, supersession chains, or the cluster around a decision. direction controls edge polarity (out/in/both); depth is capped at 5.

memory_pathA

BFS shortest path between two memories — returns the chain of ids + edge types, or a no path message when unreachable within max_hops. Read-only. Use after memory_search (with both endpoints known) to trace cause-effect chains, supersession history, or dependency lineage.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/lfrmonteiro99/memento-mcp'

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