Skip to main content
Glama

Server Quality Checklist

58%
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: loading the handoff, saving new checkpoint data, searching within it, and packing a context slice. There is no overlap or ambiguity between these four operations.

    Naming Consistency4/5

    All tools follow a clear verb_noun pattern (load_handoff, save_checkpoint, search_handoff, pack_context). The only minor inconsistency is the use of different nouns (handoff, checkpoint, context) when referring to related concepts, but the pattern remains uniform and predictable.

    Tool Count5/5

    With only 4 tools, the server is tightly scoped for its purpose of managing agent handoffs. Every tool serves a distinct, necessary function and none feel superfluous.

    Completeness4/5

    The set covers core lifecycle operations: load, save, search, and context packing, which likely handles most workflows. A minor gap is the lack of a clear delete/reset operation for the handoff, but this may not be needed in the intended use case.

  • Average 2.7/5 across 4 of 4 tools scored. Lowest: 2/5.

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

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

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description must disclose all behavioral traits. It only says it 'builds' a context slice, but doesn't explain side effects (e.g., whether it reads/writes files, creates a file at the path, or truncates context based on maxChars). It offers no detail on permissions, reversibility, or data handling, leaving the agent with little understanding of what will happen.

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

    Conciseness2/5

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

    The description is a single vague sentence. While concise, it's under-specified and doesn't earn its place by conveying substantive information. It's not a tautology, but it's closer to a label than a useful explanation. A concise description should still be informative.

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

    Completeness1/5

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

    For a tool with three parameters, no output schema, and no annotations, the description is drastically incomplete. It doesn't explain the function's behavior, parameters, return value, or when to use it. An agent cannot reliably invoke this tool correctly based on the provided information.

    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 coverage is 0%, and the description mentions none of the three parameters (task, path, maxChars). It provides no meaning beyond the bare type/default in the schema. The agent gets no explanation of what 'task' is, what default path '.context' means, or how maxChars is used. This is a critical gap.

    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 provides a clear verb ('build') and a resource ('context slice'), but it's vague about what a 'context slice' actually is. It doesn't name specific actions or fields, and it doesn't differentiate from sibling tools like load_handoff or save_checkpoint. While it's not a tautology, it lacks the specificity to distinguish it from alternatives.

    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. It doesn't mention prerequisites, scenarios, or exclusion conditions. The description only states what it does, not when to use it, leaving the agent to infer appropriateness.

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

  • Behavior1/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely states the action without indicating whether the operation is read-only, what it returns, whether it modifies any state, or if there are any side effects. The description offers no behavioral context beyond the verb.

    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, concise sentence with no redundancy. It is appropriately short for a simple tool, though it lacks any structural formatting or additional clarity that could elevate it to a 5.

    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?

    For a tool with no output schema and no annotations, the description is incomplete. It doesn't state what the loaded handoff looks like, whether it returns structured data or a raw string, or how the 'path' parameter interacts with the concept of 'current project'. The simplicity of the tool (one optional param) lowers the bar, but the description still misses essential operational details.

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

    Parameters1/5

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

    The only parameter 'path' has a default but no description, and schema description coverage is 0%. The description does not explain what 'path' refers to (e.g., directory or file path, default location). With zero parameter documentation in both schema and description, the agent is left to infer meaning solely from the tool name.

    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 a specific verb ('load') and resource ('current project handoff'), and the context of sharing between coding agents. This distinguishes it from sibling tools like save_checkpoint (save), search_handoff (search), and pack_context (pack), even though the siblings' behaviors are inferred from names.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention conditions (e.g., 'use when you need the latest handoff; use search_handoff for querying historical ones') or any exclusions. An agent receives no routing help beyond the tool name.

    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 carry the full behavioral burden. It only says 'durable', implying persistence, but does not disclose side effects like overwriting behavior, file creation, directory handling, or error conditions. This is insufficient for a write operation.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no filler. It immediately states the action and the content type, making it efficient and easy to parse.

    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?

    For a tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It does not explain the purpose of 'title' and 'path', how todos/decisions are used, or what happens on invocation. An agent would lack critical context to use the tool correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It hints at 'decisions', 'TODOs', and 'notes' which map to the 'decisions', 'todos', and 'notes' parameters, but it does not explain the required 'title' or the 'path' default, nor the format of TODOs/decisions arrays. The meaning of parameters is largely left to inference.

    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 ('Save') and identifies the resource ('durable project decisions, TODOs, notes'), clearly distinguishing it from siblings like load_handoff, search_handoff, and pack_context. It conveys a persist-for-later purpose without ambiguity.

    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 gives no guidance on when to use this tool versus alternatives. It mentions saving for the next agent but does not indicate when to choose save_checkpoint over load_handoff or search_handoff, nor does it state any 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys that this is a search/read operation and scopes it to 'the current handoff,' but it does not disclose what happens on no matches, how results are shaped, whether the path parameter changes the search target, or whether 'current' is tied to the path default. These are material gaps for an unannotated tool.

    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?

    A single sentence that opens with the action verb and packs in the scope and target content. It is efficient and front-loaded, though its brevity borders on under-specification given the missing parameter 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?

    With two parameters, no output schema, and zero annotations, the description leaves an agent without the semantics of 'path' and 'query,' the meaning of 'current handoff,' and expectations for return values or empty-result behavior. This is insufficient for an agent to call the tool correctly with confidence.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate—but it never mentions either parameter. It does not clarify that 'query' is the search term or explain what 'path' (defaulting to '.context') controls, nor what 'current handoff' means relative to that path. The description adds essentially no meaning beyond the bare schema property names.

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

    Purpose5/5

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

    The description states a specific verb ('Search'), a resource ('the current handoff'), and the objects of the search ('decisions, TODOs, and notes'). This clearly distinguishes it from its siblings load_handoff, save_checkpoint, and pack_context, which cover different operations on the same artifact.

    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 phrase 'in the current handoff' provides useful scoping context, implying this searches the active handoff rather than historical ones. However, it gives no explicit guidance on when to prefer this over load_handoff for finding content, and does not name alternatives or call out exclusions—an agent must infer the division of labor.

    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

openhandoff MCP server

Copy to your README.md:

Score Badge

openhandoff 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/StoneReaper/openhandoff'

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