Skip to main content
Glama

Server Details

Persistent memory for AI agents — log and recall conversation context over MCP.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
maximem-ai/maximem_synap_sdk
GitHub Stars
48

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: logging exchanges, recalling context, checking processing status, and listing memories. No two tools could be confused for one another.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores: check_memory_status, list_recent_memories, log_exchange, recall_context. The naming is uniform and predictable.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose. Each tool covers a necessary function without unnecessary bloat or redundancy.

Completeness4/5

The core lifecycle of memory—write (log_exchange), read (recall_context), and inspection (check_memory_status, list_recent_memories)—is covered. A delete/forget operation is missing but not essential for the stated purpose.

Available Tools

4 tools
check_memory_statusAInspect

Check whether a logged exchange has finished processing. Pass the ingestion_id returned by log_exchange. Returns the processing status and how many memories were extracted. Useful to confirm a save completed (extraction is asynchronous).

ParametersJSON Schema
NameRequiredDescriptionDefault
ingestion_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the asynchronous behavior of extraction, states the tool returns processing status and memory count, and implies a read-only check. It doesn't discuss side effects or permissions, but for a status-check tool, the disclosure is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding distinct value: what it does, how to call it, and when to use it. There is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter) and presence of an output schema, the description covers purpose, parameter origin, return values, and the rationale for using the tool. It's fully self-contained for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only provides the parameter name and type (string), with no description (0% coverage). The description fills this gap by specifying that the ingestion_id comes from log_exchange, giving critical semantic context that fully explains how to populate the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Check' and clearly identifies the resource (a logged exchange's processing status). It also states the return values (processing status and memory count), distinguishing it from sibling tools that list, log, or recall memories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs to pass the ingestion_id from log_exchange, linking it to a prior sibling tool. It also explains when to use it ('confirm a save completed') and why (asynchronous extraction), though it doesn't list exclusions or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_memoriesAInspect

List recent things remembered about this user. Useful for debugging or to confirm that memory is working. Pass user_id/customer_id to scope to one person.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNo
customer_idNo
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden. It clearly implies a read operation via 'List,' but it does not explicitly state that it is read-only or describe what 'recent' means (e.g., time window, ordering). It adds some value by noting the debugging use case, but lacks depth on behavior beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: two sentences that cover purpose and usage without redundancy. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no required params, no nested objects) and has an output schema, so the description doesn't need to explain return values. It covers the core purpose and scoping, but could be more complete by addressing max_results and explicitly noting read-only behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains user_id/customer_id ('scope to one person') but does not mention max_results at all. Since schema coverage is 0%, the description should compensate more, but max_results is fairly self-explanatory from its name. It also leaves ambiguity about what happens if both user_id and customer_id are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'List recent things remembered about this user,' which clearly states the action (list) and resource (memories). The additional note 'Useful for debugging or to confirm that memory is working' distinguishes it from sibling tools like recall_context, which likely serves runtime context retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases ('debugging or to confirm that memory is working') and explains how to scope the query ('Pass user_id/customer_id to scope to one person'). However, it does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_exchangeAInspect

After each user message, send the exchange here so it can be remembered. You do not need to decide what is important — just forward the user message (and your reply, if you have one) and Synap will keep what matters. If your app serves more than one end-user, pass that person's stable id as user_id (or an organization id as customer_id) so each person's memory stays separate; if every conversation is the same single user, omit them. Logging is fire-and-forget by default; set wait_for_processing=true only when you need to confirm the memory finished extracting before continuing.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNo
customer_idNo
user_messageYes
conversation_idNo
assistant_messageNo
wait_for_processingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It transparently discloses fire-and-forget default behavior and wait_for_processing as an opt-in confirmation flag. It also explains the behavioral implication of user_id/customer_id for memory separation. It doesn't mention error conditions or idempotency, but covers key operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured paragraph. Every sentence adds operational value: trigger condition, payload content, user identification, and async behavior. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, return values need no explanation. The description covers all essential aspects: when to call, what to send, how to handle multi-user, and optional confirmation. Complete for a memory-logging tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains user_id and customer_id semantics (stable id per end-user/organization, omit for single-user) and the wait_for_processing flag. It does not clarify conversation_id, but the overall guidance covers most parameters meaningfully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'send the exchange here so it can be remembered' – a specific verb+resource. It distinguishes itself from sibling tools (check_memory_status, list_recent_memories, recall_context) which retrieve/manage memory, whereas this tool writes/logs exchanges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs when to use: 'After each user message, send the exchange here'. It also provides exclusion guidance ('do not need to decide what is important') and alternatives/context by naming the sibling tools. Detailed guidance on user_id/customer_id and wait_for_processing further clarifies usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recall_contextAInspect

Before replying, call this to recall anything already known about this user from past conversations. Use the user's latest message as the query. If you serve multiple end-users, pass the same user_id (or customer_id) you log with so you recall the right person's memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
user_idNo
customer_idNo
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears the full behavioral disclosure burden. It reveals some useful traits: the tool should be called proactively before replying, and user_id/customer_id scoping is important for multi-user environments. Yet it does not state whether the operation is read-only, what happens when no memory is found, or any rate-limiting or permission considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the primary directive and follows with concrete usage instructions, making it easy to parse and actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to detail return values. The tool is straightforward, and the description covers invocation timing, query source, and user scoping. It is slightly thin on edge cases (e.g., what to do when no results), but for a retrieval tool of this simplicity it is largely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning to the 'query' parameter (use the latest message) and explains user_id/customer_id selection for multi-user scenarios. However, it does not explain the 'max_results' parameter or elaborate on the relationship between user_id and customer_id beyond mentioning either is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to recall user-specific information from past conversations before replying. It uses a specific verb ('recall') and resource ('anything already known about this user'), and the action is distinguishable from sibling tools like check_memory_status or list_recent_memories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool ('Before replying') and gives guidance on query construction ('Use the user's latest message as the query') and user identification for multi-user scenarios. However, it does not explicitly mention alternatives or exclusion conditions relative to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Persistent memory MCP server for AI agents that stores, recalls, and searches conversation history, key-value context, and long-term entries across sessions with semantic search and FIFO queues.
    76
    1
    Inno Setup
  • A
    license
    A
    quality
    D
    maintenance
    Provides persistent memory with semantic search for MCP-based AI agents, enabling them to store and recall information across sessions using vector embeddings.
    4
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.