Skip to main content
Glama
kaaustubh

project-memory-mcp

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct action and resource type: projects, memory entries, issues, initiatives, registry, and file-to-memory linking. No two tools have overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_projects, append_decision, sync_registry). No mixing of styles or vague verbs.

    Tool Count4/5

    With 16 tools, the count is slightly above the ideal range but still well-scoped for a project memory system covering projects, issues, initiatives, and registry management.

    Completeness5/5

    The tool set covers full lifecycle: listing/reading projects, searching/appending memory entries, CRUD for issues, full initiative management, registry sync, and file-referenced memory lookups. No obvious gaps.

  • Average 4.1/5 across 16 of 16 tools scored. Lowest: 3.1/5.

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

    • No community issues in the last 6 months
    • 12 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 failing
  • 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.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations provided. The description only mentions 'resolve' and 'record the fix' without disclosing side effects, required permissions, or state changes. For a state-changing tool, more behavioral context is needed.

    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?

    Single sentence, front-loaded with purpose. No unnecessary words. Efficiently communicates the core function.

    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 or return value description. For a simple tool with two parameters, the description is adequate but could mention what the response looks like or if the issue is closed/updated.

    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 50%: 'id' has a schema description with example, 'fix' lacks one. The tool description adds 'record the fix' which gives context for the 'fix' parameter, partially compensating for the schema gap.

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

    Purpose4/5

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

    The description clearly states the action (mark an issue resolved) and the resource (issue), and includes the specific detail of recording the fix. It distinguishes from sibling tools like 'log_issue' which creates issues, and 'search_issues' 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?

    No guidance on when to use this tool versus alternatives. It does not mention prerequisites or when not to use it. Implied usage from description, but no explicit context.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavioral traits. It only states what the tool does but omits any details about performance, side effects, error conditions, or required permissions.

    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 directly states the tool's function with no wasted words. It is front-loaded and efficient.

    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 retrieval tool with one well-documented parameter, the description is largely complete. The return value is hinted ('full AGENTS.md memory'), but there is no mention of error handling or confirmation that the returned data format is intuitive.

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

    Parameters3/5

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

    The schema description coverage is 100% for the single parameter. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

    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 clear verb ('Return') and specifies the resource ('full AGENTS.md memory') with a qualification ('for one project'), effectively distinguishing it from sibling tools like list_projects and search_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?

    The description provides no guidance on when to use this tool versus alternatives such as search_memory or get_initiative. There are no hints about prerequisites or typical use cases.

    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, and the description does not disclose behavioral traits such as side effects (none expected), pagination, sorting, or error handling. It is minimally 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, efficient sentence that front-loads the key information. It could be slightly expanded without becoming verbose.

    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 absence of annotations, output schema, and minimal parameters, the description is adequate but lacks details on return behavior or edge cases. It is minimally complete for a simple list tool.

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

    Parameters3/5

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

    The description adds context to the optional 'project' parameter by explaining it can be used to filter by a single project or omitted for all projects. However, schema coverage is 0%, and the description does not provide additional details like value format.

    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 verb 'list', the resource 'unresolved issues', and the scope 'across all projects (or one)'. It effectively distinguishes from sibling tools like 'search_issues' and 'get_project'.

    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 listing open issues but does not explicitly state when to use this tool over alternatives like 'search_issues'. It provides no guidance on prerequisites or context.

    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 provided, so description bears full burden. It states case-insensitive search and returns lines with project, implying read-only operation. However, no mention of permissions, rate limits, or edge cases like empty results.

    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 short sentences front-load key information. No redundant or extraneous content.

    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 search tool with one parameter and no output schema, the description covers scope (all projects' AGENTS.md), behavior (case-insensitive), and output (matching lines with project). Missing minor details like return format for no matches but still adequate.

    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 coverage is 0% and description only briefly refers to 'query' as search term without elaborating on format, constraints, or examples. 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?

    Description clearly states the tool performs case-insensitive search across every project's AGENTS.md and returns matching lines with project context. It is specific and distinct from sibling tools like search_issues which search issues.

    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?

    No explicit guidance on when to use this tool versus alternatives like search_issues. Usage is implied for searching project memory but lacks when-not-to-use or alternative suggestions.

    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 provided. Description indicates read-only listing, but lacks details on side effects, authentication, rate limits, or return format. Simple operation but could be more transparent.

    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?

    Single, front-loaded sentence with no wasted words. 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?

    No output schema, yet description does not specify return structure (e.g., list of project names, paths). Incomplete for a tool with no schema to fall back on.

    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?

    Schema has no parameters (100% coverage). Description adds value by explaining the filtering criterion (projects under ~/code with AGENTS.md), going beyond 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?

    Clearly states verb (list), resource (projects), and specific scope (under ~/code that have an AGENTS.md memory file). Distinguishes from sibling tools like get_project and search_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?

    Implicitly suggests use when wanting to enumerate projects with memory files, but no explicit guidance on when not to use or alternatives (e.g., get_project for a single project).

    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 provided, so description carries full burden. It explains search scope (text fields only, avoiding false hits) and optional tag filtering. This is good behavioral context for a search tool. Could mention return format or pagination but not essential.

    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?

    Single paragraph with front-loaded purpose. Concise with no wasted sentences, though could be broken into shorter sentences for readability.

    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, description explains what is searched but not the return format. Includes proactive usage advice. Fairly complete for a search tool given sibling tools are not directly comparable.

    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 67% (query and tags described, project not). Description clarifies query matches specific fields and tags require all. Adds value but does not cover the 'project' parameter, leaving its meaning ambiguous.

    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 specifies it searches bug/issue history over specific text fields (symptom, cause, fix, id, tags) across all projects or one, clearly distinguishing from raw JSON search. The verb 'search' and resource 'issue history' are specific.

    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 to call this proactively when a user reports an error or familiar failure, before debugging, to check for prior fixes. Provides context for when to use but does not list alternatives (e.g., other sibling tools) for not using it.

    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 that it adds stub rows, preserves hand-curated columns, can report-only with apply=false, and uses the project's description. However, it does not explicitly state whether it modifies existing rows or what happens to flagged missing directories beyond 'flagging'.

    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 paragraph that front-loads the main purpose. It is somewhat dense and contains minor redundancy (e.g., restating the automation of the 'new project' step), but overall it is efficient and well-structured.

    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 low complexity (1 parameter, no output schema), the description covers the purpose, process, and parameter effectively. It hints at output (open-issue counts, flagged missing directories) but does not provide a specific format, which is acceptable for a tool with no output schema.

    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 single parameter 'apply' is well-described in the schema, and the description adds contextual guidance on its usage. Schema coverage is 100%, so baseline is 3; the description's extra context modestly enhances 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 verb 'reconcile' and the resource 'root AGENTS.md projects table', detailing the actions: listing projects, adding stub rows, flagging missing directories, and showing open-issue counts. It effectively distinguishes itself from sibling tools like list_projects.

    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 a specific use case (automating the 'new project → add a row' step) and explains when to use the apply parameter to report without writing. It does not explicitly exclude alternative tools, but the context implies this is for reconciliation.

    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 that listing can span all projects if project is omitted, returns specific fields, and sorts by most recent update. It does not explicitly state it's read-only, but the verb 'list' implies non-destructive behavior. Could mention rate limits or pagination, but adequate for a simple list tool.

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

    Conciseness5/5

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

    Two sentences with no wasted words. The first sentence explains functionality concisely; the second provides a specific usage scenario. Front-loaded with the key capability.

    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 list tool with 2 parameters and no output schema, the description covers the main behavior, filtering by project, sorting, and proactive use. However, it does not explain the status parameter, pagination, or result limits. It gives enough to use the tool but misses some details that would make it fully complete.

    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 coverage is 0% (no descriptions in schema). The description mentions 'project' and 'status' implicitly but does not explain their purpose or constraints. For example, the 'status' parameter is an enum (active, paused, done) but the description never indicates that it filters results by status. The description fails to compensate for the lack of schema descriptions, leaving the agent to infer parameter semantics from names alone.

    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 verb 'list' and the resource 'initiatives'. It specifies the output fields (codename, status, last updated) and the scope: across one project or all projects if omitted. This distinguishes it from siblings like get_initiative (single) and list_projects (different resource).

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

    Usage Guidelines5/5

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

    Explicitly instructs the agent to call this proactively when the user references resuming past work without an exact codename or project. This provides clear when-to-use guidance and implicitly suggests alternatives like get_initiative for known codenames or searching blindly.

    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 provided, so description carries full burden. It discloses file creation, AGENTS.md modification, idempotency, and non-overwrite behavior. However, it does not mention potential side effects like need for project existence or file permissions.

    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?

    All sentences are valuable, but the description is a single dense paragraph. Front-loading is good, but could be more structured with bullet points for readability. Still concise given the detail.

    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?

    Covers core behavior and usage, but lacks mention of return value or error handling. Without output schema, description should hint at what the tool returns. Also does not specify prerequisites like project existence.

    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 75% (3 of 4 parameters have descriptions). The description adds meaning for 'codename' and 'plan', but does not elaborate on 'project' beyond what schema implies. Still adds value by explaining storage location and use of codename.

    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: to start tracking a multi-session effort by creating a file and updating AGENTS.md. It distinguishes itself from sibling tools like get_initiative, list_initiatives, and update_initiative by explaining its proactive usage and idempotency.

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

    Usage Guidelines5/5

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

    Explicitly tells when to call this tool proactively (when user names a multi-step effort with a codename) and when it's safe to recall (if codename exists, returns unchanged). Also contrasts with waiting for explicit request.

    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, so description carries full burden. It discloses that the tool modifies AGENTS.md (auto-loaded memory) and that the action is proactive, plus instructs to inform the user. Lacks details on idempotency or side effects, but adequate for a simple append.

    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 sentences, no fluff, front-loaded with action. Every sentence adds value.

    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, so description should mention return behavior. It doesn't state what the tool returns or if it creates the file if missing. Could be more complete regarding preconditions and outcome.

    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 0%, so description must explain parameters. It implies 'text' is the learning content and 'project' is the identifier, but does not provide explicit format or constraints. Acceptable given simplicity of parameters.

    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?

    Clearly states the tool appends a dated bullet under '## Learnings' in AGENTS.md. Distinguishes from sibling log_issue by specifying that this is for general learnings, not specific bugs.

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

    Usage Guidelines5/5

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

    Explicitly instructs when to call proactively upon discovering durable gotchas/workarounds, and provides an alternative for specific bugs (log_issue). No ambiguity.

    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?

    Discloses that the log is appended to a file, high-volume memory, and NOT auto-loaded. Without annotations, it carries the full burden; it adds useful context about when to use and performance implications, though could mention more about mutation 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 concise sentences front-loaded with the core action and clear usage guidance; every sentence adds value.

    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?

    Provides essential usage context and proactive behavior, but lacking parameter explanations and return value info; no output schema exists. Still adequate for the agent to use effectively.

    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?

    While schema coverage is 57%, the description adds no parameter details beyond 'structured bug/issue'. It does not explain fields like project, symptom, or status; the description could have compensated but didn't.

    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?

    Clearly states the tool appends a structured bug/issue to a file, distinguishing it from sibling tools that search or resolve issues. The verb 'log' and resource 'bug/issue' are specific.

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

    Usage Guidelines5/5

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

    Explicit guidance: 'Call this PROACTIVELY whenever you resolve (or get blocked by) a non-trivial bug — don't wait to be asked'; also instructs to skip trivial/transient issues and to inform the user in one line.

    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 fully covers behavioral aspects: automatic date logging for progress lines, case-insensitive substring matching for completing todos, and the side effect of removing the pointer from AGENTS.md when status is 'done'. These details are crucial for safe usage.

    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 but packs multiple instructions into a few sentences. It is front-loaded with the purpose and uses clear action verbs. Minor improvements could include bullet points for readability, but it is not verbose.

    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 complexity (6 parameters, no output schema, no annotations), the description covers the key behavioral aspects and usage guidance. It lacks explicit return value or error details, but for an update tool, the provided information is sufficient for an agent to use it correctly.

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

    Parameters4/5

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

    The description adds meaningful context beyond the schema: 'progress' is dated automatically, 'complete_todos' uses substring matching against unchecked items, and status 'done' triggers removal of the pointer. Schema coverage is only 33%, so the description compensates effectively.

    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 updates a named initiative and lists four specific actions: appending a progress log, adding todos, checking off completed todos, and changing status. It is easily distinguishable from sibling tools like `start_initiative` and `get_initiative`.

    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 advises to call the tool proactively as progress happens, not just at session end. It also explains the effect of setting status to 'done'. While it does not explicitly mention when not to use it or name alternatives, the guidance is clear and actionable.

    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 provided, but description discloses search scope (all projects or specified), matching criteria (via 'files' field for issues, AGENTS.md bullets for decisions/learnings). Could mention it's read-only, but intent is clear.

    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 sentences, no redundancy. Action and context are front-loaded. Every sentence adds essential 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?

    Explains input parameters and output types (issues, decisions/learnings). No output schema, but description covers what is returned. Could mention pagination or limits, but not critical for a search tool.

    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?

    Schema covers 50% (file param described). Description adds value for project param by stating default behavior ('searches all projects unless one is given') and clarifies file param usage with examples. Compensates for missing schema descriptions.

    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?

    Description clearly states the tool returns issues and decisions/learnings that touch a given file, answering 'why is this code the way it is?'. It distinguishes from siblings like search_memory or log_issue.

    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 when to use ('when you land on confusing code and want the history behind it') and mentions scope ('searches all projects unless one is given'). Does not explicitly list alternatives among siblings.

    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 carries the full burden. It discloses that it modifies AGENTS.md, explains scope behavior, and states it is about agent behavior/preferences. It does not mention destructive side effects or permissions, but it is largely 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 paragraph that is well-structured and front-loaded with the main action. Every sentence earns its place, though it could be slightly more concise.

    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 tool's complexity (3 parameters, no output schema), the description covers when to use, what to do, scope, and sibling differentiation. It provides sufficient context for correct invocation, though details like date format are omitted (minor).

    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?

    Schema coverage is 100%, so baseline is 3. The description adds value by explaining phrasing requirements ('durable rule, ideally with a short WHY'), scope distinction, and when the project parameter is required. This goes beyond the schema's property descriptions.

    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 a dated bullet under '## Preferences' in AGENTS.md, turning user corrections into remembered patterns. It explicitly distinguishes from siblings like append_decision and log_issue.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance: call proactively when the user corrects how you work or states a durable preference, and tell the user what was saved. It also contrasts with siblings: 'for a project DECISION use append_decision, for a bug use log_issue'.

    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 the case/spacing-insensitivity of codename matching and the fallback behavior on unresolved codename. However, it does not mention authorization or rate limits, but given it's a read operation, the transparency is adequate.

    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?

    Three sentences, each purposeful. First defines core function, second gives usage advice, third describes error handling. No wasted words, information is front-loaded.

    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 hints at return content ('full plan/todos/progress log') and covers the case of invalid codename. It is sufficiently complete for a get-by-key tool, though it could specify whether the return is a single object or may include nested items.

    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?

    Despite 0% schema description coverage, the description adds meaning to both parameters: 'codename (case/spacing-insensitive)' and indirectly explains 'project' through the fallback mention ('lists that project's known initiatives'). It could be improved by explicitly describing the project 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 the action ('Fetch the full plan/todos/progress log') and the resource ('one named initiative by codename'). It distinguishes from sibling tools like list_initiatives by focusing on a single initiative and mentions the fallback behavior that lists project initiatives, which differentiates its scope.

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

    Usage Guidelines5/5

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

    Explicitly advises when to call the tool ('PROACTIVELY at the start of a session when the user references resuming a specific named effort') and what to expect if the codename doesn't resolve ('lists that project's known initiatives instead of erroring'). This helps the agent decide between get_initiative and list_initiatives.

    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 provided, so description carries full burden. It discloses that it modifies AGENTS.md, appends under a specific section, and records decisions with WHY. However, it omits details about error handling, idempotency, or what happens if the section doesn't exist.

    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 sentences that front-load the action and location. Every sentence provides useful information without redundancy.

    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 simplicity (2 params, no nested objects, no output schema), the description covers all essential aspects: what it does, when to use it, what not to use it for, and how to record decisions.

    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?

    Schema coverage is 50%. Description adds meaningful guidance for 'text' (one line, decision and WHY, not just what). For 'project', no additional context, but it's a straightforward identifier. The description compensates for the missing schema description on 'text'.

    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 a dated bullet under '## Decisions' in AGENTS.md. It specifies the verb (append) and resource (project's AGENTS.md), and differentiates from siblings like log_issue and append_learning.

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

    Usage Guidelines5/5

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

    Explicitly says to call proactively after non-obvious/architectural decisions, not for bugs or trivia, and instructs to inform the user. This provides clear when-to-use and 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.

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

project-memory-mcp MCP server

Copy to your README.md:

Score Badge

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

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