Skip to main content
Glama
asd-noor

Memory Engine MCP Server

by asd-noor

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct memory operation: save (create), delete, update, verify, and query (search). There is no overlap in purpose, so an agent can easily select the right tool.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., save_memory, delete_memory, update_memory), making the API predictable and easy to navigate.

    Tool Count5/5

    With exactly 5 tools, the server is well-scoped for a memory management domain, covering essential operations without unnecessary complexity.

    Completeness5/5

    The server provides full CRUD coverage (save, query, update, delete) plus a verify operation for freshness. No critical lifecycle steps are missing for long-term memory storage.

  • Average 4/5 across 5 of 5 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 status not available
  • This repository is licensed under GPL 3.0.

  • 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.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • 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 the full burden of behavioral disclosure. It states the deletion action and return dictionary but does not mention whether the operation is irreversible, what happens if doc_id doesn't exist, or any side effects or failure modes.

    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 with a clear top statement, followed by a neatly structured Args and Returns section. Every sentence earns its place; there is zero fluff.

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

    Completeness4/5

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

    For a simple one-parameter delete tool with an output schema, the description covers the action, parameter semantics, and return format. It lacks broader context about when to use it or long-term effects, but given the tool's triviality and the presence of an output schema, it is nearly complete.

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

    Parameters5/5

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

    The schema has no parameter descriptions (0% coverage), but the description explicitly explains 'doc_id: The ID of the memory to delete.' This fully compensates for the schema gap, giving the agent complete semantic understanding of the single parameter.

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

    Purpose5/5

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

    The description clearly states 'Delete a memory by ID,' using a specific verb (delete) and resource (memory by ID). This unambiguously distinguishes it from sibling tools like save_memory, update_memory, verify_memory, and query_memory.

    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?

    There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only states what the tool does, leaving the agent to infer usage purely from the tool name and action.

    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 must convey behavioral context. It mentions 'long-term storage' and a return dictionary containing a doc_id, which implies creation, but it does not disclose whether the operation overwrites existing memories, requires specific permissions, or has other side effects. This is a significant gap for a write 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 highly concise, using a standard Args/Returns docstring format. Every sentence serves a purpose, and there is no redundant information. It is well-structured and immediately readable.

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

    Completeness4/5

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

    The description covers the essential information: inputs and the return value, and an output schema exists. However, it omits usage scenarios, error conditions, and edge cases (e.g., duplicate topics). For a simple save tool, this is largely sufficient, but a bit more context would improve completeness.

    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% schema coverage, the description compensates well by explaining each parameter: 'category' includes examples, 'topic' is defined as a short title, and 'content' as detailed text. This adds value beyond the bare parameter names, though it lacks constraints on allowed values or formats.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('Save') and resource ('memory'), and mentions 'long-term storage' to indicate persistence. Sibling tools (delete/update/verify/query) confirm this is a creation operation, distinguishing it from related actions.

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

    Usage Guidelines3/5

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

    The description implies usage ('Save a memory') but provides no explicit guidance on when to use this tool versus alternatives like update_memory or query_memory. There are no exclusions or alternative recommendations, only the inferred distinction from sibling names.

    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 for behavioral disclosure. It only states that it updates and returns a dictionary, but does not mention side effects, permission requirements, or behavior for non-existent doc_ids. For a mutation tool, this is insufficient 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 concise and well-structured, using a standard Args/Returns format. Every sentence contributes useful information without redundancy, and it is easy to scan quickly.

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

    Completeness4/5

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

    Given the presence of an output schema and the relative simplicity of an update operation, the description is mostly complete. It mentions the return format (dictionary with status and details). However, it lacks error-handling context (e.g., what happens if doc_id not found), which would make it more robust.

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

    Parameters5/5

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

    Although the schema has 0% description coverage, the tool description provides meaningful explanations for each parameter (doc_id as the target, and category/topic/content as optional updates). This adds value beyond the schema's bare type and default information.

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

    Purpose5/5

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

    The description clearly states the tool's action: "Update a memory by ID." This specifies the verb (update), resource (memory), and key identifier (ID), effectively distinguishing it from sibling tools like save_memory (create) or delete_memory.

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

    Usage Guidelines3/5

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

    The description implies usage for updating existing memories by providing doc_id and optional fields, but it does not explicitly mention when to choose this over siblings or note any prerequisites. There is no exclusion guidance, making it merely implied rather than explicit.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions semantic and keyword search and returns a list of matching memories with similarity scores, which is useful context. However, it does not explicitly state that it is a read-only operation or disclose any limitations, such as behavior with empty queries 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 concise and well-structured, with a clear one-sentence purpose followed by parameter definitions and return value explanation. Every sentence contributes meaningful information without unnecessary elaboration.

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

    Completeness4/5

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

    For a simple two-parameter read tool, the description is fairly complete. It covers the purpose, parameter semantics, and return format. The existence of an output schema means the return value details are adequately supplemented, though it lacks explicit usage guidance, which is a minor gap given the tool's simplicity.

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

    Parameters5/5

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

    Schema description coverage is 0%, but the description fully compensates by defining 'query' as a natural language search string and explaining 'top_k' as the number of results to return with a default value of 3. This adds significant meaning beyond the bare type information in the schema.

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

    Purpose5/5

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

    The description clearly states the tool queries memories using semantic and keyword search. The verb 'Query' plus the resource 'memories' and the specific search methods distinguish it from sibling tools like save_memory, delete_memory, and update_memory.

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

    Usage Guidelines3/5

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

    The usage is implied by the tool's name and description, but there is no explicit guidance on when to use this tool versus alternatives. It does not mention scenarios like 'when you need to retrieve stored information' or exclude contexts where other memory tools are more appropriate.

    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?

    No annotations are present, so the description carries the full burden. It discloses the main side effect (updating the last_verified timestamp) and the return type ('A dictionary with status and message'). However, it does not discuss error handling, permissions, or behavior when the doc_id does not exist, which are relevant for a write 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 well-structured with a clear opening statement, a usage hint, a rationale, and an Args/Returns section. Each sentence earns its place and there is no redundancy.

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

    Completeness4/5

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

    For a simple single-parameter tool, the description covers the core purpose, usage, parameter, and return value. The output schema existence reduces the need to describe return format, and the description does that anyway. Minor gaps remain regarding error cases, but it is sufficiently complete for an agent to apply it correctly.

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

    Parameters5/5

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

    The input schema only provides the type (integer) and title for doc_id. The description compensates fully by explaining its meaning: 'doc_id: The ID of the memory to verify.' This is sufficient despite the schema's 0% coverage.

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

    Purpose5/5

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

    The description clearly identifies the tool's purpose: 'Mark a memory as verified, updating its last_verified timestamp to now.' This is a specific verb+resource combination that distinguishes it from the sibling tools (save_memory, delete_memory, update_memory, query_memory).

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

    Usage Guidelines4/5

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

    The description provides explicit usage context: 'Use this when you've confirmed the memory is still accurate and up-to-date.' It does not explicitly mention alternatives or when not to use it, but the context is clear enough to guide the agent.

    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

agentmemory MCP server

Copy to your README.md:

Score Badge

agentmemory 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/asd-noor/agentmemory'

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