Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Long-term memory that persists across sessions and is shared by every agent connected to it. Search it (search_memory, find_by_entity, get_thread) when past context could help, and save decisions, findings and facts worth keeping with save_memory; prefer append_memory over saving a near-duplicate. search_memory returns snippets; use get_memory (or full_content=true) for the full text. Pass save_memory entities as a JSON array of objects, e.g. [{"type":"service","value":"billing-api"}].

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
save_memoryA

Save a piece of context/memory for future conversations. Warns about likely duplicates (consider append_memory instead) and adds configured auto-tags.

Args: topic: Short title (e.g. "billing-api Postgres migration decision", "AAPL stock analysis") content: Detailed context to remember — include conclusions, data, links, action items category: One of: conversation, decision, incident, research, person, project, howto, config, other tags: Comma-separated tags (e.g. "postgres,database,billing") importance: One of: low, normal, high, critical source: Where this came from (default: the connected client's name, e.g. "claude-code") thread_id: Link related memories together with the same thread ID (e.g. "incident-2026-03-24") entities: JSON array of objects, e.g. [{"type":"service","value":"billing-api"},{"type":"person","value":"alice"}] expires_at: Optional expiry date (YYYY-MM-DD) after which this memory is less relevant

append_memoryA

Append additional context to an existing memory without replacing it. The new content is added with a timestamp separator. History is tracked.

Args: memory_id: The ID of the memory to append to content: New content to add (will be appended with a timestamp) source: Where this update came from (default: the connected client's name)

search_memoryA

Search memories by relevance: full-text search with stemming (topic and tag matches rank highest), falling back to substring matching. Returns a snippet per memory; use get_memory for the full text. Expired memories are excluded by default.

Args: query: Search query — plain words, hyphenated names, IDs, or FTS5 syntax (e.g. "tags:aws", "datadog OR sentry") category: Filter by category (optional) importance: Filter by minimum importance: low, normal, high, critical (optional) limit: Maximum number of results (default: 10, max: 100) include_expired: Set to true to include expired memories (default: false) full_content: Set to true to return full content instead of snippets (default: false)

list_memoriesA

List saved memories with optional filters. Expired memories excluded by default.

Args: category: Filter by category (optional) tag: Filter by a single tag, case-insensitive (optional) thread_id: Filter by thread ID to see all related memories (optional) limit: Maximum number of results (default: 25, max: 200) include_expired: Set to true to include expired memories (default: false)

get_memoryB

Get the full content of a specific memory including linked entities and edit history.

Args: memory_id: The ID of the memory to retrieve

update_memoryA

Update an existing memory. Only provided fields are updated. Use append_memory to add context without replacing. Replaced content is kept in the memory's history (see get_memory_history).

Args: memory_id: The ID of the memory to update topic: New topic (leave empty to keep existing) content: New content (leave empty to keep existing) category: New category (leave empty to keep existing) tags: New tags (leave empty to keep existing) importance: New importance (leave empty to keep existing) thread_id: New thread ID (leave empty to keep existing) expires_at: New expiry (leave empty to keep existing)

delete_memoryB

Delete a memory and its linked entities.

Args: memory_id: The ID of the memory to delete

find_by_entityA

Find all memories linked to a specific entity (person, service, account, etc.).

Args: entity_type: Type of entity (e.g. "person", "service", "account", "bucket", "ticket") entity_value: Value to search, substring match (e.g. "alice", "billing-api", "prod-db") limit: Maximum results (default: 25, max: 200)

list_entitiesA

List all unique entities, optionally filtered by type. Useful to see what/who has been referenced.

Args: entity_type: Filter by type (optional, e.g. "person", "service")

get_threadA

Get all memories in a conversation thread, in chronological order.

Args: thread_id: The thread ID to retrieve (e.g. "incident-2026-03-24", "stock-analysis-march")

list_threadsA

List all conversation threads with their memory counts and latest activity.

get_daily_summaryA

Get memories created or updated on a specific local date, with new ones grouped by category.

Args: date: Date in YYYY-MM-DD format, in this machine's local timezone (default: today)

get_memory_historyB

Get the full edit/append history of a memory, including content replaced by update_memory.

Args: memory_id: The ID of the memory

cleanup_expiredA

Find and optionally delete expired memories.

Args: dry_run: If true (default), only lists expired memories without deleting. Set to false to actually delete.

find_duplicatesA

Find potentially duplicate memories. If topic is provided, finds memories similar to it. If no topic, finds groups of memories whose topics share most of their significant words.

Args: topic: Topic to check for duplicates (optional — if empty, scans all memories) limit: Maximum results or groups (default: 10, max: 100)

get_statsA

Get overview stats: total memories, breakdown by category, importance, top entities, active threads, expired count.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 16 tools

Disambiguation4/5

Most tools have clearly distinct roles (search vs. list vs. entity lookup vs. duplicate detection vs. stats), and descriptions explicitly cross-reference each other (e.g. append_memory vs. update_memory). The main overlap is between list_memories with a thread_id filter and get_thread, which retrieve similar data, plus get_memory vs. get_memory_history which differ only by whether history is included.

Naming Consistency5/5

Every name follows a predictable snake_case verb_noun pattern (list_memories, get_memory, save_memory, update_memory, delete_memory, find_by_entity). The lone slight variation is cleanup_expired (verb + adjective, no noun), but it is still clear and idiomatic.

Tool Count4/5

16 tools is at the upper edge for a well-scoped set, but each earns its place: core CRUD, search, entity lookup, threads, history, duplicates, stats, and expiry cleanup. A few aggregation tools (get_stats, list_threads, get_daily_summary) could arguably be folded into list/search filters, keeping it just shy of ideal.

Completeness5/5

Full lifecycle coverage: create (save_memory), read (get_memory, list_memories, search_memory), update (update_memory, append_memory), delete (delete_memory), plus history, entity linking/search, thread grouping, stats, duplicate detection, and expiry cleanup. No obvious dead ends for a memory-store domain.

Maintenance

ActivityMaintained
ResponsivenessLimited data