Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEVMEM_INDEXNoPluggable vector index backend, for example sqlite-vec, Qdrant, LanceDB or Postgres/pgvector.
JEVMEM_SCOPENoScope for notes. Defaults to global unless set, for example project:my-project.
JEVMEM_EMBEDDERNoEmbedder to use for semantic search, for example fastembed for a local model with no API.
TYPESAFE_API_KEYYesYour TypeSafe API key for Jev. Read automatically from ~/.jevmem/.env if present.

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
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
memory_writeA

Store ONE literal fact (decision, bugfix, convention, gotcha, preference, event). Use explicit entity names and ABSOLUTE dates (never 'yesterday'): the memory model reads literally. Content that looks like instructions to an agent is rejected. scope: 'global' or e.g. 'project:'. pinned=True only when the user says this must always be remembered: pinned notes open every session.

memory_recallA

Adaptive recall. Check sufficient/missing: if sufficient is false, the memory may lack the answer, so verify in code/docs rather than assuming. Searches scope plus global. mode: "auto" (default: lite first, escalates to full when lite finds nothing or the question looks multi-hop/time-related; stop_reason says which ran), "full" (always multi-hop graph expansion: use it when you know the answer joins several facts) or "lite" (vector top-20 + one Jev call that filters them and judges sufficiency: ~4x cheaper than full, no multi-hop).

memory_pinA

Pin (or unpin) a note the user wants in every session; SessionStart injects pinned notes first.

memory_listB

List stored memories (newest first) with their top memory types.

memory_forgetC

Delete a memory and its edges.

memory_pending_synthesisA

Merge/promote proposals from consolidation. YOU are the writer: for each item follow instruction, then call memory_resolve(synthesis_id, text), or memory_dismiss if the proposal is wrong.

memory_resolveB

Store your synthesized fact for a pending proposal. Source notes are kept (merged ones rank lower).

memory_dismissC

Reject a merge/promote proposal.

memory_consolidateA

Run a consolidation pass now (also runs automatically every 20 writes). all_notes=True re-judges every stored note from scratch (slow: one Jev call per note); use it once after upgrading jevmem.

memory_statsB

Node counts, queued (degraded) writes and Jev usage for this server process.

memory_flush_pendingB

Retry writes queued while Jev was unreachable.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct purposes: write, recall, list, forget, pin, stats, flush, and consolidation operations. There is minor overlap between memory_write with pinned=True and memory_pin, and the two 'pending' tools could momentarily confuse, but descriptions make the intended workflows clear.

Naming Consistency5/5

Every tool uses a consistent snake_case memory_ prefix with readable verb or noun forms (memory_write, memory_recall, memory_pin, memory_forget, memory_consolidate). No naming deviations or mixed conventions.

Tool Count5/5

11 tools is well-scoped for a persistent memory server that includes core CRUD, pinning, listing, stats, and an asynchronous consolidation/synthesis lifecycle. Each tool has a distinct role and none appears redundant.

Completeness4/5

The core memory lifecycle is well covered: write, recall, list, forget, pin, consolidate, resolve, dismiss, stats, and flush queued writes. A direct content-update tool for an existing memory is missing, so correcting a stored fact requires forgetting and rewriting, but this is a minor workaround gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues