iai-personal-memory-engine
Server Quality Checklist
Latest release: v3.0.8
- Disambiguation3/5
The non-retrieval tools are clearly distinct, but the memory read surface is crowded: memory_recall, memory_search, memory_recall_structural, memory_temporal_recall, episodes_recent, and events_query have overlapping retrieval purposes. Descriptions help with cues, but the boundary between memory_recall and memory_search in particular is subtle enough to cause misselection.
Naming Consistency3/5Memory tools mostly follow a memory_<verb> pattern, but the set mixes in noun-style names like schema_list, events_query, and topology, plus noun-adjective forms like curiosity_pending and episodes_recent. Modifier placement is also inconsistent: memory_temporal_recall vs memory_recall_structural. It is readable and all snake_case, but not a uniform convention.
Tool Count5/514 tools is well within a reasonable scope for a personal memory engine, and each tool corresponds to a distinct functional area: capture, recall, reinforcement, contradiction, consolidation, diagnostics, and profile configuration. The count feels intentional rather than padded.
Completeness4/5The core memory lifecycle is well covered: capture, multiple recall modes, contradiction for corrections, reinforcement, consolidation, and diagnostic/query surfaces. Minor gaps exist, such as the lack of a direct get-record-by-id or an explicit tool to answer curiosity_pending items, but agents can work around these using recall and capture.
Average 4.2/5 across 13 of 14 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 29 of 34 community issues answered or closed in the last 6 months
- 212 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds value beyond annotations by stating 'Mutates store' (aligning with readOnlyHint: false) and specifying 'idempotent in one sleep window' (extending the idempotentHint). It also discloses the internal processes involved. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with essential information front-loaded. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter, an output schema, and annotations covering safety/idempotency, the description provides sufficient context about purpose and effects. It could include more about when consolidation is appropriate, but the current level is adequate for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter (session_id) has a complete description in the schema. The tool description adds no additional semantic meaning about the parameter, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's function: 'Trigger sleep-cycle consolidation' and specifies three distinct processes (schema induction, FSRS decay, Hebbian pruning). This specific verb+resource combination distinguishes it from sibling tools like memory_recall or memory_reinforce.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when triggering sleep-cycle consolidation) but does not explicitly state when not to use it or mention alternatives. Clear context but no exclusions or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that recall is 'verbatim' and that it 'Returns hits + anti_hits,' providing behavioral expectations beyond the annotations. It does not contradict annotations and adds context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the action ('Recall'), and each clause carries distinct information: what it recalls, when to call it, and what it returns. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complete schema, output schema, and rich annotations, the description covers purpose, usage timing, and a return-shape hint. It could mention anti_hits semantics or caveats, but the schema and output schema fill those gaps. It is sufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are fully described in the schema (100% coverage), so the baseline is 3. The description identifies the 'cue' as the matching mechanism and mentions return behavior, but provides no additional parameter semantics beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Recall') and resource ('memories by cue') and lists content types ('decisions, preferences, prior discussion, rationale'). It distinguishes itself from siblings via 'verbatim' and the 'Call before a repository search' directive, though it doesn't explicitly name alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear context: 'Call before a repository search.' This tells when to use it but does not explicitly state when not to use it or name alternatives. Per rubric, that's a 4 (clear context, no exclusions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable context by stating that results are 'hints to verify' and that the tool does not substitute for a full repository search. This goes beyond the annotations and clarifies the reliability of the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys purpose, usage, and a behavioral caveat. Every clause adds value: 'Use for code/doc search' (purpose), 'returns hints to verify' (behavior), and 'never replaces a repository search' (limitation). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 2 well-documented parameters, annotations, and an output schema, the description covers the essential aspects: what it does, when to use it, and a key limitation. It does not explain return values, but the output schema handles that. Minor gap: no explicit mention of how this differs from memory_recall siblings, but overall the description is sufficient for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (query and k) with descriptions. The description does not add additional meaning specific to the parameters; it only mentions 'code/doc search' which indirectly implies the query type, but that is marginal. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Use for code/doc search'. It distinguishes itself from a repository search by saying it 'never replaces a repository search', but does not explicitly differentiate from sibling memory tools like memory_recall or memory_temporal_recall. Still, the core purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use context ('Use for code/doc search') and a when-not-to-use ('never replaces a repository search'). However, it does not mention alternatives or explicitly contrast with sibling tools, so it falls short of the full 'explicit alternatives' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose readOnly=false, destructive=false, and idempotent=true; the description adds that the knobs are sealed and that get/set returns a value. It does not describe set-side effects such as validation, persistence, or deferred knob behavior, but the annotations carry the core safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus a compact clause, with each component earning its place: purpose, knob inventory, operation mode, and return behavior. There is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, an output schema, and complete schema coverage, this description is sufficient: it states the resource, operation, knob list, and return. It could mention error cases or dynamic/deferred knob behavior, but the schema and annotations already cover much of the operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents operation, knob, and value with rich details, including 'get' with no knob returns all live+deferred values and set requires both fields. The tool description adds no new parameter detail, so the baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Read or write a profile knob' and names the two operations, get and set. It further specifies the exact sealed knob set (9 AUTIST + wake_depth), which makes the purpose concrete and distinguishes it from the unrelated sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context that the tool is used to access/update profile knobs and that 'operation' selects read vs write. It doesn't explicitly name alternatives or when-not-to-use cases, but the tool's domain is narrow enough that no sibling overlap is apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context that the questions are 'queued by the sleep daemon' and are 'pending,' which is extra context beyond the annotations, but not extensive. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three short sentences, front-loaded with the main action, then read-only note, then filter instruction. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, a rich set of annotations, and an output schema, the description is complete. It specifies the source (sleep daemon), state (pending), and filtering option, covering all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (session_id has a clear description). The description mentions 'Filter by session_id' but does not add meaning beyond the schema. Baseline of 3 applies since the schema already documents the parameter well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'List pending curiosity questions queued by the sleep daemon.' It also notes the tool is read-only and can be filtered by session_id, distinguishing it from sibling tools focused on memory operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on what the tool does (lists pending curiosity questions) and how to narrow results (filter by session_id). It lacks explicit alternatives or when-not-to-use guidance, but the read-only nature and filtering hint are useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior. The description adds valuable context beyond that: the "GLOBAL across all projects" scope, which could be surprising for users expecting project isolation, and the time-desc ordering. However, it does not disclose potential rate limits, pagination, or what happens when n exceeds the max, though those are partially covered by the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core functionality, then adds the optional filter and global scope. Every clause adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with two optional parameters and a rich output schema, the description covers the essential behavior, scope, and ordering. The annotations and schema fill in safety and parameter details, making this sufficiently complete for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (n and session_id are fully described). The description only reiterates "Optional session_id filter," which adds no new meaning beyond the schema. It does not clarify edge cases like n=0 or negative values, but the schema already provides defaults and bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb "Returns" with a specific resource: "N most-recent user-turn records," including ordering (time-desc) and an optional filter. It also distinguishes itself by declaring "GLOBAL across all projects," setting it apart from project-scoped siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly communicates when to use it (for recent user-turn records globally) but provides no explicit guidance on when not to use it or what alternatives might be better (e.g., memory_search for semantic recall, events_query for event logs). It lacks explicit exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the source (sleep consolidation) and the Tier-0 + Tier-1 restriction, but it does not disclose any further behavioral traits such as return format or side effects. This aligns with the calibration example where annotations carry the main burden and the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the core action and scope front-loaded in the first sentence. The second sentence adds the read-only note and filter parameters with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two optional parameters, full schema descriptions, an output schema, and rich annotations), the description adequately covers the essential aspects: what it lists, the source, safety, and filtering. No significant information is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for both parameters, including defaults and semantics. The description only echoes 'Filter by domain and confidence_min' without adding any additional meaning beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'induced schemas' and narrows scope to 'Tier-0 + Tier-1 from sleep consolidation.' This not only states what it does but also distinguishes it from sibling memory tools like memory_recall or memory_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool is read-only and mentions the two filter dimensions (domain and confidence_min), which provides clear context for when to use it. However, it does not explicitly name alternatives or exclusion criteria compared to sibling tools, 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals a key non-obvious behavior—auto-dedup at cosine similarity >= 0.95 with reinforcement—which is not present in the annotations. It also clarifies the verbatim nature of capture. This adds meaningful behavioral context beyond the minimal annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences deliver purpose, a critical behavioral detail, and usage guidance. No fluff—every clause earns its place. Ideal length for an MCP tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a capture tool with a detailed schema and output schema present, the description covers the essential aspects: what to capture, automatic deduplication behavior, and recommended use cases. It does not explain return values (not needed given output schema) or edge cases like truncation, but the schema already covers those. Slightly more could be said about tier selection, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific semantics beyond the schema (e.g., it doesn't elaborate on `tier` or `cue`), but the 'verbatim' and dedup hints loosely relate to `text` and `cue`. No additional guidance beyond what structured fields already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Capture a verbatim turn') and clearly distinguishes itself from sibling tools like memory_recall and memory_search by focusing on recording rather than retrieving. The auto-dedup detail further differentiates it from a plain store operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('for corrections + load-bearing decisions'), providing clear context for adoption. However, it does not mention when not to use it or name alternative tools like memory_reinforce, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds minimal behavioral context beyond the annotations, such as the TEM role->filler binding mechanism and the 'Read-only' statement, but these do not significantly enrich the agent's understanding of operational behavior. It does not contradict the annotations, though it also does not disclose return format or side effects beyond what annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of three short phrases that convey purpose, safety, and usage preference. Every word adds value, and it is front-loaded with the core concept. No unnecessary filler or repetition exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a detailed input schema with all parameters documented, a rich output schema, and strong annotations. The description covers the core purpose and usage differentiation. It does not explain return values, but the output schema presumably handles that, and the overall definition is comprehensive enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions are detailed, including hard caps, budget behavior, and the meaning of omitted structure_query. The description text itself does not add further parameter semantics beyond relating the tool to 'role-filler queries', which is already evident from the schema. Therefore the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs structural recall via TEM role->filler bindings (BSC hypervectors), giving a specific mechanism and resource. It also explicitly distinguishes itself from the sibling tool memory_recall by noting it is preferred for role-filler queries, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Prefer over memory_recall for role-filler queries' directly tells when to use this tool over an alternative. The parameter schema further explains when structure_query is omitted, warning of an expensive full-corpus scan, which supplements the when-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the 'Read-only' phrase is redundant. However, the description adds valuable behavioral detail by explaining that as_of bounds the records side and changed_since filters the events side, clarifying the dual-sided temporal semantics beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with a colon introducing the key mechanics. Every phrase carries meaning, and the front-loaded 'Time-travel recall' immediately conveys the tool's niche. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, return value details are not needed. The description covers the core behavior (the two bounds) and mentions the read-only nature, which aligns with annotations. It omits discussion of cue and limit, but the schema provides those. Overall, it is complete for a read-only temporal query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters (100% coverage), giving a baseline of 3. The description adds meaning by mapping as_of to the records side and changed_since to the events side, helping the agent understand how these parameters relate to the two outputs. This semantic grouping exceeds the schema's individual descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('recall') and resource ('records' and 'events') while uniquely specifying temporal scoping via 'as_of bounds records, changed_since filters events'. This distinguishes it from siblings like memory_recall and memory_search by emphasizing its temporal nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies temporal use cases but does not explicitly state when to use this tool over siblings like memory_recall or events_query. No exclusions or alternative recommendations are provided, leaving the agent to infer usage context from the temporal keywords.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds context about 'user-visible events' and the 'kind whitelist', which are meaningful behavioral constraints beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence that front-loads the primary purpose and lists key filters. Every word earns its place; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema, annotations, and an output schema present, the description is sufficiently complete for a read-only query tool. It communicates the essential scope and filters; return format is handled by output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description merely lists the optional parameters without adding details beyond what the schema already provides (e.g., ISO-8601 for since, enums for severity). No extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Query' with a clear resource 'user-visible events' and scope ('kind whitelist'). This distinguishes it from sibling tools like memory_recall or episodes_recent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this is the tool for querying events, with optional filters (since, severity, limit) and a whitelist constraint. It does not explicitly compare to alternatives, but the context is clear and there are no exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'Mutates store' and 'old NEVER deleted', adding critical non-destructive mutation context beyond the annotations. It also clarifies that the new fact becomes a separate record, which is a key behavioral trait not fully captured by the readOnlyHint/destructiveHint flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the essential facts: the action, the storage behavior, non-deletion, and mutation. No filler or redundant repetition of schema content. Well front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward mutation with a rich schema and output schema present, the description provides sufficient context. The non-destructive nature and new-record behavior are disclosed, which is the core complexity. The output schema handles return-value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have detailed descriptions in the schema (100% coverage), so the description adds no additional parameter-level meaning. The schema already covers id and new_fact semantics, including the contradicts edge, making the description unnecessary for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Mark' and the resource 'a record', and specifies that a new fact is stored as a NEW record while the old is preserved. This distinguishes it from sibling write tools like memory_capture by focusing on contradiction rather than simple creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The implied usage is that you call this when needing to contradict an existing fact, but no explicit when-to-use vs alternatives is provided. The description does not exclude any cases or name alternatives, leaving usage inference to the name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds specificity beyond the annotations by stating that edge weights are mutated. Annotations already indicate readOnlyHint=false, but the description clarifies the exact object of mutation, providing context not solely inferred from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, purposeful sentences: the action, the effect, and the usage condition. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, a clear safety profile from annotations, and an output schema present, the description is fully sufficient. It covers purpose, behavior, and usage without redundancy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for the single parameter `ids` is fully detailed (co-retrieved UUIDs, pair increments, idempotence), so the description adds no new parameter information. Baseline 3 applies because schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Boost Hebbian edges') targeting a specific resource ('record ids'), and explicitly notes that it mutates edge weights. This distinguishes it from sibling tools like memory_recall or memory_consolidate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage condition: 'Use when two records co-answered.' It does not mention exclusions or alternatives, but the clear context is sufficient for most selection scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds a specific behavioral guarantee that 'sigma never toggles retrieval', which is useful context beyond the annotations. It also clarifies the read-only nature without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence. It front-loads the core purpose, lists the key output components, and adds a critical behavioral note all in one concise statement with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and zero parameters, the description sufficiently covers the tool's purpose and behavior. The mention of 'sigma never toggles retrieval' addresses a potential concern, and the read-only diagnostic label sets accurate expectations. No significant gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description needs no parameter explanations; it appropriately focuses on output fields instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing a snapshot of memory-graph topology, listing the specific fields (N, C, L, sigma, community_count, regime). It differentiates itself from sibling memory tools by being a read-only diagnostic, not a retrieval or mutation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly labels it as a 'read-only diagnostic', making the intended use case (inspecting topology) clear. It does not mention explicit alternatives, but the context is sufficient given the tool's simplicity and zero parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CodeAbra/iai-personal-memory-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server