Skip to main content
Glama
adamkwhite

Claude Conversation Memory System

by adamkwhite

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CLAUDE_MEMORY_PATHNoOverride the default storage location (~/claude-memory/)~/claude-memory/
CLAUDE_MCP_LOG_FORMATNoSwitch between human-readable text logs (default) and structured JSON logs for production (json or text)text

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
search_conversationsC

Search through stored Claude conversations for relevant content

add_conversationB

Add a new conversation to the memory system.

session_id, user_id, tags, and conversation_type are the universal metadata fields introduced in PR #114; when provided, they are persisted alongside the conversation and indexed for metadata search (search_by_tag / search_by_session_id / search_by_conversation_type). All four are validated/sanitized before storage since this data may originate from external imports.

update_conversationA

Update fields on an existing conversation in place.

Pass conversation_id plus any subset of fields to change. The first line of the stored content is rewritten with a self-documenting audit line: [update <iso-timestamp> — <change_note>]. If change_note is omitted, it's auto-derived from which fields changed.

Tag ops: set_tags replaces the full list; add_tags and remove_tags mutate it. set_tags is mutually exclusive with the other two; pass set_tags=[] to clear all tags.

Metadata fields (tags, conversation_type, session_id, user_id) are validated/sanitized before storage since this data may originate from external imports.

record_audit=False preserves authoritative imported content verbatim. Normal interactive updates should retain the default audit record.

get_conversationA

Retrieve a stored conversation by an ID returned from a search tool.

The complete record is read from the authoritative JSON store. Content is capped to protect the model context; increase max_chars when necessary.

generate_weekly_summaryC

Generate a summary of conversations from the past week

search_by_topicC

Search conversations by a specific topic

search_by_tagA

Search conversations tagged with a specific tag (D2 metadata field).

Tags are universal metadata populated by the importers (e.g. starred, archived, workspace:my-project, variant:web). Requires SQLite FTS.

search_by_session_idA

Find all conversations sharing a session_id (D2 metadata field).

Useful for reconstructing a multi-turn session that spans several stored conversation records (e.g. a Cursor working session, a Claude thread continued across days). Results are sorted chronologically. Requires SQLite FTS.

search_by_conversation_typeB

Search conversations by conversation_type (D2 metadata field).

Typical values: chat, code, analysis. Requires SQLite FTS.

get_search_statsA

Get search engine statistics and performance information

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/adamkwhite/universal-memory-mcp'

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