Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool targets a distinct resource or action, but update_index and generate_index both write index.md and could be confused. Otherwise, get_concept, get_index, get_log, search, CRUD, and list are clearly separated.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case, e.g., get_concept, create_concept, update_index, append_log_entry. The only minor deviation is list_concepts using plural, but the pattern remains highly predictable.

    Tool Count5/5

    With 11 tools, the set is well-scoped for managing an OKF bundle. It covers concept CRUD, search, index handling, and log entries without excessive specialization or redundancy.

    Completeness5/5

    The server provides thorough coverage for concept lifecycle (create, read, update, delete, list, search) plus index and log management. Missing delete_index/log is not a gap since those files are overwritten or managed through other tools.

  • Average 4.1/5 across 11 of 11 tools scored. Lowest: 3.3/5.

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

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior3/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It explicitly states 'Create or overwrite,' which clearly warns of mutation and potential destruction of existing content. It also adds useful detail about frontmatter exceptions. However, it doesn't disclose other potential side effects like directory creation, permissions, or idempotency, leaving some behavioral gaps.

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

    Conciseness5/5

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

    The description is concise and well-structured. The first sentence delivers the core purpose. The second paragraph provides necessary context about index file format and a spec reference. Every sentence earns its place, and there is no redundant or filler content.

    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?

    The tool has an output schema, so return values need not be explained. The description gives some context about index file formatting and references a spec. However, it does not address the relationship to the 'generate_index' sibling, which is a notable gap given the tool's role as a manual alternative. The description is functional but not fully complete in guiding correct usage.

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

    Parameters3/5

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

    Schema description coverage is 100%, and both 'path' and 'content' have clear descriptions in the schema. The description adds no additional semantic meaning for parameters beyond what the schema already provides. Per the rubric, baseline is 3, and the description doesn't go beyond that.

    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 tool's purpose with a specific verb ('Create or overwrite') and resource ('an index.md file for a directory'). It explains what index files are for ('list the directory's concepts for progressive disclosure'). However, it doesn't explicitly distinguish this from the sibling 'generate_index' tool, so it misses the top score for sibling differentiation.

    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 doesn't mention that 'generate_index' might be a better choice for automatic generation, nor does it state any exclusions or prerequisites. The implied usage is 'when you need to create or overwrite an index manually,' but no explicit guidance is provided.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool 'Writes and returns' the generated content and limits scanning to immediate children. However, it does not specify whether it overwrites an existing index.md, what happens if no frontmatter exists, or any permission requirements—key behaviors 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 two sentences, front-loads the core action ('Auto-generate an index.md'), and avoids any redundant or extraneous information. Every sentence earns its place.

    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 a simple tool with one parameter and an output schema, the description covers the main purpose, the input scope, and the fact that it writes and returns content. The output schema presumably explains return values, so not detailing them is acceptable. The only minor gap is the overwrite behavior, but overall it is adequately complete.

    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 sole parameter `path` is fully described in the schema ('Directory path relative to bundle root. Empty = bundle root.'), and the tool description adds no additional semantic detail beyond restating that it is a directory. With 100% schema coverage, the baseline of 3 applies.

    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 and resource: 'Auto-generate an index.md for a directory.' It distinguishes itself from sibling tools like update_index and get_index by focusing on generation rather than modification or retrieval. The additional context about scanning one level deep further clarifies 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 Guidelines3/5

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

    The description implies usage by stating it auto-generates from existing concept frontmatter, but it does not explicitly say when to use this tool versus alternatives like update_index. It also lacks exclusions or prerequisite conditions, though the one-level-deep scan hint is a contextual constraint.

    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 the burden of disclosure. It explicitly states the return fields (concept_id, type, title, description, tags, timestamp) and the exclusion of reserved files (index.md, log.md). However, it does not clarify recursion behavior, pagination, or sorting, which are relevant for a listing 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?

    The description is two sentences, front-loaded with the primary purpose, followed by return fields and exclusion behavior. Every sentence adds value, and there is no verbosity or repetition of schema information.

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

    Completeness4/5

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

    Given the output schema exists and annotations are absent, the description covers purpose, return fields, and an important exclusion. It is slightly incomplete regarding recursion/pagination behavior, but for a simple list tool with a single parameter, it is largely adequate.

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

    Parameters3/5

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

    Schema description coverage is 100% and the schema already fully explains the 'path' parameter ('Subdirectory to list, relative to the bundle root. Leave empty to list the entire bundle.'). The description adds no further parameter-level semantics beyond restating the subdirectory concept, so the baseline 3 applies.

    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 and resource ('List all concepts in the bundle') and clearly scopes behavior to subdirectories. It distinguishes this from siblings like get_concept (single) and search_concepts (filtered), 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 when to use the tool (when you need to enumerate concepts) but does not explicitly mention alternatives or exclusions. Sibling names like search_concepts are not referenced, so the agent must infer the distinction. No guidance is given for when NOT to use this tool.

    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 the full burden of behavioral disclosure. It goes beyond the obvious 'delete' by explicitly stating that empty parent directories are also removed (stopping at the bundle root), which is a non-obvious side effect that could affect the agent's decisions. However, it does not mention irreversibility or permission requirements, though the word 'delete' implicitly conveys destructiveness.

    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 long, front-loaded with the primary action, and the second sentence adds a crucial side-effect. Every word earns its place, with no redundant or filler content.

    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?

    For a simple single-parameter tool with an output schema, the description fully covers the main action and the important side effect. It does not need to explain return values because the output schema exists, and there are no complex prerequisites or other parameters to document. The description is sufficiently complete for an agent to select and invoke this tool correctly.

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

    Parameters3/5

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

    The schema has 100% coverage for the single parameter concept_id, and the description does not add further semantics beyond what the schema provides. It mentions 'concept document' but does not clarify the format or constraints of concept_id, so the 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 clearly states the tool's purpose with a specific verb ('Delete') and resource ('concept document from the bundle'). It also distinguishes itself from sibling CRUD tools by naming the delete operation and adds a meaningful side-effect detail about directory cleanup.

    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 (deletion of a concept) but does not explicitly discuss when to use it versus alternatives like update_concept, nor does it mention any exclusions or prerequisites. The verb 'delete' and resource indication provide enough context for basic usage, but no explicit guidance is given.

    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 does disclose the return behavior: 'Returns the concept's frontmatter metadata and its markdown body,' giving the agent a clear expectation of the response format. However, it does not address what happens if the ID is invalid or not found, which is a minor gap.

    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 succinct sentences. The first sentence states the core action, and the second provides valuable detail about the return payload. No filler or redundant information is present.

    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?

    For a simple get-by-ID tool with a single fully documented parameter and an output schema present, the description is complete. It covers the purpose and the nature of the returned content, while the schema handles parameter details and the output schema covers return structure. No additional context is needed.

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

    Parameters3/5

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

    Schema description coverage is 100%, with the concept_id parameter already documented as a path relative to bundle root with examples. The tool description adds no additional parameter semantics, so per the baseline for high coverage, a 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 clearly states the action: 'Retrieve a full concept document by its ID.' It identifies the specific resource (concept document) and method (by ID), which differentiates it from siblings like search_concepts and list_concepts. This is a specific verb+resource pair with no ambiguity.

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

    Usage Guidelines3/5

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

    The description implies usage when you have a concept ID ('by its ID'), but it does not explicitly say when to use this tool versus alternatives like search_concepts or list_concepts. There are no explicit exclusions or mentions of alternative tools for different scenarios, leaving usage guidance to be inferred.

    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 the full burden and discloses key behaviors: entries are grouped under today's ISO 8601 date heading, newest first, and log.md is created if absent. It stops short of describing failure conditions (e.g., invalid directory), but the disclosed behaviors are relevant and non-obvious.

    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 three compact sentences, front-loading the primary action and adding only essential behavioral details. No filler or repetition.

    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?

    The tool is a simple append operation with a full input schema and an output schema (per context signals). The description covers core behaviors (date grouping, file creation) and doesn't need to explain return values due to the output schema. It could mention what happens on invalid paths, but that's not essential for the common case.

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

    Parameters3/5

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

    The input schema already provides full descriptions for all three parameters (path, action, description), and the tool description adds little beyond restating 'directory' for path. Since schema coverage is 100%, the baseline of 3 applies; the description does not enrich parameter understanding further.

    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 opens with 'Append a dated entry to the log.md file for a directory,' which clearly identifies the verb (append), resource (log.md), and scope (directory). This distinguishes it from sibling read tools like get_log and other file operations like update_index.

    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 clearly states the tool is for appending to a log file, making its usage context obvious. However, it doesn't explicitly mention when not to use it or name alternative tools, though the context is clear enough for an agent to select it for write operations.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses an important edge case: 'Returns empty string if no index exists.' It also clarifies the input scope ('directory in the bundle'). While it doesn't mention permissions or error handling, these are less critical for a straightforward read 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 two sentences: first states the action, second explains purpose and return behavior. It is front-loaded, concise, and every sentence adds value.

    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?

    The tool is simple (one optional parameter, output schema exists). The description covers the main behavior, the empty-string edge case, and the purpose of index files, making it complete for an agent to correctly invoke the 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 schema description coverage is 100%, fully describing the path parameter. The tool description adds no additional parameter semantics, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get the index.md content for a directory in the bundle.' It uses a specific verb (Get) and resource (index.md content) and distinguishes itself from siblings like get_concept or get_log by focusing on directory-level index files.

    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 gives clear context by explaining that index files list directory concepts for progressive disclosure, implying when this tool is appropriate. However, it does not explicitly name alternatives or provide when-not-to-use guidance, so it falls short of a 5.

    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 the empty-string return behavior and the path scope relative to bundle root. The verb 'get' implies a read-only operation, and the edge case handling is useful. It does not mention permissions or other side effects, but for a simple read tool this is sufficient.

    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 three concise sentences, front-loaded with the main action. Each sentence provides value: the purpose, the context of log files, and the edge-case behavior. There is no unnecessary wording.

    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?

    For a simple tool with one optional parameter and an output schema, the description is complete. It covers the core functionality, the nature of the content, and the empty-string return behavior, which is sufficient for an agent to select and invoke the tool correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already fully documents the path parameter. The description adds no additional semantics beyond what the schema states, aligning with the baseline score for high schema 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 retrieves log.md content for a directory, with a specific verb and resource. It distinguishes itself from siblings like get_concept and get_index by focusing on log files, and adds context that log files contain chronological history.

    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 usage for retrieving chronological change history via 'Log files contain the chronological history of changes.' It does not explicitly mention alternatives or exclusions, but no direct sibling tool serves the same purpose (e.g., append_log_entry is for writing), so the guidance is adequate.

    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 a critical behavioral trait: the tool fails if the concept already exists, preventing accidental overwrites. It also provides a fallback (update_concept). While it doesn't cover every possible side effect, the most important failure mode is clearly stated, which is above baseline for a create 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?

    Two sentences, front-loaded with the action, and every clause earns its place. The failure condition and alternative are conveyed with zero waste.

    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?

    The description is highly complete for an 8-parameter tool with 100% schema coverage, output schema present, and sibling context. It covers the core purpose, usage distinction, and failure mode. Minor gaps like OKF-specific conventions are addressed by the schema, so the description is sufficient to guide invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds no information about parameters beyond the schema's existing thorough explanations (e.g., concept_id path, type examples). It doesn't compensate with extra semantics but doesn't need to given the schema quality.

    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+resource ('Create a new OKF concept document') and clearly distinguishes itself from the sibling update_concept by stating 'use update_concept to modify existing ones.' This leaves no ambiguity about what the tool does and how it differs from related tools.

    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 states when to use this tool (for new concepts) and when to use the alternative ('Fails if the concept already exists — use update_concept to modify existing ones'). This covers both when and when-not, satisfying the highest bar for usage guidance.

    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 behavioral transparency burden. It discloses key behaviors: case-insensitive substring search across specific fields, and AND-combination of all provided filters. This adds meaningful context beyond basic search semantics, though it doesn't cover pagination or edge cases.

    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, front-loaded with the primary action and followed by precise behavioral details. No filler or redundancy; every sentence earns its place.

    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 4 optional parameters and an existing output schema, the description covers the essential search scope and filter combination logic. It doesn't mention pagination or ordering, but these are likely covered by the output schema or default behavior, not required for basic understanding.

    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%, providing baseline 3. The description adds semantic value by explaining how parameters interact: all filters are ANDed together, and search is case-insensitive substring across multiple fields. This enriches understanding beyond individual parameter 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's function: search concepts by full-text query, tags, and/or type. It uses a specific verb and resource, and distinguishes from siblings like get_concept (single concept retrieval) and list_concepts (listing without search filters) by indicating the search-based scope.

    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?

    Usage context is clear: use this tool when you need to find concepts matching a query, tags, or type. It doesn't explicitly name alternatives or exclusion cases, but the search-focused description implies a distinct role 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?

    With no annotations provided, the description carries full responsibility. It discloses key behaviors: merging frontmatter_updates into existing metadata, refreshing the timestamp, and null semantics for body and frontmatter keys. This is substantial, though it does not mention permissions or error conditions.

    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 three sentences, front-loaded with the primary action and followed by two critical behavioral clarifications. Every sentence earns its place with no redundancy or filler.

    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 moderate-complexity update tool, the description covers essential behaviors: merge semantics, timestamp refresh, and null handling for body/frontmatter. The output schema covers return values, so no need to describe them. It could benefit from explicit prerequisite or permission notes, but overall it is sufficiently complete for agent invocation.

    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 input schema already describes all parameters at 100% coverage. The description adds meaning by clarifying that frontmatter_updates are merged (partial update) and that null frontmatter keys remove them, which goes beyond the schema's minimal descriptions. Body null behavior is also reinforced.

    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 'Update an existing OKF concept document,' using a specific verb ('Update') and a specific resource ('OKF concept document'). This effectively distinguishes it from sibling tools like create_concept, delete_concept, and get_concept.

    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 phrase 'Update an existing' provides clear context that this tool is for modifying existing concepts, not creating new ones or deleting. However, it does not explicitly mention alternatives or when not to use it, so it lacks explicit exclusions.

    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

okf-mcp MCP server

Copy to your README.md:

Score Badge

okf-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/teomarcdhio/okf-mcp'

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