Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have distinct purposes, but some overlap exists in search functionality (search_memories_advanced, search_memories_similarity, search_memories_text) which could cause confusion about which to use for different query types. The memory retrieval tools (get_memory, get_memory_clusters, get_working_memories) are well differentiated by their specific targets.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case throughout, such as 'activate_cluster', 'create_memory', and 'get_memory_health'. This predictability makes the tool set easy to navigate and understand at a glance.

    Tool Count3/5

    With 24 tools, the count feels heavy for a memory management system, bordering on excessive. While the domain is complex, some tools could potentially be consolidated (e.g., the three search variants) to reduce cognitive load without losing functionality.

    Completeness5/5

    The tool set provides comprehensive coverage for memory lifecycle management, including creation, retrieval, search, relationships, clustering, maintenance (cleanup, archive, prune), and analytics (health, insights, themes). No obvious gaps are present for the stated AGI memory domain.

  • Average 2.9/5 across 24 of 24 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Clean up' suggests a destructive operation that removes or archives expired working memories, but it doesn't specify whether this is reversible, what permissions are required, or how it affects system state (e.g., whether it triggers notifications or updates indices). For a potentially destructive tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

    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 extremely concise—a single four-word phrase—with zero wasted words. It's front-loaded with the core action ('Clean up') and target ('expired working memories'), making it easy to parse. For a simple, parameterless tool, this brevity is appropriate and efficient.

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

    Completeness2/5

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

    Given the tool's potential complexity (it likely performs destructive cleanup of memory data) and the absence of both annotations and an output schema, the description is insufficiently complete. It doesn't explain what 'clean up' entails operationally, what constitutes 'expired', what the tool returns (if anything), or how it differs from sibling tools. For a tool that could significantly impact system state, more context is needed.

    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 tool has zero parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to compensate for any parameter gaps. A baseline score of 4 is appropriate since the absence of parameters means the description's lack of parameter information isn't a deficiency—it simply describes a parameterless operation.

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

    Purpose2/5

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

    The description 'Clean up expired working memories' is a tautology that essentially restates the tool name 'cleanup_expired_working_memory'. While it clarifies the verb ('clean up') and target resource ('expired working memories'), it doesn't distinguish this tool from potential sibling operations like 'prune_memories' or 'archive_old_memories' that might handle similar cleanup tasks. The purpose is somewhat clear but lacks specificity about what 'clean up' entails compared to alternatives.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'prune_memories' or 'archive_old_memories'. It doesn't specify triggers (e.g., automated vs. manual cleanup), prerequisites, or context for invoking it. While the name implies it targets 'expired' items, the description doesn't elaborate on what qualifies as 'expired' or when this operation is appropriate versus other memory management tools.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but lacks behavioral details. It doesn't disclose if this is read-only (likely, but not stated), what the output format is (e.g., list of memories, graph structure), performance implications (e.g., depth affects speed), or error handling (e.g., invalid memory_id). The phrase 'graph traversal' hints at complexity but doesn't clarify behavior beyond the basic action.

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

    Conciseness4/5

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

    The description is a single, efficient sentence with no wasted words, making it easy to parse. However, it's under-specified rather than concise—it could benefit from slightly more detail (e.g., 'Find memories connected via relationship edges in a graph') without losing brevity, but it's not overly verbose.

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

    Completeness2/5

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

    Given no annotations, no output schema, and a tool with graph traversal complexity (implied by parameters like max_depth and min_strength), the description is incomplete. It doesn't explain what 'related' means, the traversal algorithm, output format, or error cases, leaving significant gaps for an agent to use it correctly in context with siblings.

    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 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond implying traversal uses 'memory_id' as a start point and 'max_depth/min_strength' as limits, but this is already clear from schema descriptions. Baseline 3 is appropriate as the schema does the heavy lifting.

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

    Purpose3/5

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

    The description 'Find memories related through graph traversal' states the action (find) and resource (memories) but is vague about scope and mechanism. It doesn't specify what 'related' means (e.g., by content, relationships, themes) or how graph traversal works, nor does it distinguish from siblings like 'find_similar_clusters' or 'search_memories_similarity', leaving ambiguity about when to use this versus other search tools.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requires an existing memory ID), exclusions (e.g., not for direct content search), or compare to siblings like 'search_memories_advanced' or 'get_memory_relationships', leaving the agent to guess based on the name alone.

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

  • Behavior2/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 of behavioral disclosure. It states the action ('Find') but doesn't describe what 'similar' means, how results are returned, or any operational traits like performance, limitations, or side effects. For a tool with no annotations, this is a significant gap in transparency.

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

    Conciseness4/5

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

    The description is a single, efficient sentence with no wasted words, making it front-loaded and easy to parse. However, it's overly concise to the point of under-specification, lacking necessary details for a tool with no annotations. It earns a 4 for brevity but loses a point for missing critical context.

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

    Completeness2/5

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

    Given the complexity of similarity search, no annotations, no output schema, and multiple sibling tools, the description is incomplete. It fails to explain what 'similar' entails, how results are structured, or when to choose this over alternatives. For a tool in this context, it should provide more guidance and behavioral details.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with clear documentation for 'cluster_id' and 'threshold'. The description adds no additional meaning beyond the schema, such as explaining similarity metrics or usage examples. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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

    Purpose3/5

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

    The description 'Find clusters similar to a given cluster' clearly states the verb ('Find') and resource ('clusters'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'search_memories_similarity' or 'find_related_memories', leaving ambiguity about scope or method. It's not tautological but remains vague on what makes this tool distinct.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_memories_similarity' and 'find_related_memories', there's no indication of context, prerequisites, or exclusions. This leaves the agent guessing about appropriate use cases without any implied or explicit direction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It implies a read operation ('retrieve') but doesn't disclose behavioral traits like permissions needed, rate limits, pagination, or what 'current' means operationally. This leaves gaps in understanding how the tool behaves beyond basic retrieval.

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

    Conciseness4/5

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

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action, though it could be more specific to improve clarity without losing conciseness.

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

    Completeness2/5

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

    Given no annotations, no output schema, and a vague description, this is incomplete for a retrieval tool among many siblings. The agent lacks critical context on what 'current' means, the return format, or how this differs from other memory tools, making it hard to use effectively.

    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 100%, so the schema fully documents the single parameter 'include_expired'. The description adds no parameter semantics beyond what's in the schema, meeting the baseline of 3 for high coverage without extra value.

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

    Purpose3/5

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

    The description 'Retrieve current working memories' states a clear verb ('retrieve') and resource ('working memories'), but it's vague about scope—'current' is ambiguous (active? recent?). It doesn't distinguish from siblings like 'get_memory', 'search_memories_advanced', or 'get_memory_history', leaving the agent unsure when to choose this tool over alternatives.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus siblings. With many similar tools (e.g., 'get_memory', 'search_memories_advanced'), the description lacks context, prerequisites, or exclusions, forcing the agent to guess based on names alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'activate' (implying a state change) and 'get associated memories' (implying retrieval), but lacks critical behavioral details: whether activation is reversible, if it requires specific permissions, rate limits, side effects (e.g., impacts on other clusters), or what the output looks like (memories format, pagination). For a tool with potential mutation effects and no annotation coverage, this is inadequate.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core action and outcome. Every word earns its place, with no redundancy or fluff. It's appropriately sized for a tool with two parameters and clear schema documentation.

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

    Completeness2/5

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

    Given no annotations, no output schema, and a tool that likely involves state changes ('activate'), the description is incomplete. It doesn't address behavioral risks, output format, or usage context. For a mutation-like tool in a memory management system, more detail is needed to ensure safe and correct invocation by an agent.

    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 100%, with clear parameter descriptions in the schema. The tool description adds no additional parameter semantics beyond what's in the schema (e.g., doesn't explain what 'context' influences or provide examples). With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

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

    Purpose4/5

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

    The description clearly states the action ('activate') and resource ('memory cluster'), and mentions the outcome ('get its associated memories'). It distinguishes from siblings like 'get_memory_clusters' (which likely lists clusters) and 'create_memory_cluster' (which creates new ones). However, it doesn't specify what 'activate' entails operationally (e.g., making it available for recall vs. modifying state).

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., cluster must exist), exclusions (e.g., clusters already active), or related tools like 'get_memory_clusters' for listing clusters first. The description implies usage for retrieving memories, but doesn't clarify if this is the primary method versus 'get_memory' or 'search_memories_advanced'.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation operation ('Archive') but doesn't specify whether this is destructive, reversible, requires permissions, or has side effects like rate limits. The description adds minimal context beyond the basic action, leaving key behavioral traits undefined.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core action without unnecessary words. It directly states the purpose and criteria, making it easy to parse quickly, with no redundant information or structural issues.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'Archive' entails (e.g., storage location, reversibility), potential impacts, or return values. Given the complexity and lack of structured data, more detail is needed to adequately guide usage.

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

    Parameters3/5

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

    The input schema has 100% description coverage, clearly documenting both parameters with defaults. The description adds value by mentioning 'age and importance criteria', which aligns with the parameters but doesn't provide additional semantics like how importance is measured or archival outcomes. Baseline 3 is appropriate as the schema handles most documentation.

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

    Purpose4/5

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

    The description clearly states the verb ('Archive') and resource ('old memories'), specifying the action and target. It distinguishes from siblings like 'prune_memories' by focusing on archival based on criteria rather than deletion or other operations. However, it doesn't explicitly differentiate from all siblings, such as 'cleanup_expired_working_memory', which might have overlapping functions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'prune_memories' or 'cleanup_expired_working_memory'. It lacks context about prerequisites, such as whether memories must be inactive or if archival is reversible, and offers no explicit alternatives or exclusions for usage scenarios.

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

  • Behavior2/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 of behavioral disclosure. It states the tool consolidates memories but doesn't explain what happens to the original working memories (e.g., are they deleted, archived, or retained?), the permissions required, or any side effects like rate limits. This leaves critical behavioral traits unspecified for a mutation operation.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., effects on original memories), usage context, and return values, leaving significant gaps for an agent to understand how to invoke and interpret results effectively.

    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 100%, so the schema fully documents the three required parameters. The description doesn't add any meaning beyond the schema, such as explaining how 'consolidated_content' should relate to the input IDs or what format 'consolidated_embedding' expects. With high schema coverage, a baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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

    Purpose4/5

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

    The description clearly states the action ('consolidate') and resources ('multiple working memories into a single semantic memory'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'create_memory' or 'create_memory_cluster', which might also involve memory creation or aggregation, leaving some ambiguity about its unique role.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing existing working memories, or compare it to siblings like 'create_memory' or 'prune_memories', leaving the agent without context for tool selection.

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

  • Behavior2/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 mentions 'optional type-specific metadata' but doesn't disclose critical behavioral traits such as whether this is a write operation (implied by 'Create'), what permissions are needed, if it's idempotent, or what happens on failure. For a creation tool with no annotation coverage, this is a significant gap in transparency.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core action ('Create a new memory') and adds a concise qualifier ('with optional type-specific metadata'). There's no wasted verbiage, making it appropriately sized and easy to parse.

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

    Completeness2/5

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

    Given the complexity of a creation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., side effects, error handling) and doesn't explain what the tool returns, leaving the agent with insufficient context for reliable use.

    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 100%, so the schema fully documents all parameters. The description adds minimal value by hinting at 'optional type-specific metadata', but this is already covered in the schema's description for the 'metadata' parameter. With high schema coverage, the baseline is 3, as the description doesn't provide additional semantic context beyond what's in the structured data.

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

    Purpose4/5

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

    The description clearly states the verb ('Create') and resource ('memory') with the qualifier 'new', making the purpose evident. However, it doesn't distinguish this tool from sibling tools like 'create_memory_cluster' or 'create_working_memory', which also create memory-related entities, so it doesn't fully differentiate from alternatives.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'create_memory_cluster' and 'create_working_memory', there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'create' implying a write operation, but doesn't mention permissions needed, whether it's idempotent, rate limits, or what happens on success/failure. This is inadequate for a mutation tool with zero annotation coverage.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a 'memory cluster' is in this context, what happens after creation, or how it interacts with other tools. More context is needed given the complexity implied by sibling tools.

    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 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond the schema, such as explaining cluster_type choices or keyword usage. Baseline 3 is appropriate when schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the action ('create') and resource ('new memory cluster'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'create_memory' or 'create_working_memory' that also create memory-related entities, missing explicit distinction.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'create_memory' or 'create_working_memory', nor does it mention prerequisites or context for creating a cluster. It lacks explicit when-to-use or when-not-to-use instructions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Create' which implies a write/mutation operation, but doesn't disclose any behavioral traits: no information about permissions needed, whether it's idempotent, what happens on duplicate relationships, error conditions, or response format. This leaves significant gaps for a tool that modifies data.

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

    Conciseness5/5

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

    The description is a single, clear sentence that states the core function without unnecessary words. It's front-loaded with the essential action and resource. There's zero waste or redundancy—every word earns its place.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects (permissions, side effects), response format, or error handling. While the schema documents parameters well, the overall context for safe and effective use is incomplete, especially given the tool modifies data in what appears to be a memory system.

    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 100%, providing good documentation for all parameters. The description adds no parameter semantics beyond what's in the schema—it doesn't explain what 'relationship' means in this context, how properties are used, or provide examples. With high schema coverage, the baseline is 3, and the description doesn't enhance or detract from that.

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

    Purpose4/5

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

    The description clearly states the action ('Create') and resource ('relationship between two memories'), making the purpose immediately understandable. It distinguishes from sibling tools like 'get_memory_relationships' (which retrieves) and 'create_memory' (which creates individual memories). However, it doesn't specify what kind of relationship (e.g., directional, with types) beyond the basic concept.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing memories), exclusions, or comparisons to siblings like 'find_related_memories' or 'create_memory_cluster'. The agent must infer usage from the name and schema alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions expiration but lacks details on permissions, rate limits, error handling, or what 'temporary' entails beyond TTL. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.

    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?

    Extremely concise and front-loaded with a single sentence that captures the core purpose. Every word earns its place without redundancy or fluff, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    For a creation tool with no annotations, no output schema, and incomplete parameter documentation, the description is inadequate. It doesn't explain what the tool returns, how failures are handled, or the implications of creating a 'working memory' versus other memory types, leaving the agent with insufficient context.

    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 67% (2 of 3 parameters described). The description adds no parameter-specific information beyond what the schema provides. With moderate coverage, the baseline is 3 as the schema does most work, but the description doesn't compensate for the undocumented 'context' parameter's semantics.

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

    Purpose4/5

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

    The description clearly states the action ('Create') and resource ('temporary working memory') with a key characteristic ('with expiration'). It distinguishes from siblings like 'create_memory' by specifying the temporary nature, though it doesn't explicitly contrast with all similar tools.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like 'create_memory' or 'create_memory_cluster'. The description implies temporary storage but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer context.

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

  • Behavior2/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 implies a read operation but doesn't disclose behavioral traits such as permissions needed, rate limits, pagination, or what 'recently activated' entails beyond the parameter. This is inadequate for a tool with no annotation coverage.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for the tool's complexity, earning full marks for conciseness.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain return values, error handling, or behavioral context, making it insufficient for a tool in a complex memory management system with many siblings.

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

    Parameters3/5

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

    The schema description coverage is 100%, with the parameter 'days' fully documented in the schema. The description adds no additional meaning beyond implying temporal filtering, so it meets the baseline of 3 without compensating or detracting.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('recently activated memory themes and patterns'), making the purpose understandable. It doesn't explicitly distinguish from sibling tools like 'get_memory_history' or 'get_cluster_insights' which might also retrieve temporal or thematic data, so it misses the highest score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_memory_history' and 'get_cluster_insights', there's no indication of context, prerequisites, or exclusions, leaving usage ambiguous.

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

  • Behavior2/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 of behavioral disclosure. It states this is a 'Get' operation, implying read-only access, but doesn't specify authentication requirements, rate limits, error conditions, or what 'detailed analytics' includes (e.g., metrics, visualizations, or raw data). For a tool with no annotation coverage, this leaves significant gaps in understanding its 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?

    The description is a single, efficient sentence that gets straight to the point with no wasted words. It's front-loaded with the core purpose, making it easy for an agent to parse quickly while scanning available tools.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is insufficient for a tool that presumably returns 'detailed analytics'. It doesn't explain what analytics are included, the format of the response, or any prerequisites. For a tool in a memory management context with many siblings, more context is needed to use it effectively.

    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 100%, with the single parameter 'cluster_id' documented as a 'UUID of the cluster'. The description doesn't add any meaningful context beyond this, such as where to find cluster IDs or format specifics. With high schema coverage and only one parameter, 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.

    Purpose4/5

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

    The description clearly states the action ('Get') and target resource ('detailed analytics for a memory cluster'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_memory_clusters' (which likely lists clusters) or 'get_memory_health' (which might provide health metrics), leaving some ambiguity about what makes this tool distinct.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_memory_clusters', 'get_memory_health', and 'get_memory_history', there's no indication of what 'detailed analytics' entails or when this specific tool is appropriate, leaving the agent to guess based on tool names alone.

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

  • Behavior2/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 mentions ordering by 'importance/activity', which adds some behavioral context, but fails to disclose critical details like whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior, or what 'importance/activity' means operationally. For a retrieval tool with zero annotation coverage, this is insufficient.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('retrieve memory clusters') and adds qualifying details ('ordered by importance/activity') without waste. Every word earns its place, making it highly concise and well-structured.

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

    Completeness2/5

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

    Given the complexity implied by sibling tools and the lack of annotations and output schema, the description is incomplete. It doesn't explain what a 'memory cluster' is, how 'importance/activity' is determined, what the return format looks like, or any error conditions. For a tool in a rich ecosystem with no structured support, more context is needed.

    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 100%, with the single parameter 'limit' fully documented in the schema. The description adds no additional parameter information beyond what the schema provides, such as typical values for 'limit' or how it interacts with ordering. This meets the baseline of 3 when the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the action ('retrieve') and resource ('memory clusters'), and specifies ordering ('by importance/activity'), which helps distinguish it from siblings like 'get_memory' or 'get_working_memories'. However, it doesn't explicitly differentiate from similar retrieval tools like 'find_similar_clusters' or 'get_cluster_insights', keeping it from a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'find_similar_clusters', 'get_cluster_insights', and 'search_memories_advanced', there's no indication of context, prerequisites, or exclusions, leaving usage ambiguous.

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

  • Behavior2/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 of behavioral disclosure. It states the tool retrieves 'change history', implying a read-only operation that returns historical data, but doesn't specify what 'change history' includes (e.g., timestamps, types of changes, user information), whether it's paginated, requires authentication, has rate limits, or returns errors for invalid IDs. For a tool with no annotation coverage, this leaves significant gaps in understanding its 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?

    The description is a single, efficient sentence: 'Get change history for a specific memory'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool. Every part of the sentence earns its place by specifying the action and target.

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

    Completeness2/5

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

    Given the tool's complexity (simple retrieval with one parameter) but lack of annotations and output schema, the description is incomplete. It doesn't explain what 'change history' entails (e.g., structured data like logs or raw text), potential return values, error conditions, or behavioral aspects like performance. For a tool with no structured output or annotations, more context is needed to be fully helpful.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with the single parameter 'memory_id' documented as 'UUID of the memory'. The description doesn't add any meaning beyond this (e.g., format examples, where to find the ID, or validation rules). With high schema coverage, the baseline is 3, as the schema does the heavy lifting and the description doesn't compensate with extra details.

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

    Purpose4/5

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

    The description clearly states the tool's purpose as 'Get change history for a specific memory', which includes a specific verb ('Get') and resource ('change history for a specific memory'). It distinguishes from siblings like 'get_memory' (which retrieves the memory itself) and 'get_memory_relationships' (which focuses on connections), but doesn't explicitly differentiate from all siblings (e.g., 'get_memory_health' might also involve historical data). The description is clear but lacks explicit sibling differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid memory_id), exclusions (e.g., not for real-time updates), or comparisons to siblings like 'get_memory' (for current state) or 'search_memories_advanced' (for broader queries). Usage is implied by the name and purpose, but no explicit context is given.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is 'permanently delete', which implies a destructive operation, but doesn't mention permissions required, whether deletions are reversible, rate limits, or what happens to related data. The description is minimal and lacks critical behavioral context for a destructive tool.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.

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

    Completeness2/5

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

    For a destructive tool with no annotations, no output schema, and a nested parameter object, the description is inadequate. It lacks details on behavioral traits, usage context, parameter meanings, and expected outcomes. Given the complexity and potential impact, more completeness is needed to guide safe and effective use.

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

    Parameters3/5

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

    The description mentions 'based on criteria', which aligns with the input schema's single nested object parameter named 'criteria'. However, with 0% schema description coverage (the schema has no top-level description), the description doesn't add meaningful details about what criteria are available or how they work. It provides minimal value beyond what's implied by the parameter name.

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

    Purpose4/5

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

    The description clearly states the action ('permanently delete') and resource ('memories'), and specifies the operation is based on criteria. However, it doesn't distinguish this tool from sibling tools like 'archive_old_memories' or 'cleanup_expired_working_memory', which might have overlapping functionality.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'archive_old_memories' or 'cleanup_expired_working_memory'. It mentions criteria-based deletion but doesn't specify scenarios, prerequisites, or exclusions for usage.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states it's an 'advanced' search without detailing behavioral traits like permissions, rate limits, pagination, or what 'advanced' entails (e.g., combining text and vector searches). It lacks critical information for a mutation-free but complex search operation.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for the tool's complexity, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the tool's complexity (multiple search criteria, nested objects) and lack of annotations and output schema, the description is insufficient. It doesn't explain return values, error handling, or how criteria interact, leaving significant gaps for an AI agent to use it correctly.

    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 description mentions 'multiple criteria', which aligns with the input schema's single 'criteria' parameter containing nested properties for text, embedding, types, importance, date range, and limit. Since there's only 1 parameter and schema description coverage is 0%, the description adds meaningful context by hinting at the parameter's purpose, though it doesn't detail specific criteria.

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

    Purpose3/5

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

    The description 'Advanced memory search with multiple criteria' states the tool's purpose (searching memories) and hints at advanced functionality, but it's vague about what makes it 'advanced' compared to siblings like 'search_memories_similarity' and 'search_memories_text'. It doesn't specify the verb beyond 'search' or distinguish clearly from alternatives.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus sibling tools like 'search_memories_similarity' or 'search_memories_text'. The description implies it supports multiple criteria but doesn't specify contexts, prerequisites, or exclusions for its use.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the search method but doesn't describe what 'memories' are in this context, how results are returned (format, ordering), whether this is a read-only operation, or any performance/rate limit considerations. For a search tool with 3 parameters, this leaves significant behavioral gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste. It's appropriately sized for a search tool and front-loads the core purpose without unnecessary elaboration.

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

    Completeness2/5

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

    Given no annotations, no output schema, and 3 parameters, the description is incomplete. It doesn't explain what constitutes a 'memory' in this system, what the search returns (e.g., memory objects with scores), or how similarity is calculated. For a vector similarity search tool, this leaves too much contextual ambiguity for effective agent use.

    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 100%, so the schema already documents all parameters (embedding, limit, threshold) with descriptions. The description adds no additional parameter semantics beyond implying that 'embedding' is used for 'vector similarity' search, which is already clear from the schema. Baseline 3 is appropriate when schema does the heavy lifting.

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

    Purpose4/5

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

    The description 'Search memories by vector similarity' clearly states the verb (search) and resource (memories) with the specific method (vector similarity). It distinguishes from sibling tools like 'search_memories_text' and 'search_memories_advanced' by specifying the similarity-based approach, though it doesn't fully explain how it differs operationally from those alternatives.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'search_memories_text' or 'search_memories_advanced'. It mentions 'vector similarity' which implies usage with embeddings, but doesn't explicitly state prerequisites, exclusions, or comparative contexts with sibling tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'full-text search' which implies some behavioral context about search methodology, but doesn't disclose important traits like whether this is a read-only operation, what permissions might be needed, how results are ranked/returned, or any rate limits. The description adds minimal behavioral insight beyond the basic action.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a search tool and front-loads the essential information. Every word earns its place.

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

    Completeness2/5

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

    For a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes a 'memory', what fields are searched, how results are structured, or what 'full-text search' entails operationally. Given the complexity of search operations and lack of structured metadata, more context is needed for the agent to use this effectively.

    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 100%, so the schema already fully documents both parameters ('query' and 'limit'). The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain query syntax, search scope, or result format. Baseline 3 is appropriate when schema does all the parameter documentation work.

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

    Purpose4/5

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

    The description clearly states the action ('Search') and resource ('memories by text content'), specifying it uses 'full-text search'. It distinguishes from some siblings like 'get_memory' (retrieval) and 'create_memory' (creation), but doesn't explicitly differentiate from 'search_memories_advanced' or 'search_memories_similarity' which are closely related search variants.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'search_memories_advanced' or 'search_memories_similarity', nor does it specify prerequisites or appropriate contexts for text-based searching versus other memory access methods.

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

  • Behavior2/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 of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—such as whether it returns all relationships or paginated results, error handling for invalid memory IDs, or performance characteristics. This leaves significant gaps for a tool with potential complexity.

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

    Conciseness5/5

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

    The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the essential action and target, making it easy to parse and understand quickly.

    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 the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate but incomplete. It covers the basic purpose but lacks details on usage context, behavioral traits, and output format, which are important for effective tool invocation in this memory system with many sibling tools.

    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 100%, so the schema fully documents all parameters (memory_id, direction, relationship_type) with descriptions and defaults. The description adds no additional semantic context beyond implying a retrieval action, which doesn't enhance understanding of the parameters. This meets the baseline for high schema coverage.

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

    Purpose4/5

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

    The description clearly states the action ('Get') and target ('relationships for a specific memory'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'find_related_memories' or 'get_memory_history', which might also retrieve relationship-related data, so it doesn't achieve full sibling differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'find_related_memories' and 'get_memory_history' that might overlap in functionality, there's no indication of context, prerequisites, or exclusions for choosing this specific tool.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'retrieve' but doesn't clarify if this is a read-only operation, requires authentication, has rate limits, or what the return format entails (e.g., structured data vs. raw clusters). For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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?

    The description is a single, efficient sentence that front-loads the core purpose without any fluff or redundant information. Every word earns its place, making it highly concise and well-structured for quick comprehension.

    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 the tool has 0 parameters, 100% schema coverage, and no output schema, the description is minimally adequate. However, it lacks details on behavioral aspects (e.g., read-only nature, return format) and usage context, which are important for a retrieval tool in a complex memory system. It meets the basic threshold but doesn't fully compensate for the absence of annotations.

    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 tool has 0 parameters, and the schema description coverage is 100%, so no parameter documentation is needed. The description appropriately doesn't add unnecessary param details, earning a high baseline score. It could be a 5 if it explicitly noted the lack of parameters, but it's sufficient as-is.

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

    Purpose4/5

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

    The description clearly states the action ('retrieve') and the target resources ('current identity model and core memory clusters'), which distinguishes it from siblings like 'get_memory_clusters' or 'get_worldview' that focus on different aspects. However, it doesn't explicitly differentiate from all siblings (e.g., 'get_memory_health' might overlap in scope), keeping it from a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_worldview' or 'get_memory_clusters', nor does it mention prerequisites or context for retrieval. It lacks explicit when/when-not instructions, relying solely on the tool name for implied usage.

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

  • Behavior2/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 of behavioral disclosure. It states 'Get overall statistics,' which implies a read-only operation, but doesn't specify permissions, rate limits, or what 'health' entails (e.g., metrics, status). For a tool with zero annotation coverage, this is insufficient, as it misses key behavioral details like response format or potential side effects.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It is appropriately sized and front-loaded, with every word contributing to clarity. This exemplifies conciseness, making it easy for an agent to parse quickly.

    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 the tool has 0 parameters, no annotations, and no output schema, the description is minimal but covers the basic purpose. However, it lacks details on what 'health' statistics include or the return format, which could be important for an agent. It's adequate as a starting point but incomplete for full contextual understanding without additional metadata.

    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 tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter meaning, and it appropriately doesn't mention any. This meets the baseline for tools with no parameters, as it avoids unnecessary information.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('overall statistics about memory system health'), making the purpose understandable. It doesn't specifically differentiate from sibling tools like 'get_memory' or 'get_memory_history', but the focus on 'overall statistics' and 'health' provides some distinction. This is above the vague level but falls short of explicit sibling differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_memory', 'get_memory_history', and 'get_cluster_insights', there is no indication of context, prerequisites, or exclusions. This leaves the agent without usage direction, scoring low due to the lack of any implied or explicit guidelines.

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

  • Behavior2/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 of behavioral disclosure. While 'Retrieve' implies a read-only operation, it doesn't specify whether this requires permissions, how current the data is, potential rate limits, or what format the output takes. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a zero-parameter tool and front-loads the essential information about what the tool does.

    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 the tool has no parameters, no output schema, and no annotations, the description provides the minimum viable information about what the tool retrieves. However, for a tool that presumably returns important system state information, more context about what 'worldview primitives and beliefs' encompass and how this differs from related sibling tools would be beneficial.

    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?

    With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't waste space discussing non-existent parameters, though it could potentially clarify that no filtering or configuration options are available for this retrieval operation.

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

    Purpose4/5

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

    The description clearly states the action ('Retrieve') and the target ('current worldview primitives and beliefs'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_identity_core' or 'get_active_themes', which might retrieve related but different aspects of the system's state.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_identity_core' and 'get_active_themes' that might retrieve overlapping or related information, there's no indication of when this specific tool is appropriate or what distinguishes it from those options.

    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?

    With no annotations provided, the description carries the full burden. It discloses the behavioral trait of marking the memory as accessed, which is useful beyond basic retrieval. However, it doesn't cover other aspects like permissions, rate limits, or response format, leaving gaps in behavioral 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/5

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

    The description is a single, efficient sentence that front-loads the core action and includes the key behavioral detail. There is zero waste, making it appropriately sized and well-structured for its purpose.

    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 the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the main action and a side effect but lacks details on output, error handling, or integration with siblings, leaving room for improvement in completeness.

    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 100%, so the schema already documents the 'memory_id' parameter as a UUID. The description adds no additional meaning beyond what the schema provides, such as format details or usage examples, resulting in a baseline score.

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

    Purpose4/5

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

    The description clearly states the verb 'retrieve' and resource 'specific memory by ID', making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_memory_history' or 'get_memory_relationships' that also retrieve memory-related data, so it doesn't fully distinguish its specific scope.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as 'search_memories_advanced' or 'get_memory_history'. It lacks explicit when/when-not instructions or named alternatives, leaving usage context implied at best.

    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

agi-mcp-server MCP server

Copy to your README.md:

Score Badge

agi-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

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/randyandrade/agi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server