Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct operation: listing, searching, reading, viewing history, and viewing diffs. No two tools overlap in purpose.

    Naming Consistency3/5

    Three tools follow a verb_noun pattern (list_memories, search_memories, read_memory), but history and diff are bare nouns, creating a mixed convention. Still readable but not fully consistent.

    Tool Count5/5

    Five tools is a well-scoped size for a memory management server, providing essential read and inspection capabilities without unnecessary bloat.

    Completeness2/5

    The toolset is read-only, missing create, update, and delete operations for memories. Agents cannot modify the memory store, which is a significant gap for a management server.

  • Average 3.5/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
    • 19 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • 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 annotations absent, the description carries the full burden of behavioral disclosure. It states that the tool lists files and directories, but omits key behaviors such as whether recursion is supported (despite the 'recursive' parameter), what happens when the path is invalid, or whether hidden files are included. No side effects are mentioned.

    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 sentence that is direct and front-loaded. It avoids unnecessary words and communicates the core function efficiently. There is no wasted content.

    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?

    The tool is simple and has an output schema, but the description is still under-specified. It does not mention the recursive parameter, which significantly affects behavior, nor does it provide any context about typical usage. No annotations exist to fill the gaps, leaving the description incomplete for a reliable invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not compensate adequately. The phrase 'repository-relative path' adds meaning to the 'path' parameter, but the 'recursive' parameter is completely unaddressed. The description adds minimal value over the raw 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 uses a specific verb 'List' and identifies the resource as 'files and directories below a repository-relative path'. This clearly distinguishes it from sibling tools like read_memory (which presumably reads content) and search_memories (which searches).

    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 does not mention any exclusions, prerequisites, or scenarios where another tool would be more appropriate. The use case is implied by the name and description but not explicitly stated.

    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, the description carries the full burden. It discloses that the history is 'bounded' and scoped to a repository or path, but omits whether the operation is read-only (implied by 'Return'), commit ordering, branch scope, and error behavior. This is moderate disclosure with meaningful 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?

    A single, clear sentence with no filler. The main action and object are front-loaded, and every word adds value. Perfectly concise.

    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 and lack of annotations, the description leaves questions unanswered: whether it requires being inside a Git repo, whether it shows only the current branch, and the exact behavior of the limit parameter. The output schema likely covers return format, but the description could more fully contextualize the tool's behavior.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It adds partial meaning by referencing 'repository or relative path' for the path parameter and 'bounded' for the limit, but it does not explicitly define the limit as a maximum count or explain defaults, making it insufficient for full understanding.

    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 returns Git commit history, scoped to the repository or a relative path. This specific verb-resource pairing distinguishes it from sibling tools like diff (which shows changes) and memory tools, making its purpose unambiguous.

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

    Usage Guidelines2/5

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

    The description does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. Usage must be inferred from the name and purpose; there is no guidance on choosing it over diff or capture.

    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 of behavioral disclosure. It adds some useful context by specifying 'UTF-8' encoding, 'literal text' (implying exact matching, not regex), and 'returning matching lines' (indicating output format). However, it omits other behavioral aspects such as what happens with no matches, whether the search covers entire directories or specific files via the 'path' parameter, and how limit and case_sensitive affect 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, concise sentence that front-loads the main action and resource. Every word contributes value; there is no filler, redundancy, or unnecessary detail. It is an excellent example of efficient, focused description.

    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?

    Despite having an output schema (which covers return values), the description is incomplete for a tool with 4 parameters and no annotations. It does not explain the role of the optional 'path' parameter (e.g., searching a specific file vs all memory files), the default behavior for case_sensitive or limit, or any edge cases. This leaves the agent without enough context to use the tool reliably in varied scenarios.

    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 covers 0% of parameter descriptions, so the description must compensate. It adds meaning to the 'query' parameter by clarifying that it searches for literal text in memory files and returns matching lines. However, it does not explain the 'path', 'limit', or 'case_sensitive' parameters, their defaults, or how they affect the search, leaving significant gaps in understanding the tool's full behavior.

    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 states a specific verb ('Search'), a clear resource ('UTF-8 memory files'), and a distinct scope ('literal text, returning matching lines'). This clearly differentiates it from siblings like list_memories, read_memory, history, diff, and capture, which have different purposes.

    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 explicit guidance on when to use this tool versus alternatives. It does not mention situations where search_memories is preferred or where tools like read_memory or history might be more appropriate. The usage context is only implied by the tool name and basic description.

    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?

    There are no annotations, so the description carries the burden. It states what is returned ('tracked working-tree changes' and 'untracked files') but does not disclose output format, side effects, prerequisites (e.g., being a git repo), or whether the operation is read-only, though 'Return' implies read.

    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, concise sentence that front-loads the action. It contains no fluff and is easy to parse.

    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?

    For a simple tool, the description covers the main function, but it omits the path parameter semantics and return format details. Given the tool's simplicity and lack of annotations, this is adequate but not complete.

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

    Parameters1/5

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

    The description mentions no parameters. The schema defines an optional 'path' parameter, but the description provides no explanation of its meaning or effect, and schema description coverage is 0%. This is a significant gap.

    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 specific verb 'Return' and identifies the resource: 'tracked working-tree changes against HEAD and list untracked files.' It distinguishes the tool from sibling memory-related tools, which are unrelated.

    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 clear context for when to use the tool (to inspect working-tree changes and untracked files) without explicit alternatives. No exclusions are needed since siblings are unrelated, but the description could explicitly say 'use this for git diff'.

    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, the description must carry the behavioral burden. It notes the operation is a 'read' (implying non-destructive) and specifies UTF-8 encoding, but does not disclose error conditions, permissions, or side effects (or lack thereof). It provides basic transparency but leaves 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, focused sentence. Every word contributes to the meaning, making it highly concise and well-structured for a simple tool.

    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 simplicity of the tool (one parameter, output schema present, no nested objects), the description provides sufficient context for basic use. It covers the core operation and path semantics. However, it lacks explicit guidance on error scenarios or when to prefer this over siblings, leaving minor gaps.

    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 schema has one parameter 'path' with no description, and the schema description coverage is 0%. The description compensates by adding the 'repository-relative' qualifier, which clarifies that the path is relative to the repository root. This adds meaning beyond the raw schema, though it does not elaborate on path format or constraints.

    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: 'Read a UTF-8 text memory at a repository-relative path.' It specifies a specific verb ('read') and resource ('memory'), and the scope is distinct from siblings like list_memories or search_memories by focusing on reading a single memory at a given path.

    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 when a specific repository-relative path is known, but it does not explicitly contrast with sibling tools or provide exclusions. For example, it doesn't say 'use this instead of list_memories when you know the exact path.' Usage is implied but not explicitly guided.

    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

memory-mcp MCP server

Copy to your README.md:

Score Badge

memory-mcp 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/credp/memory-mcp'

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