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: create, get, update, link, import, delete. Even create_node and import_graph are clearly separated by purpose (single vs bulk creation), with descriptions that prevent confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern (create_node, get_graph, update_node, link_nodes, import_graph, delete_node). The plural in link_nodes is a minor variation but still fits the overall structure.

    Tool Count5/5

    Six tools is well-scoped for a task graph server. Each tool has a clear role, covering creation, retrieval, update, linking, bulk import, and deletion without unnecessary overlap or bloat.

    Completeness4/5

    The set covers core graph lifecycle operations (create, read, update, delete, link, import). Gaps include lack of explicit unlink and inability to change a node's parent_id via update_node, which may require workarounds like recreating nodes.

  • Average 4.1/5 across 6 of 6 tools scored.

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

    • No community issues in the last 6 months
    • 7 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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 provided, the description carries the full burden of behavioral disclosure. It mentions 'existing nodes' as a prerequisite but does not explain what happens if nodes are missing, whether the operation is reversible, or any side effects. It also omits details about the relation parameter and potential errors.

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

    Conciseness5/5

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

    The description is a single sentence of 12 words, directly stating the action and purpose without filler. It is front-loaded with the verb 'create' and is appropriately sized for a simple tool.

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

    Completeness3/5

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

    For a simple linking tool, the description covers the core action, but it leaves out important operational details such as the meaning of the relation parameter and explicit prerequisite handling. Given the lack of annotations and output schema, a more complete description would be needed for full 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 coverage is low at 33%, as only 'relation' has a description (which merely lists enum values). The main description adds minimal context by referring to 'two existing nodes,' which hints at 'from' and 'to' but does not clarify their meaning or the purpose of 'relation.' The description fails to compensate for the schema's sparse 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 clearly states the tool creates a directed edge between existing nodes, using a specific verb and resource. It distinguishes itself from sibling tools like create_node (which creates nodes) and delete_node (which removes nodes), 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 Guidelines4/5

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

    The description implies usage for linking existing nodes to show logical flow, which differentiates it from node management tools. However, it does not explicitly state when not to use it or mention alternatives, so it falls short of a full 5.

    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?

    There are no annotations, so the description carries the transparency burden. It discloses that a node is created and that parent_id creates a visible branch, but it does not mention persistence, generated IDs, response/return behavior, or potential side effects. This is adequate but not rich.

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

    Conciseness5/5

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

    Three short sentences: action, usage guidance, and parent linkage. The structure is front-loaded and every sentence adds value without padding.

    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 6-parameter tool with no annotations and no output schema, the description plus rich input schema is sufficient to select and invoke. It covers the core creation purpose and parent-branching behavior, though it omits response/error details, which are not strictly required here.

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

    Parameters3/5

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

    Schema coverage is 100%, so the description need not repeat parameter meanings. It does add a small amount of context around parent_id ('so the graph shows where it branched from') and elaborates on the intent of certain types (e.g., 'decision (with reasoning)'), but this is marginal beyond the schema's existing 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 opens with a specific action and resource: 'Create a node in the task graph.' It also enumerates the node types and gives clear intent, distinguishing this creator tool from sibling operations like update_node, delete_node, and link_nodes.

    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?

    It explicitly tells when to use the tool ('Use for every task, subtask, idea, discussion topic, note, finding... or bug') and provides conditional guidance for parent_id. It doesn't name alternative tools or exclusions, but the context is clear enough that this is the creation path versus update/link/delete.

    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 the destructive nature (delete) and the cascading effect on all edges touching the node. The explicit user-consent guardrail adds important behavioral context, though it does not mention irreversibility or error handling.

    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 that conveys the primary action, scope, and usage constraint with no wasted words. It is an exemplar of concise, structured tool documentation.

    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 tool with one parameter and no output schema, the description covers the core action, the critical side-effect (edges), and a usage guardrail. It is lacking only in parameter-specific detail, which is somewhat mitigated by the single obvious 'id' field, but overall it is adequately complete for its complexity.

    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%, and the description does not explain that 'id' is the identifier of the node to delete. The description only says 'a node' without mapping to the parameter, leaving the agent to infer that id is the target. More explicit parameter semantics are needed given the schema lacks 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 deletes a node and all touching edges, using a specific verb and resource. It distinguishes itself from sibling tools like create_node, update_node, and link_nodes by focusing on deletion and cascading edge removal.

    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 'Only when the user explicitly asks' provides a clear usage condition and implies not to use it proactively or without authorization. While it doesn't name alternatives, it implicitly distinguishes deletion from update or creation, giving sufficient context for when to trigger this tool.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses that notes are appended with timestamps and clarifies the note's purpose, but it omits the fact that the 'doc' parameter is also updatable and does not mention any side effects, permissions, or return behavior. This is partially transparent but leaves 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 sentences, front-loaded with the core function and followed by an explanatory note about the note field. Every sentence earns its place with no fluff.

    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 moderately complex (6 params, 1 enum, no output schema), and the description covers the main fields and usage guidance. However, it omits the 'doc' parameter from the list of updatable fields and does not describe return values or error behavior. It is adequate but not fully complete for a mutation tool with no annotations.

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

    Parameters3/5

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

    Schema description coverage is only 33%, so the description must compensate. It adds meaning to title, description, status, and note (especially the note's purpose), but completely omits the 'doc' parameter. Since the schema provides a description for doc, the description partially compensates but is not fully comprehensive.

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

    Purpose5/5

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

    The description clearly states the verb 'Update' on the resource 'node' with specific fields (title, description, status, note). It distinguishes from sibling tools like create_node by explicitly mentioning that standalone notes should be created via create_node instead of using this tool's note field.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when to use this tool vs. alternatives. It explains that notes are for the node's own status trail and that standalone information should be a separate node via create_node. This directly tells the agent when not to use update_node and names the alternative.

    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 of behavioral disclosure. It clearly states the tool returns the full graph, implying a read-only operation. It does not describe return format or performance implications, but the behavior is straightforward and sufficiently disclosed for a simple getter.

    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, front-loaded with the core function and followed by a specific usage tip. Every word earns its place; there is no fluff or repetition.

    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 tool with no parameters and no output schema, the description adequately covers what it does (returns full graph), what it includes (all nodes and edges), and when to use it (session start). The sibling context shows this is the only read tool, so the description is complete for its simplicity.

    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 tool has zero parameters, so there is no parameter information to convey. The schema coverage is 100% (empty schema), and the baseline for 0 params is 4. The description adds no parameter semantics because none exist, which 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 function with a specific verb ('Return'), the resource ('full current graph'), and the scope ('all nodes and edges'). It distinguishes itself from sibling tools (create_node, update_node, etc.) by indicating a read operation of the entire graph.

    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 specifies when to use this tool: 'Use to re-orient yourself at the start of a session.' This provides clear context. However, it does not explicitly mention alternatives or when not to use it, though sibling tools are clearly mutation-focused, making the differentiation implicit.

    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 behavioral transparency burden. It discloses a key behavior: temporary ids are provided, real ids are assigned, and a ref->id map is returned. It also explains edge referencing via temporary ids. However, it does not discuss partial failure, idempotency, or rollback behavior, leaving some 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?

    Three sentences, each earning its place: the action, the use case, and the critical ref mechanism. The most important information is front-loaded, and there is zero fluff.

    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 two-parameter tool with nested structures and no output schema, the description covers the main workflow well: when to use, how refs work, and what is returned. It stops short of describing error handling or the exact shape of the ref->id map response, but is largely sufficient for an agent to invoke correctly.

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

    Parameters5/5

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

    The description adds crucial semantic meaning not present in the schema: the concept of temporary refs, how edges reference nodes via refs, and the return value mapping refs to real ids. This is essential for correct usage and goes far beyond the schema's field-level 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 opens with a precise verb+resource+scope: 'Bulk-create many nodes and edges in one call.' This clearly distinguishes it from sibling tools like create_node (single node) and link_nodes (edges only), making the purpose unmistakable.

    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 an explicit use case: 'Use when reconstructing a graph from existing project history.' It does not explicitly say when not to use it, but the contrast with single-purpose siblings is implied. Clear context but no exclusion statements.

    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

iLabs_task_graph MCP server

Copy to your README.md:

Score Badge

iLabs_task_graph 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/PontusO/iLabs_task_graph'

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