Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool serves a unique purpose: prime for session context, recall for retrieval by id/date, search for full-text search, summarize for topic summaries, timeline for temporal references, and write for file operations. No overlapping functionality.

    Naming Consistency5/5

    All tools follow the consistent pattern 'mneme_<verb>', with verbs that clearly indicate the action (prime, recall, search, summarize, timeline, write). No mixing of conventions.

    Tool Count5/5

    With 6 tools, the server is well-scoped for a knowledge vault system. Each tool addresses a core operation without redundancy or excess, fitting the typical 3-15 range perfectly.

    Completeness4/5

    The tool set covers essential operations: session priming, retrieval by criteria, full-text search, summarization, timeline queries, and writing. A minor gap might be the absence of a dedicated delete tool, but write's replace functionality and overall coverage make this a minor shortfall.

  • Average 3.3/5 across 6 of 6 tools scored. Lowest: 2.5/5.

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

    • 1 of 1 community issues answered or closed in the last 6 months
    • 51 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 Apache 2.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

  • Behavior3/5

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

    Without annotations, the description must carry full burden. It discloses sorting order (mtime ascending) and a conditional side effect (adds bi-temporal facts). However, it omits key traits like default limit (top_k), pagination, or whether it only reads or can mutate data permanently. The version note adds transparency but is not comprehensive.

    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 very short (two sentences) with no redundancy. However, the first sentence is a noun phrase rather than a complete sentence, slightly harming readability. It earns points for efficiency.

    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 5 parameters, no output schema, and no annotations, the description is insufficient. It fails to explain the purpose of date filters, the default limit, or the output format. The mention of FTS5 and Graphiti does not compensate for the missing parameter and return value documentation.

    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?

    Schema description coverage is 0%. The description does not explain any parameter beyond implying 'subject' is the subject. The date parameters (valid_from, valid_to, as_of) and top_k are entirely undocumented, leaving the agent without meaning.

    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 states the tool provides 'temporal-ordered references for a subject,' which gives a general purpose. However, it lacks a clear verb (e.g., 'retrieve' or 'list') and relies on jargon like 'FTS5 hits' and 'Graphiti facts.' It vaguely distinguishes from siblings like 'mneme_search' but doesn't explicitly differentiate.

    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 mentions v1.0 behavior and a condition ('when full-profile KG state is active'), giving some context. But it does not specify when to use this tool versus alternatives like mneme_search or mneme_recall, nor does it provide any when-not-to-use guidance.

    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 fully disclose behavioral traits. It mentions that v1.0 uses FTS5 and can add Graphiti fields under condition, but it does not explain what happens when KG state is inactive, whether the tool is read-only, any rate limits, or side effects. This leaves significant behavioral ambiguity.

    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 extremely concise at two sentences, with no wasted words. The first sentence states the core function, and the second adds technical context. However, the second sentence's jargon (FTS5, Graphiti) might be slightly opaque to an AI agent without further 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 tool has 3 parameters, no output schema, and no annotations, the description is incomplete. It lacks parameter guidance, return value description, behavioral details, and error conditions. The conditional Graphiti mention is helpful but insufficient for full contextual completeness.

    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?

    The input schema has 0% description coverage, and the tool description does not add any meaning to the parameters (topic, date_range, top_k) beyond their schema definitions. For a tool with 3 parameters and no schema documentation, the description should compensate but fails to do so.

    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 produces a 'Topic summary grouped by directory,' which is a specific verb-object pair. The mention of FTS5 and Graphiti fields differentiates it from sibling tools like mneme_search (search) and mneme_recall (recall), making the 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 Guidelines3/5

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

    The description implies usage for obtaining a structured summary with directory grouping and optional Graphiti fields, but it does not explicitly state when to use this tool over alternatives (e.g., mneme_search for raw results) or when not to use it. No exclusions or prerequisites are given.

    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 full burden. It implies a read-only operation ('Retrieve'), but it does not explicitly state that the tool is non-destructive, idempotent, or requires certain permissions. The description is functional but lacks explicit 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 two sentences: first states the core functionality and filter options, second lists returned fields. It is front-loaded, concise, and avoids unnecessary details—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?

    The tool has 5 parameters with no output schema and no annotations. The description covers the filtering logic and return fields but omits details like top_n default, whether date ranges are inclusive, how session_id and dates interact, and the exact structure of the returned data. This leaves ambiguity for the AI agent.

    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?

    The input schema has 0% description coverage, so the description must compensate. It mentions 'by session_id or date range' and the return fields, but does not explain each parameter's purpose, constraints (e.g., top_n defaults to 10, max 50), or whether parameters are optional/required. The description adds some value but is insufficient for a 5-parameter tool.

    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 retrieves documents filtered by session_id or date range, and specifies the returned fields (paths, titles, mtimes, optional body). This distinguishes it from sibling tools like mneme_search (likely full-text) and mneme_write (obviously writing).

    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 like mneme_search or mneme_timeline. It does not mention prerequisites, limitations, or cases where the tool should not be used. For example, it is unclear whether session_id and date range can be combined.

    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 provided, the description carries full burden. It discloses the retrieval algorithm (FTS5 BM25, Turkish normalization), optional filters, and important output details (cards array with content_hash, trust, confidence, backend field, backends_used array). It also notes backward compatibility for 'hits', adding transparency without contradictions.

    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 efficiently structured: main purpose, algorithm, filters, output details. It is concise with no fluff, though it could be organized into bullet points for easier parsing.

    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 thoroughly explains the output structure (cards with fields, backends_used). It covers filters and backward compatibility. Missing details like snippet format or pagination, but top_k covers result count.

    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 low (25%), so description must compensate. It explains 'query' as free-text, 'top_k' default 10 max 50, and implies filters for date and type. However, it does not detail 'min_query_length' and misses that the schema already defines filter enum values. Adds some value but not enough for full clarity.

    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 performs retrieval over the vault with FTS5 BM25 and Turkish normalization. It specifies optional filters and returns ranked hits with snippets. However, it does not explicitly differentiate from sibling tools like mneme_recall or mneme_timeline, relying on the name to imply search.

    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 mentions optional date and frontmatter type filters but provides no guidance on when to use this tool versus its siblings (mneme_prime, mneme_recall, etc.). There is no explicit alternative naming or when-not-to-use advice.

    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 atomicity, path containment, and frontmatter applicability. However, it does not explain the behavior when replacing a section (e.g., whether it overwrites or merges), nor what happens if the file does not exist (implicitly creates? crashes?). Some key behaviors are omitted.

    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 efficient sentences front-load the purpose and key behaviors. Every phrase adds value: atomicity, operation type, path safety, frontmatter condition. No wasted words or repetition.

    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 5 parameters, 3 required, no output schema, and moderate complexity, the description is functional but incomplete. It fails to explain the return value (if any), error conditions, or the exact semantics of 'replace'. A more complete description would address these 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?

    The schema has 60% coverage with descriptions for 3 of 5 parameters. The description adds context for 'path' (enforces assertWithinVault) and 'frontmatter' (applies only to new files). However, the 'replace' parameter lacks explanation of its effect, and 'content' and 'section' rely solely on schema definitions. Not significantly more value than 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 appends or replaces a markdown section in a vault file atomically, with precise scope and resource. The action and object are specific, and the name 'mneme_write' distinguishes it from sibling tools like mneme_recall (read) or mneme_search (search).

    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 given on when to use this tool versus siblings such as mneme_recall or mneme_search. There is no mention of prerequisites, alternatives, or scenarios where this tool should be avoided. The context signals show sibling tools exist, but the description offers no differentiation in usage.

    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?

    No annotations are provided, so the description bears full responsibility. It discloses the injection format ('full'), progressive format selection, per-session deduplication, and token budgeting. However, it does not mention safety or side effects; as a read-only context fetch, this is acceptable but could be more explicit.

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

    Conciseness3/5

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

    The description is a single paragraph of three sentences. It includes forward-looking version details ('v1.0 uses...Phase F.5 adds...') which may be unnecessary for the immediate AI agent use. The core purpose is front-loaded, but the version info adds clutter.

    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 tool with 5 parameters and no output schema, the description provides a reasonable overview but lacks details on return format, pagination, or error cases. It explains the adaptive layer and progressive format, but missing output schema leaves agents needing to infer behavior.

    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 only 20% (session_id only). The description adds meaning for session_id (purpose, activation of features) but does not explain task_description, budget_tokens, recent_session_count, or topic_doc_count beyond the schema defaults. It hints at 'token budget' and 'topic-relevant matches', but lacks full compensation for the low 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 states the tool's purpose: 'Preflight context bundle for a new session.' It specifies what it combines (session-typed docs and topic-relevant matches) and mentions a token budget. This distinguishes it from sibling tools like mneme_recall (retrieval) and mneme_write (creation).

    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 implies when to use this tool (new session startup) and mentions passing session_id to activate deduplication and format selection. It does not explicitly state when not to use or compare to alternatives, but the context of 'preflight' and sibling names provide implied guidance.

    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

mneme MCP server

Copy to your README.md:

Score Badge

mneme 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/OnourImpram/mneme'

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