Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have a clear resource+action split, and task CRUD operations are distinct. The only real ambiguity is between list_tasks and list_subtasks, since it is not stated whether project-level task listing includes subtasks.

    Naming Consistency5/5

    All tool names use snake_case with consistent list_/get_/create_/update_/delete_ prefixes. 'search' is the only bare verb, but it is a conventional and easily understood exception.

    Tool Count5/5

    Eleven tools is well-scoped for a task-management server: it covers hierarchy traversal, task CRUD, subtask operations, and search without unnecessary duplication.

    Completeness4/5

    The task lifecycle is complete with create, read, update, and delete, and the listing/search tools cover common lookup needs. The main gaps are the lack of explicit subtask update/delete operations and no create/update/delete for projects or columns, though these may be workable or out of scope.

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

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

    • No community issues in the last 6 months
    • 10 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Search' and does not describe whether the operation is read-only, which fields are searched, how filters combine, or what the response contains.

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

    Conciseness3/5

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

    The description is a single front-loaded sentence with no filler, which is economical. However, it is so minimal that it does not carry enough useful information for a tool with five parameters and no output schema.

    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 five parameters, no output schema, and no annotations, the definition is incomplete. Missing details include the result shape, whether results are tasks/projects/comments records or something else, default type behavior, and how projectId and workspaceId interact with the type filter.

    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 each parameter already has a meaningful description. The tool description adds no additional parameter context, but the schema alone suffices for understanding query, type, limit, projectId, and workspaceId.

    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 uses a specific verb ('Search') and names several resources, which distinguishes it from sibling list tools. However, it omits workspaces and activities even though the schema supports them, and it is unclear whether it returns matching items or just summaries.

    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?

    There is no explicit guidance about when to use this tool versus the sibling list_* and get_* tools. An agent has to infer that search is for ad hoc queries, so the description does not help route correctly in ambiguous 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?

    With no annotations, the description carries full responsibility for behavioral disclosure. It only repeats the obvious destructive implication of 'Delete' and omits critical side effects such as whether subtasks are cascaded, whether deletion is permanent or recoverable, and whether special permissions are required.

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

    Conciseness3/5

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

    The description is extremely concise at three words with no waste, but it is under-specified rather than efficiently informative. It lacks any structured caveats or elaboration that would make the brevity genuinely useful.

    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 destructive operation with no output schema and no annotations, the description leaves unresolved critical details: return behavior, error handling, and the effect on related subtasks. This is a meaningful gap for an agent deciding whether and how to 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 input schema already documents taskId with a clear description ('Task ID to delete') at 100% coverage. The tool description adds no additional semantic detail, so the baseline score of 3 applies since the schema does the heavy lifting.

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

    Purpose4/5

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

    Description states a specific verb 'Delete' and resource 'task', which clearly distinguishes it from all sibling tools that perform create, update, list, get, or search operations. It is brief but unambiguous about what the tool does.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool vs alternatives, nor about prerequisites, irreversibility, or cases where a different tool (like update_task) would be more appropriate. The usage context is left entirely to inference from the 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, the description carries the full burden of behavioral disclosure, yet it only states the basic action. It does not mention that this is a read-only operation, what happens if the taskId is not found, or what format the returned details take.

    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, immediately clear sentence with no unnecessary words. It is appropriately concise for a simple getter tool and front-loads the core purpose.

    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 one-parameter tool without an output schema, the description is minimally adequate. However, it does not explain what 'details' includes or what the response looks like, leaving some ambiguity for an agent invoking 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?

    Schema description coverage is 100%, so the parameter taskId is already documented. The description adds no extra semantic context beyond implying the taskId identifies the specific task, which is adequately covered by the schema.

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

    Purpose4/5

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

    The description clearly states the verb 'Get' and the resource 'task', indicating retrieval of a single task's details. It distinguishes from list_tasks by emphasizing 'a specific task', though it does not explicitly name sibling 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 provided about when to use this tool versus list_tasks or search. The description implies it is for retrieving a task by ID, but does not state that you should first obtain the taskId from a listing tool or when a user asks about a single task.

    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 full behavioral disclosure burden. It only states 'List subtasks' without explaining whether nested/direct subtasks are returned, how results are ordered, whether pagination applies, or any authorization implications.

    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 filler and front-loaded verb and resource. It loses points only because it omits contextual details that would make it more useful, though conciseness itself is strong.

    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 one-parameter list operation, the description plus schema is minimally sufficient to call the tool correctly. However, without annotations or an output schema, it would benefit from clarifying whether subtasks are returned recursively and what the response contains, leaving some uncertainty.

    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 parentTaskId described as 'Parent task ID'. The tool description adds no additional meaning beyond that, so the baseline of 3 applies because the schema already handles parameter documentation.

    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 subtasks of a parent task'. It clearly identifies the operation and scope, distinguishing it from siblings like list_tasks, get_task, and create_subtask by focusing on the parent-child relationship.

    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?

    There is no guidance on when to use this tool versus alternatives. It does not mention when to choose list_subtasks over list_tasks or search, and it gives no exclusions or context about the parentTaskId requirement beyond the schema.

    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 bears the full burden of behavioral disclosure. It indicates a read-only listing operation by using 'List,' but it adds little beyond the tool name: no mention of authentication needs, pagination, return format, or filtering behavior. The only new behavioral context is the workspace scoping.

    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, focused sentence with no redundant words. It front-loads the action and scope. For a tool with one parameter, this level of brevity is appropriate and efficient.

    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 is simple, the schema covers the only parameter, and the description states the core purpose. However, with no output schema and no annotations, the description does not disclose return shape, pagination, or access requirements. It is minimally adequate but leaves several practical details unspecified for an autonomous agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, and the workspaceId parameter already has a description in the schema. The tool description itself adds no parameter-level detail. Given the high schema coverage, a baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states a specific verb and resource: 'List all projects in a workspace.' It conveys the operation and scope without ambiguity. It does not explicitly distinguish itself from sibling list tools like list_tasks or list_workspaces, but the resource name makes the target clear.

    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 a workspace' implies the tool should be used when a workspace context and project listing are needed. However, there is no explicit guidance about when to use this tool instead of alternatives such as list_tasks or list_columns, and no exclusions or prerequisites are described beyond the required workspaceId.

    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 full responsibility for disclosing behavior. It says the tool creates a new task, but says nothing about side effects, return values, validation requirements, or whether the project must already exist. This is a minimal disclosure with no added behavioral context beyond the operation itself.

    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?

    A single sentence with zero filler, front-loading the core operation ('Create a new task') and the scope ('in a project'). Every word earns its place in the description.

    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 mutation tool with no annotations and no output schema, this description is overly sparse. It does not explain what happens after creation (e.g., whether the created task is returned, how errors surface), nor does it mention the need for an existing projectId or how to find one. The schema covers inputs, but behavioral and sequencing context is missing.

    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 baseline is 3; the schema already documents all five parameters, including markdown support for description and the status column slug format. The description adds no parameter-level meaning, which is acceptable given the schema's completeness.

    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 ('Create') and resource ('a new task in a project') with no ambiguity. It clearly distinguishes from sibling tools like update_task, delete_task, and especially create_subtask, which is the only other creation tool and targets a different resource (subtask).

    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 the obvious use case — creating a task — but provides no explicit guidance on when to choose this over alternatives, nor any exclusion such as 'for subtasks use create_subtask'. Sibling names make the purpose inferable, but the text itself does not state prerequisites like needing to obtain projectId via list_projects.

    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 burden of behavioral disclosure. It does disclose that results include columns and pagination, which is useful, but it does not explicitly state read-only behavior, default ordering, limits, or how pagination is controlled. The name 'list' suggests a non-mutating operation, so this is acceptable but not fully 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?

    The description is a single, front-loaded sentence with no filler words. It immediately states the action, resource, and scope, and then mentions the relevant output characteristics. Every word contributes useful 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?

    For a simple one-parameter list tool with no output schema, the description gives enough to call it correctly: list tasks for a project, with columns and pagination. It does not detail return fields or pagination mechanics, but those are reasonable to discover from the response. Minor ambiguity around 'columns' prevents a higher score.

    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 single parameter projectId is already adequately documented in the schema as 'Project ID'. The description adds no additional meaning or constraints about the parameter, so it does not improve on the schema.

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

    Purpose4/5

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

    The description clearly identifies the action (list) and resource (tasks in a project), which distinguishes it from siblings like list_workspaces, list_projects, and get_task. The phrase 'with columns and pagination' hints at the response shape but is somewhat ambiguous about whether columns are returned as data or used as grouping.

    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 about when to use this tool versus alternatives such as search, list_subtasks, or get_task. The description implies it is for listing tasks within a project, but does not state exclusions or direct the agent to a more appropriate sibling for filtered or detailed queries.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It does disclose that only accessible workspaces are returned, which is useful, but it omits other behavioral traits such as pagination, ordering, result shape, or authorization assumptions.

    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. Every word contributes to understanding the tool's purpose and scope.

    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 is simple and the description covers the core purpose, but there is no output schema and no annotations to explain return values or behavior. The optional filter is documented in the schema but the description does not clarify how it interacts with 'all accessible workspaces'.

    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 covers the single parameter workspaceId with a clear description, so the baseline is 3. The tool description adds no additional meaning about how filtering behaves, such as whether it is exact match or prefix match.

    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 ('List') and resource ('workspaces') and adds the scope 'all accessible', which makes the tool's purpose unambiguous. The resource name also differentiates it from sibling list tools such as list_projects, list_columns, and list_tasks.

    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 explicit guidance about when to use this tool versus alternatives, and does not mention the optional workspaceId filter or when filtering would be appropriate. Usage must be inferred entirely from the verb and resource.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. 'Partial update' discloses that unspecified fields remain unchanged, and 'one or more' indicates multi-field updates are allowed. But it does not mention side effects, error behavior for invalid taskId, permissions, or what the response contains, leaving notable 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 two short sentences with no filler. The core behavior is front-loaded in the first sentence, and the usage constraint in the second sentence is immediately actionable.

    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 7-parameter mutation tool with no output schema and no annotations, the description covers the essential partial-update contract but omits details like return value, behavior when taskId does not exist, and whether status must reference an existing column. It is adequate for basic invocation but not fully complete.

    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 the baseline is 3. The description adds meaningful semantic value by explicitly requiring at least one update field, which is not encoded as a formal schema constraint and is important for correct invocation. It also clarifies that the optional fields are individually updatable.

    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 states a specific verb ('Update'), resource ('task'), and scope ('one or more task fields'), with 'partial update' clarifying PATCH-like semantics. It does not explicitly differentiate from sibling tools like create_task or delete_task, but the update semantics are clear enough to avoid confusion.

    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 'Provide at least one update field' gives a concrete precondition for invoking the tool. However, it does not explicitly say when to prefer this over create_task/delete_task or state that the task must already exist, so usage context is mostly implied rather than fully specified.

    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 burden of behavioral disclosure. 'List' implies a read-only, non-destructive operation, and 'all' signals that no filtering is applied, but the description does not mention pagination, ordering, authentication requirements, or error behavior. These are meaningful gaps for a standalone read 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 a single, front-loaded sentence with no repeated information, fluff, or unnecessary detail. Every word contributes to the meaning.

    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 is low-complexity with one required parameter and no output schema, and the description plus schema give the essential call shape. However, the absence of an output schema and any mention of return value structure or list behavior leaves some ambiguity for an agent. It is adequate but not 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?

    Schema description coverage is 100% because projectId is documented as 'Project ID'. The description adds the phrase 'in a project', which lightly reinforces the link between the parameter and the operation, but it does not add meaningful semantics beyond what the schema already provides.

    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 ('List'), a specific resource ('columns'), and a clear scope ('in a project'). It is immediately distinguishable from sibling tools like list_projects, list_tasks, and list_subtasks because it names a distinct resource and 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 intended use is implied by the phrasing 'List all columns in a project' — an agent can infer it is the right tool when it needs all columns for a project. However, it does not explicitly state when to prefer this over alternatives or mention any exclusions, so it stays at the implied-usage level.

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

  • Behavior3/5

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

    With no annotations, the description carries the behavioral disclosure burden. It does disclose the key inheritance behavior ('Status inherits from parent unless specified'), which is useful, but it omits other behavioral context such as expected response, permission requirements, or side effects beyond creation.

    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, focused sentence that front-loads the core action and relationship. Every word adds value, and there is no unnecessary elaboration.

    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 low-complexity create tool with fully documented schema parameters, the description is nearly complete. It clarifies the parent-child relationship and the status inheritance nuance. It could be more explicit about how this differs from create_task, but the core usage context is adequately covered.

    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 baseline is 3. The description adds no parameter-level detail beyond what the schema already documents; the inheritance behavior is also reflected in the status property description.

    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 ('Create') with a clear resource ('subtask') and a distinguishing relational constraint ('linked to a parent'). This differentiates it from sibling tools like create_task, which could otherwise be ambiguous.

    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 creating a subtask rather than a standalone task. It does not explicitly name alternatives or state when not to use it, so the guidance is more implied than explicit.

    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

mcp-kaneo MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

mcp-kaneo MCP server – quality and maintenance score on Glama

Copy to your README.md: