Skip to main content
Glama

Synap Memory

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.4/5 across 4 of 4 tools scored. Lowest: 3.7/5.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: logging exchanges, checking async status, listing memories, and recalling context. No functional overlap exists.

Naming Consistency5/5

All tool names follow the verb_noun pattern with snake_case (e.g., log_exchange, recall_context). The pattern is uniform and predictable.

Tool Count5/5

With 4 tools, the server covers the essential operations for a memory system without being bloated or sparse.

Completeness4/5

Core lifecycle (store, recall, list, status) is covered. Missing only an explicit delete or update tool, but the async extraction model mitigates this.

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, the description carries full burden. It explains the tool returns processing status and memory count, implies read-only behavior, and clarifies the asynchronous nature. No contradictions or missing critical 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?

Two concise sentences: first states purpose and input, second adds detail and usage context. No redundancy or unnecessary words.

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?

For a tool with one parameter and an output schema, the description sufficiently covers what it does, what it needs, and what it returns. No gaps given the simplicity.

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?

The single parameter ingestion_id is explained as returned by log_exchange, providing meaning beyond the schema's type/name. Schema coverage is 0%, so this description is essential and adequate.

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 checks whether a logged exchange has finished processing, specifying the resource (logged exchange) and action (check status). It mentions the required input (ingestion_id) and output (processing status and memory count). This distinguishes it from siblings like log_exchange and 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 advises to use the ingestion_id returned by log_exchange, indicating the tool is for post-logging confirmation. It notes that extraction is asynchronous, implying polling usage. No explicit negative guidance but context is sufficient.

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?

No annotations are provided, so the description carries the full burden. It states the tool 'lists' memories, which implies a read-only operation, but does not disclose any behavioral traits such as whether it's safe to call repeatedly, any performance impact, or how it handles missing parameters. The description is minimal.

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 long with no redundancy. Each sentence adds value: purpose, use case, and parameter guidance. It is front-loaded and efficient.

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

Completeness3/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 but no details are in the description, the tool is minimally complete. However, it does not mention what the output contains (e.g., list of memory items with timestamps) or any limitations like recency cutoff. The description could be more informative.

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 for 'user_id' and 'customer_id' by saying 'Pass user_id/customer_id to scope to one person', but does not explain 'max_results' or any constraints. This is partial compensation.

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 'List recent things remembered about this user', which is a specific verb-resource combination. It distinguishes from siblings like 'recall_context' and 'log_exchange' by focusing on 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 Guidelines3/5

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

The description mentions it's 'useful for debugging or to confirm that memory is working', which implies usage context but does not explicitly tell when to use this tool versus alternatives like 'recall_context' or 'check_memory_status'. No exclusion criteria are provided.

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
Behavior5/5

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

Discloses that logging is fire-and-forget by default, with optional synchronous processing. No annotations provided, so description fully bears the burden and does so thoroughly, explaining memory extraction behavior.

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?

Concise yet comprehensive. Front-loaded with main action, then structured details on parameters and behavior. Every sentence adds value without 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 6 parameters (1 required) and no annotations, the description fully covers usage, behavioral details, and parameter semantics. Output schema exists but description still adequately prepares the agent for invocation.

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?

With 0% schema description coverage, description compensates fully by explaining each parameter's role: user_id for stable user ID, customer_id for org ID, conversation_id for multi-conversation, and wait_for_processing for synchronous mode. Adds real-world guidance on when to omit IDs.

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?

Description clearly specifies the tool's purpose: 'After each user message, send the exchange here so it can be remembered.' It distinctively states the action (log exchange for memory) and differentiates from siblings which check status or recall context.

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?

Provides explicit when to use (after each user message), when not to use alternatives (don't decide importance), and specifics on user_id/customer_id for multi-user scenarios. Also covers fire-and-forget vs synchronous 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
Behavior4/5

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

No annotations provided, so description carries full burden. Implies read-only operation (recall) and safe behavior. Could mention idempotency or rate limits, but for a simple recall, it's adequate.

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?

Two sentences, no filler. Front-loaded with action recommendation. Every sentence adds value.

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?

Output schema exists to explain return values. Description covers when to call, query strategy, and user identification. Complete for a recall tool with sibling context.

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 coverage 0%, but description adds meaning for 'query' (use latest message) and advises on 'user_id'/'customer_id'. Does not cover 'max_results', but overall compensates partially for lack of schema descriptions.

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?

Description clearly states verb 'recall' and resource 'context' about the user from past conversations. Clearly distinguishes from sibling tools (check_memory_status, list_recent_memories, log_exchange) which have different purposes.

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?

Explicitly says 'before replying' and advises to use the user's latest message as query. Also suggests passing user_id/customer_id for multi-user scenarios. No explicit when-not-to-use, but context is clear.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.