Shared team memory for agents
Server Details
Shared team memory for agents. $4.75/seat/mo.
- Status
- Healthy
- Uptime
- 61.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool targets a distinct operation: write, get by id, search, session brief, conflict resolution, and retraction. The only overlap risk is between memory_resolve (supersede winner/loser) and memory_retract (tombstone), both of which end a memory's active life, though the descriptions draw a clear line between conflict resolution and retraction.
All six tools share a uniform 'memory_' namespace prefix followed by a short identifier, which is highly predictable. Minor deviation: 'memory_brief' is a noun rather than a verb like get/search/write/resolve/retract, so the verb pattern is not perfectly uniform.
Six tools is tightly scoped to the shared-memory domain, with each tool earning its place (read paths get/search/brief, write path, and two lifecycle-ending paths). Nothing feels like a filler tool and the surface is not too thin for the workflow.
The core lifecycle is covered: write, retrieve by id, search, conflict resolution via supersede, retraction with derivative invalidation, and a session handoff brief. Gaps are minor: there is no edit/amend operation for a memory in place, no restore/undelete of retracted memories, and no cross-project or project-listing operation.
Available Tools
6 toolsmemory_briefBInspect
Compiled handoff brief for a fresh session joining a project
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It implies a read-oriented compilation but does not state whether the tool is read-only, what permissions are needed, what side effects exist, or what the brief contains.
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 concise phrase with no wasted words. However, it is a noun phrase rather than a front-loaded action statement, which slightly reduces structural clarity.
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?
There are no annotations and no output schema, so the description should carry more detail about what the brief returns and how it differs from siblings. As written, an agent knows the intended scenario but not enough about the result or constraints to invoke it confidently.
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%, and the description mentions 'project' only incidentally as part of the usage phrase. It does not explain whether the parameter is a project ID, slug, name, or what format is expected.
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 identifies a specific artifact—a compiled handoff brief—for a specific use case: a fresh session joining a project. It distinguishes this from generic memory retrieval siblings such as memory_get and memory_search, though it does not use an explicit verb like 'generate' or 'retrieve'.
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 phrase 'for a fresh session joining a project' gives a clear usage context: onboarding or starting work in a new session. It does not explicitly exclude other uses or name sibling alternatives, so it falls short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_getBInspect
Get one memory by id within its project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read, and 'within its project' implies project scoping, but it does not disclose permissions, not-found behavior, or what is returned.
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 front-loaded sentence with no wasted wording. It communicates the action and scope immediately.
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?
For a simple two-parameter read tool, the core operation is covered. However, with no annotations and no output schema, the description leaves gaps around return values and failure behavior that would help an agent invoke it confidently.
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 for the two required parameters. It does identify both 'id' and 'project' semantically, with 'within its project' clarifying that project scopes the lookup, but it adds no format details beyond that.
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 states a specific verb and resource: 'Get one memory by id within its project.' This clearly separates single-record retrieval from broader operations like memory_search, though it does not explicitly name or compare against sibling tools.
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 intended use is implied: call this when you have a memory id and need that specific memory. However, there is no explicit guidance about when to use memory_search instead, or about prerequisites such as valid project scoping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_resolveBInspect
Resolve a conflict by attributed supersede (winner stays active, loser superseded)
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | ||
| loser_id | Yes | ||
| winner_id | Yes | ||
| by_operator | No | Deprecated - ignored: identity derives from the bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the key state transition (winner remains active, loser becomes superseded) rather than deleted, which is real value. It omits reversibility, permission/auth requirements, and failure behavior for already-superseded or missing records.
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?
One compact sentence, front-loaded with the action and immediately followed by the outcome. Nothing is wasted and nothing essential is buried.
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?
This is a mutation tool with no annotations and no output schema, and the description does not cover failure modes, reversibility, project scoping, or what the caller receives back. Adequate to identify the operation, but thin given the complexity of a conflict-resolution mutation.
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?
At 25% schema coverage only the deprecated by_operator is documented, so the description must compensate; it does define the winner/loser roles and their divergent outcomes, which is the crux of two required parameters. It leaves the 'project' parameter and the fact that the IDs refer to memory records unaddressed.
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?
States a specific verb and resource ('resolve a conflict') plus the mechanism ('attributed supersede') and the resulting state ('winner stays active, loser superseded'), which separates it from memory_retract and memory_write. It never names a sibling explicitly, so differentiation is inferred rather than stated.
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 trigger ('a conflict') is implied by the purpose, but there is no explicit when-to-use versus memory_retract or memory_write, and no prerequisites such as both entries existing in the same project or being currently active. An agent must infer the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_retractBInspect
Retract a memory (tombstone); derivatives become stale_derived
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| project | Yes | ||
| by_operator | No | Deprecated - ignored: identity derives from the bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the consequence ('tombstone') and the cascade effect on related data ('derivatives become stale_derived'), which is real behavioral value. However, it says nothing about reversibility, required permissions, or whether the original payload is retained.
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?
A single compact clause with the verb and the two consequences front-loaded; nothing is wasted or buried.
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 and the description covers the core outcome and downstream effect, which is the most important thing for an agent to know. But with no annotations, no output schema, and two undocumented parameters, an agent still lacks detail on argument shape and error/auth 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?
Schema description coverage is only 33% — 'id' and 'project' have no descriptions at all — and the description adds no meaning about what these identifiers are or their format. Only 'by_operator' is documented, and that documentation lives in the schema, not the description.
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?
States a specific verb ('Retract') and resource ('a memory') plus the resulting state ('tombstone'), which is clearly distinct from siblings like memory_write or memory_resolve. It doesn't explicitly name an alternative, but an agent can differentiate it by verb alone.
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?
There is no guidance on when to retract versus resolve or overwrite, no mention of irreversibility, confirmation, or prerequisites. Usage is only implied by the verb itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_searchCInspect
Search shared memories within one project
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| query | No | ||
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full behavioral burden, and it discloses almost nothing: no mention that it is a read-only operation, no auth/permission requirements for 'shared' memories, no result limits, ranking or pagination behavior. 'Shared memories within one project' hints at scope but not at behavior.
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?
A single efficient, front-loaded sentence with zero filler. It is appropriately structured, though it is short to the point of under-specification rather than being padded.
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?
Three parameters at 0% schema coverage, no annotations, and no output schema, yet the description says nothing about return values, result shape, ranking or limits. For a search tool this leaves an agent guessing about both inputs and outputs.
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 and it largely does not. 'Within one project' maps to the required `project` param and 'search' weakly implies `query`, but the `type` parameter and all value formats, enums or matching semantics are entirely undocumented.
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?
States a specific verb (search) and resource (shared memories), plus a scoping constraint (within one project). It is distinguishable from memory_write/memory_retract/memory_get by the verb alone, though it never explicitly contrasts itself with memory_brief or memory_get.
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?
No when-to-use guidance, no exclusions, and no reference to any of the five sibling tools. An agent must infer from the name alone whether this or memory_get / memory_brief is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_writeCInspect
Write a typed, attributed shared team memory
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| content | Yes | ||
| project | Yes | ||
| session | Yes | ||
| subject | Yes | ||
| author_agent | Yes | ||
| derived_from | No | ||
| author_operator | No | Deprecated - ignored: identity derives from the bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it says almost nothing beyond the verb. It does not disclose persistence semantics, whether a write can overwrite or duplicate an existing memory, what happens on a conflict, or the authentication requirement — the only auth hint lives in a deprecated parameter's schema note about the bearer token. The one real signal, "shared team memory," implies writes are visible to other agents, which is useful but far from sufficient for an 8-parameter mutation.
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?
It is a single front-loaded sentence with zero padding, so nothing is wasted. But that terseness comes at the cost of substance — the shortness reflects under-specification rather than discipline.
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?
With 8 parameters, 6 of them required, no annotations, and no output schema, the description should be doing far more work. It says nothing about what a successful write returns (an id? a resolved memory?), how required fields are validated, or what the memory lifecycle looks like after writing — leaving an agent to guess on nearly every call decision.
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 only 13%, so the description must compensate, and it does not. "Typed" and "attributed" loosely gesture at the type and author_agent fields, but the six required parameters — project, session, subject, content, author_agent, type — get no explanation of format, allowed type values, or scoping rules. derived_from is entirely unexplained, leaving nothing to indicate how provenance should be recorded.
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 gives a specific verb plus resource ("Write ... memory") and adds meaningful qualifiers: typed, attributed, and shared team scope. An agent knows immediately this is a write operation against team memory, unlike the read-oriented siblings memory_get / memory_search. It stops short of naming a sibling or the conditions that would route an agent here instead.
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?
There is no when-to-use guidance: nothing says whether to write a new memory vs. memory_resolve or memory_retract an existing one, nor when a memory should be recorded at all. The words "shared team" hint at the collaborative context but give no operational rule for selecting this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
memory_brief - First observed
memory_get - First observed
memory_resolve - First observed
memory_retract - First observed
memory_search - First observed
memory_write
Related MCP Connectors
Shared memory for teams: every AI agent works from your company's knowledge, decisions and history.
Shared memory for teams that work with AI agents: meetings, email and calendar in one brain.
Hosted self-curating shared memory that keeps your agents working like a high-performing team
Shared, permission-aware memory for teams and their AI: recall, save, and keep knowledge current.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables teams to create a shared knowledge base where members can store, search, and validate information collectively. Provides semantic search across team memories with granular permissions and collaborative verification features.1-
- FlicenseCqualityBmaintenanceGives AI agents persistent memory, handoffs, and shared context across sessions, enabling seamless continuity and multi-agent collaboration.29135 npm68-
- AlicenseBqualityBmaintenanceEnables AI agents to maintain persistent, searchable two-layer memory with 37 tools, hybrid search, knowledge graphs, and enterprise features like authentication and backups.751 PyPI1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to share a persistent, self-improving memory by ingesting sources like Obsidian vaults, code, transcripts, and session captures, then serving them back through search, classification, synthesis, and token-optimized context briefings. It lets multiple agents read and write the same knowledge base, so each session builds on the last without copy-pasting context.5 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.