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.
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.
Tool Definition Quality
Average 4.3/5 across 4 of 4 tools scored.
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.
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.
With 4 tools, the server is well-scoped for its purpose. Each tool covers a necessary function without unnecessary bloat or redundancy.
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 toolscheck_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).
| Name | Required | Description | Default |
|---|---|---|---|
| ingestion_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | No | ||
| customer_id | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | No | ||
| customer_id | No | ||
| user_message | Yes | ||
| conversation_id | No | ||
| assistant_message | No | ||
| wait_for_processing | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| user_id | No | ||
| customer_id | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenancePersistent memory for AI agents over the Model Context Protocol (MCP).MIT
- Alicense-qualityBmaintenancePersistent 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.761Inno Setup
- AlicenseAqualityDmaintenanceProvides persistent memory with semantic search for MCP-based AI agents, enabling them to store and recall information across sessions using vector embeddings.41MIT
- Alicense-qualityCmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT