Skip to main content
Glama
xultrax-web

agent-memory-mcp

by xultrax-web

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NO_COLORNoSet to '1' to disable color output.
FORCE_COLORNoSet to '1' to force color output even in pipes.
AGENT_MEMORY_DIRNoCustom absolute path to the memory directory.
AGENT_MEMORY_LOGNoLog level: debug, info, warn, error. Default is info.
CRP_SIGNING_MODENoSigning mode for compliance receipts: 'hmac' (default) or 'ed25519'.
GIT_AUTHOR_EMAILNoEmail for git commit author when using sync push.
AGENT_MEMORY_SCOPENoStorage scope: 'global' for global pool (default per-project if not set).
GIT_COMMITTER_EMAILNoEmail for git commit committer when using sync push.
AGENT_MEMORY_AUTO_EMIT_DIRNoPath to project root; if set, automatically emits companion files on rule save.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
save_memoryB

Save (or update) a memory. Memories are markdown files with YAML frontmatter, stored at the resolved memory dir. Use a short kebab-case name; the description is what's shown in the index and used for search ranking.

search_memoriesA

Fuzzy search across name, description, and body. Tolerates typos, word-order shifts, and partial matches. Returns top matches with relevance scores (0-100) and body-context snippets. Use this for human-readable browsing.

relevant_memoriesA

Find memories relevant to a query and return their FULL content (not summaries). Designed for LLM ingestion — call this when the assistant needs context on a topic and the memory index alone isn't specific enough. Returns up to max memories as a markdown document.

get_memoryA

Fetch a single memory by name.

list_memoriesB

List stored memories, optionally filtered by type and/or tags. Paginated.

delete_memoryA

Move a memory to .trash/ (soft delete). The file is removed from the index but recoverable via restore_memory until you manually empty .trash/. Receipt REQUIRED and bound to THIS memory: first call check_action({action: 'delete memory ', action_type: 'deletions'}) — using that EXACT action string — to obtain a fresh Compliance Receipt, then pass it as receipt. The receipt must carry {action_type: 'deletions'} AND the matching action_hash for 'delete memory ', and is single-use — it cannot be replayed to delete a different memory or the same one twice.

restore_memoryA

Restore a memory from .trash/ back into the active store. Picks the most recent trash entry for the name.

doctorA

Check storage integrity. Reports orphan files (on disk but not indexed), dangling index entries (no file), unreadable files, and invalid types. Pass rebuild-index=true to reconstruct MEMORY.md from disk.

statsA

Dashboard of memory-store state: counts per type, total size, largest memory, audit-log size, trash count.

rotate_keyA

Rotate the receipt-signing key material (HMAC and/or Ed25519). Generates fresh keys and INVALIDATES every outstanding Compliance Receipt. Use after a suspected key leak — e.g. the .keyring was ever committed or synced. Optional mode: 'hmac' | 'ed25519' | 'both' (default 'both').

initA

Install a starter guardrail pack — sensible hard/soft rules (protect main, block rm -rf, no prod data destruction, no curl|sh, flag secrets) — and emit them to every tool's companion files. Zero-config protection on day one. Pass force=true to overwrite same-named rules. Pair with agent-memory install-hooks so hard rules actually block tool calls.

validate_receiptA

Validate a CRP 1.1 (Ed25519) Compliance Receipt issued by ANOTHER agent-memory server using that server's published public key — no shared secret (the federation primitive). Checks signature, expiry, and required caveats. Pass receipt (object or JSON string) and public_key (inline PEM or a file path; the issuer gets theirs via agent-memory export-pubkey).

log_eventsB

Read recent entries from the audit event log (.events.jsonl). Returns the last N events, optionally filtered by action.

verify_memoryA

Re-evaluate a memory's claims against signals in its content. Extracts URLs, dates, and file paths from the body; flags stale-date signals on project-type memories; returns type-specific verification heuristics for the LLM or operator to act on. Pairs with the audit_stale prompt.

find_backlinksA

List memories that link to the given memory via [[wiki-link]] syntax in their bodies. Useful for building a 'what references this' view.

find_relatedA

Surface memories related to a given one. Ranks by combining: outbound [[wiki-links]], inbound backlinks, shared tags, same type, and content similarity (name + description). Use this to navigate the memory graph by association rather than by exact lookup.

sync_statusA

Report the git-sync state of the memory store: remote URL, branch, local uncommitted files, commits ahead/behind origin. Use this before opening a new session to know if you have stale memories from another machine.

sync_pushA

Commit any local memory changes and push to the configured git remote. Auto-generates a timestamped commit message if none provided. Use at the end of a session to make memories available on your other machines.

sync_pullA

Pull memory updates from the configured git remote (fast-forward only). Run at the start of a session to get memories saved on other machines. Refuses to pull if there are uncommitted local changes.

save_ruleA

Save (or update) a rule memory · the 'memory as constraint' wedge. Rules constrain agent behavior, not just store facts. Severity 'hard' = must obey; 'soft' = prefer to obey. Rules auto-project out to AGENTS.md (read by Claude Code, Codex CLI, Cursor, Aider, Devin, Copilot, Gemini CLI, Windsurf, and Amazon Q natively) when AGENT_MEMORY_AUTO_EMIT_DIR is set, or via the emit_companions tool on demand.

list_rulesA

List every active rule memory with severity, scope, and staleness markers (>90 days since last_verified). Use this to audit which rules are currently constraining the agent.

auditA

v0.11.4 · operational health report for the rule store. Surfaces: rule count by severity, stale rules (last_verified > 90 days or null), pattern conflicts (two rules sharing an enforce_on category AND an identical regex pattern), recent check_action denials, and recent unreceipted destructive ops. Default returns pretty-printed text; pass {format: 'json'} for structured output. Run daily-ish · the report is fast and gives the operator a single view of what's drifting.

check_actionA

v0.11.3 · the protocol enforcement point. Pass a proposed action description + its category; the server matches against rule memories (type=rule) and either:

  • APPROVES: returns a short-lived Compliance Receipt (HMAC-signed, 60s default) the agent can pass to destructive tools (e.g. delete_memory) as proof of compliance.

  • DENIES: returns structured hard_violations (severity:hard rules that block) and/or soft_warnings (severity:soft rules that warn but allow).

Tier 1 (deterministic) matches the action against rule.matches regexes + rule.enforce_on category filter. Works on every MCP client. Tier 2 (v0.11.7+) calls back to the client via MCP sampling/createMessage to judge rule.applies_when natural-language conditions. Auto-enabled on clients that declared the sampling capability; silently skipped on clients that didn't.

emit_companionsA

Regenerate companion rule files from the current rule memories. Writes one or more of: AGENTS.md (universal cross-tool standard, Linux Foundation), CLAUDE.md (Claude Code's 5-level hierarchy), .cursor/rules/*.mdc (Cursor's MDC format · hard rules get alwaysApply:true, soft rules become description-driven), .gemini/instructions.md (Gemini CLI). Default writes ALL four targets. Use targets to filter. Output dir resolves from out_dir, then AGENT_MEMORY_COMPANION_DIR env, then process.cwd().

Prompts

Interactive templates invoked by user choice

NameDescription
extract_memoriesScan the current conversation for things worth remembering. Returns a structured prompt asking the LLM to identify candidate memories and call save_memory for each one.
summarize_topicPull memories relevant to a topic and ask the LLM to synthesize them into a single coherent summary.
prepare_handoffGenerate a project state snapshot from all project-type memories matching a filter. Useful for rotating on-call, end-of-day handoffs, or onboarding a collaborator.
audit_staleWalk recent project and reference memories and ask the LLM to flag which ones are likely stale or contradicted by current state. Pairs with verify_memory for follow-up.

Resources

Contextual data attached and managed by the client

NameDescription
Memory indexAuto-managed index of every stored memory. Pin this as always-visible context so the assistant sees what's known before deciding what to look up.

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/xultrax-web/agent-memory-mcp'

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