Skip to main content
Glama
samvallad33

Vestige

by samvallad33

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.3.0

  • Disambiguation5/5

    Each tool targets a distinct aspect of memory management: search, memory CRUD, codebase patterns, duplicate detection (two methods), backup, intentions, export, and garbage collection. There is no meaningful overlap; even the two duplicate-related tools use different algorithms and have different actions (read-only vs actionable).

    Naming Consistency3/5

    Tool names follow mixed conventions: single verbs (search, backup, export), nouns (memory, codebase, intention), an abbreviation (gc), and compound underscored names (merge_candidates, find_duplicates). The lack of a consistent pattern (e.g., verb_noun) reduces predictability.

    Tool Count5/5

    Nine tools is an appropriate scope for a memory management system. Each tool addresses a core function (search, CRUD, deduplication, backup, export, GC, intentions, codebase) without superfluous additions. The count feels well-calibrated to the domain.

    Completeness4/5

    The tool set covers the main lifecycle: creating/reading/updating/deleting memories, searching, deduplication, backup, export, garbage collection, and intention management. A minor gap is the lack of an import tool, but the core workflows are fully covered.

  • Average 3.5/5 across 9 of 9 tools scored. Lowest: 2.9/5.

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

    • 28 of 29 community issues answered or closed in the last 6 months
    • 191 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under AGPL 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.

  • This repository includes a glama.json configuration file.

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

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?

    No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool stores and retrieves data but does not detail side effects, state changes, idempotency, or any other behavioral characteristics.

    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 concise at three sentences, front-loading the overall purpose and then detailing actions. It is efficient but could benefit from a more structured layout to improve scannability.

    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?

    With 9 parameters, multiple actions, and no output schema, the description is insufficient. It fails to explain how to effectively use the tool, what the output of 'get_context' includes, or how to format patterns/decisions. This leaves significant gaps for an agent to use the tool correctly.

    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 provides 100% coverage and already describes each parameter. The description adds minimal extra meaning by mapping actions to required parameters (e.g., name for remember_pattern), but this is also implied by the schema's required field logic. Thus, it meets the baseline without significantly enhancing 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 it is a unified codebase tool with three specific actions: storing code patterns, storing architectural decisions, and retrieving patterns/decisions. It distinguishes between these actions but does not differentiate from sibling tools beyond listing them.

    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. The description does not include any 'when to use' or 'when not to use' context, nor does it mention exclusions or prerequisites.

    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?

    The description lacks behavioral details beyond the basic function. It does not disclose side effects (e.g., file creation in the exports/ folder), required permissions, or whether the operation is safe. With no annotations, the description carries the burden but fails to provide sufficient 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 short and direct, but it inaccurately limits formats to just 'JSON or JSONL' while the schema includes 'portable'. Still, it is front-loaded and avoids verbosity.

    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 that the tool has 4 parameters, no output schema, and no annotations, the description is too brief. It does not explain the export behavior, file naming, overwrite policy, or how the 'portable' format differs. For a data export tool, 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%, so the parameters are already documented. The description adds marginal value by mentioning 'tag and date filters' but does not provide additional syntax or constraints beyond what the schema offers. Baseline 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 that the tool exports memories in JSON or JSONL format, using a specific verb ('Export') and resource ('memories'). However, it omits mention of the 'portable' format available in the schema, slightly reducing clarity.

    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 usage guidance is provided. The description does not indicate when to use this tool versus other sibling tools like 'backup' or 'memory_changelog', nor does it mention prerequisites or exclusions.

    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 responsibility for behavioral disclosure. It mentions actions but fails to describe side effects (e.g., persistence of intentions), required permissions, rate limits, or error conditions. The agent is left uninformed about important behavioral traits.

    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 concise—two sentences that front-load the key concept and actions. It is efficient but could be better organized (e.g., bulleted actions) for faster scanning.

    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 12 parameters and nested objects, the description does not explain complex structures like trigger or context, nor does it describe return values (no output schema). The description is too brief to provide a complete understanding for effective tool 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 coverage is 100%, so the baseline is 3. The description adds no new meaning beyond the schema's parameter descriptions. It restates actions but does not enrich understanding of parameter usage or interrelationships.

    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 identifies the tool as 'Unified intention management tool' and lists four distinct actions (set, check, update, list), which communicate its purpose. However, it does not define what an 'intention' is, leaving some ambiguity. The differentiation from sibling tools is implicit as no other tool is for intention management.

    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 provide explicit guidance on when to use this tool versus alternatives. It only enumerates actions without context on appropriate scenarios or prerequisites. This leaves the agent to infer usage from the action 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 provided, so description carries full burden. It implies a write operation but doesn't disclose side effects like locking, overwrite behavior, or concurrency safety.

    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?

    Two efficiently written sentences with no wasted words. Front-loaded and to the point.

    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 output schema or annotations, the description is too minimal. Lacks details on backup type (full/incremental), performance impact, or prerequisites.

    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?

    No parameters, baseline 4 per rules. Description adds meaning by stating the action and return value, which is sufficient given zero parameters.

    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?

    Description clearly states it creates a SQLite database backup and returns the file path. However, it does not distinguish from sibling tools like 'restore' or 'protect'.

    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. Sibling tools include 'restore', but no mention of when to backup vs other operations.

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

  • Behavior4/5

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

    The description discloses that the tool auto-strengthens memories on access (Testing Effect), which is a significant behavioral trait not captured in the schema or annotations (none provided). This helps the agent understand 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.

    Conciseness4/5

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

    The description is concise with two sentences, but it lacks structured formatting (e.g., bullet points). It efficiently conveys core information without verbosity.

    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 complexity (20 parameters, rich schema descriptions, no output schema), the description is minimal. It does not explain return values or when to use specific parameter combinations, though schema details compensate partially. Adequate but not thorough.

    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, so the description itself does not add further parameter meaning beyond what is already documented. 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 identifies the tool as a 'Unified search tool' and outlines its hybrid retrieval method. However, it does not explicitly distinguish it from sibling tools like 'memory' or 'codebase', which may also retrieve information, so it's slightly generic.

    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 is provided on when to use this tool versus alternatives. While it implies general-purpose search, there is no mention of exclusions or specific contexts (e.g., when to prefer 'memory' for specific IDs).

    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 full burden. It discloses the destructive potential by mentioning dry_run safety, and the threshold criteria. However, it does not detail side effects, irreversibility, or behavior during actual deletion.

    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 front-loaded with the main purpose. No extraneous words, every part earns its place.

    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?

    No output schema is provided, and the description does not explain return values or behavior. It lacks context on what happens after the call (e.g., list of deleted items, effect on other tools). It is complete enough for a simple tool but leaves gaps.

    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%, baseline set to 3. The description only reiterates the dry_run default and does not add additional context or relationships between parameters beyond what the schema already provides.

    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 'Garbage collect' and resource 'stale memories below retention threshold'. It is specific and distinct from many siblings, but does not explicitly differentiate itself from other memory management tools like 'consolidate' or 'merge_candidates'.

    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 garbage collection with a safe default (dry_run=true), but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions that would make it inappropriate.

    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 takes on full disclosure responsibility. It explains the method (cosine similarity) and output (clusters with suggestions), but does not state whether the tool is read-only or if it performs any modifications. The phrase 'clean up' could imply action, but the description clarifies it returns suggestions.

    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 only two sentences, each serving a distinct purpose: first explaining what the tool does, second recommending when to use it. No extraneous information.

    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 absence of annotations and output schema, the description adequately covers purpose, method, and use case. It could be slightly more complete by explicitly noting that the tool does not modify memories (only returns suggestions), but overall it is sufficient for an AI 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 coverage is 100% with well-described parameters. The description adds no additional context beyond the schema for the three parameters, so it meets the baseline for parameter semantics without adding extra value.

    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 ('Find duplicate and near-duplicate memory clusters'), the method ('using cosine similarity on embeddings'), and the output ('returns clusters with suggested actions'). It is specific and uniquely identifies the tool among siblings.

    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 explicitly recommends using the tool 'to clean up redundant memories', providing clear context. However, it does not mention when not to use it or suggest alternatives (e.g., merge_candidates, contradictions), though the tool is niche enough that this is less critical.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses read-only behavior and the Fellegi-Sunter algorithm for match/possible/non-match, providing key behavioral insight without covering rate limits or auth needs.

    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?

    Two concise sentences: first states core purpose with algorithm and output, second emphasizes read-only nature. No unnecessary words or 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?

    Given no output schema, the description covers the main output (confidence scores, signals) but lacks details on candidate cluster structure. With only 2 simple params and read-only nature, it is mostly complete for agent decision-making.

    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 coverage is 100%, so baseline 3 applies. The description adds no extra meaning beyond the schema-provided parameter descriptions; it only mentions the output (scores, signals) but not parameter specifics.

    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 'surface' and resource 'likely duplicate/overlapping memory clusters', mentions confidence scores and Fellegi-Sunter signals, distinguishing it from siblings like 'find_duplicates' which likely lacks this algorithm detail.

    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?

    Explicitly states the tool is read-only and 'nothing is changed', guiding when to use for inspection. However, it does not explicitly list when not to use or name alternative tools for actual merging, leaving some inference to the agent.

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

  • Behavior5/5

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

    With no annotations provided, the description fully discloses behavior: it explains that 'purge' is irreversible and requires confirm=true, 'promote' increases retrieval strength, 'demote' decreases it without deletion, and 'edit' preserves FSRS state. This is comprehensive and transparent.

    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 dense sentence with a list of actions. While efficient and front-loaded, it could be slightly more structured (e.g., using a bulleted list) for easier scanning. However, it earns its place with every word.

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

    Completeness5/5

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

    Given the tool's complexity (8 actions, 6 parameters, no output schema), the description covers all necessary information: each action's effect, parameter requirements (e.g., confirm for purge), and the result of operations (e.g., tombstone after purge). It is 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?

    Schema description coverage is 100%, but the description adds significant context beyond the schema, e.g., explaining that 'purge' permanently removes content/embeddings, 'promote' is a thumbs up, and 'edit' preserves FSRS state. This adds meaning that aids correct parameter usage.

    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 'Unified memory management tool' clearly states the tool's purpose. It lists all possible actions (get, purge, delete, state, promote, demote, edit), each with a specific role, effectively distinguishing this tool from siblings like search, memory_graph, etc.

    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 managing memory nodes but does not explicitly state when to use this tool over alternatives. For instance, it doesn't differentiate when to use 'memory' vs 'search' for retrieving memories. However, the action list provides implicit context.

    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

vestige MCP server

Copy to your README.md:

Score Badge

vestige 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/samvallad33/vestige'

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