Skip to main content
Glama

karea-mcp

The MCP server for Karea. 49 tools so Claude Code, Cursor, and any other MCP-compatible client can create, edit, close, recap, link, and otherwise manage your tasks while you code.

npm license karea-mcp MCP server

What you can do with it

  • Create / edit / close / delete tasks and subtasks from inside Claude Code while it codes

  • Read and write long-form markdown on any task (perfect for solution design + investigation notes)

  • Track open questions per task and answer them later

  • Attach resources (file references, links) to tasks

  • Link tasks to Jira and back

  • Get a productivity recap across a date range

  • Manage categories, projects, and project sharing

Related MCP server: mcp-task-manager

Install

npx karea-mcp

Configure (Claude Code)

Add to ~/.claude.json (or run claude mcp add):

{
  "mcpServers": {
    "karea": {
      "command": "npx",
      "args": ["-y", "karea-mcp"],
      "env": {
        "KAREA_API_KEY": "your_key_here",
        "KAREA_URL": "https://karea.app"
      }
    }
  }
}

Get your API key at https://karea.app/dashboard/settings?section=api-keys.

Configure (Cursor)

Add to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "karea": {
      "command": "npx",
      "args": ["-y", "karea-mcp"],
      "env": {
        "KAREA_API_KEY": "your_key_here"
      }
    }
  }
}

Tool catalogue

49 tools (regenerated by scripts/sync-metadata.mjs):

  • karea_add_note

  • karea_add_requisite

  • karea_answer_question

  • karea_ask

  • karea_close_task

  • karea_create_category

  • karea_create_project

  • karea_create_question

  • karea_create_resource

  • karea_create_subtask

  • karea_create_task

  • karea_delete_category

  • karea_delete_note

  • karea_delete_project

  • karea_delete_question

  • karea_delete_requisite

  • karea_delete_resource

  • karea_delete_task

  • karea_doing

  • karea_done

  • karea_edit_note

  • karea_edit_question

  • karea_edit_task

  • karea_get_context

  • karea_get_jira_link

  • karea_get_markdown

  • karea_get_resource

  • karea_link_jira

  • karea_link_resource_to_task

  • karea_link_session

  • karea_list_notes

  • karea_list_projects

  • karea_list_questions

  • karea_list_resources

  • karea_list_sessions

  • karea_list_subtasks

  • karea_list_tasks

  • karea_quick_task

  • karea_recap

  • karea_set_context

  • karea_set_markdown

  • karea_share_project

  • karea_toggle_requisite

  • karea_unlink_jira

  • karea_unlink_resource_from_task

  • karea_unlink_session

  • karea_update_resource

  • karea_upload_resource

  • karea_view_task

Workflow example

You: I'm starting on the auth bug.
Claude (via karea-mcp): karea_doing("auth bug")
        --> status set to in_progress
You: Add a closing requisite: must pass the failing test.
Claude: karea_add_requisite(...)
You (later): I fixed it.
Claude: karea_toggle_requisite(...) then karea_done("auth bug")

License

MIT. See LICENSE.

Available Tools

49 tools
karea_add_noteA

Add a note to a task. Notes are human-readable updates/observations (the user reads them). For private AI working memory that persists across sessions, use karea_set_context instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
contentYesNote content. Markdown is supported (lists, **bold**, `code`, links) - use it when it improves readability; plain text is also fine.
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided; description covers basic behavior (adds a note, supports Markdown) but omits details like whether notes are appended, limits, or return behavior.

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

Conciseness5/5

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

Two concise sentences: first states purpose, second distinguishes from sibling. Front-loaded and no waste.

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?

Lacks explanation of return value or error cases; but for a simple write operation with good parameter descriptions, it is reasonably 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%; description adds extra value by explaining Markdown support for content and atomic link behavior for aiSessionId.

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 the tool adds a note to a task, specifies notes are human-readable, and distinguishes from sibling karea_set_context for private AI working memory.

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

Usage Guidelines5/5

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

Explicitly says when to use (adding human-readable notes) and when not (use karea_set_context for private AI memory), providing clear alternatives.

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

karea_add_requisiteA

Add a closing requisite (a checklist item that must be completed before the task may be closed) to a task, and return it.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID
descriptionYesWhat must be done before closing. Keep it short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Deploy verified on staging"). Do NOT write a paragraph.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description mostly carries the burden. It discloses that the tool adds a requisite and returns it, but lacks details on idempotency, permissions, or error conditions. Basic transparency.

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, well-structured sentence that conveys all essential information without redundancy. Highly concise and front-loaded.

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

Completeness4/5

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

The description covers the core operation and mentions return value. Given the simplicity of the tool and absence of output schema, it is largely complete, though it could hint at potential duplicate handling.

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 parameters are well-described. The description adds context by framing the parameters as part of a 'closing requisite' concept and mentions the return behavior, providing extra meaning beyond schema.

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

Purpose5/5

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

The description clearly states the verb 'Add', the resource 'closing requisite' (checklist item), and its purpose as a prerequisite for task closure. It distinguishes from sibling tools like karea_add_note and karea_create_task.

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 (when adding a closure prerequisite) but provides no explicit when-not-to-use guidance or comparisons to sibling tools like karea_toggle_requisite. Adequate but minimal.

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

karea_answer_questionA

Answer an open question, located by short ID or text match: sets its answer and flips its status to answered. Returns the updated question.

ParametersJSON Schema
NameRequiredDescriptionDefault
answerYesThe answer
questionIdYesQuestion UUID or short ID (e.g. KAQ3)

TDQS

A4/5.0
Behavior4/5

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

Without annotations, the description carries full burden. It discloses that the tool sets the answer and flips the status to 'answered', and returns the updated question. No destructive behavior is mentioned, but the mutation is clear.

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

Conciseness5/5

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

Two sentences, both front-loaded and essential. No wasted words. Every part adds value.

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

Completeness4/5

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

For a simple update tool with 2 parameters and no output schema, the description adequately covers the core behavior and return value. It could mention edge cases or prerequisites, but it is sufficiently 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 coverage is 100%, so baseline is 3. The description mentions 'located by short ID or text match', but the parameter schema only describes 'questionId' as UUID or short ID; 'text match' is not reflected, causing slight ambiguity. Overall, the description adds little beyond schema.

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

Purpose5/5

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

The description clearly states the action ('Answer an open question') and the resource ('open question'). It distinguishes from sibling tools like 'karea_create_question' or 'karea_edit_question' by specifying that it flips status to 'answered'.

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 an open question needs to be answered, but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many sibling tools.

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

karea_askA

Send a natural-language request to the Karea AI assistant, which may read or modify your tasks to carry it out, and return its reply. Consumes your monthly AI usage allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesYour message
projectIdNoProject name or ID for context

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It honestly discloses that the assistant 'may read or modify your tasks' (indicating both read and write potential) and that it consumes a monthly allowance. This gives agents a good understanding of side effects, though it could detail what types of modifications are possible.

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, each providing essential information: what the tool does and a critical constraint (usage allowance). No extraneous words, perfectly front-loaded.

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

Completeness4/5

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

Given the absence of an output schema, the description mentions it returns a reply but does not describe the format or possible failure modes. However, for a general AI assistant tool, the description is sufficiently complete alongside the schema and sibling context.

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% with both parameters described, so baseline is 3. The description adds context by explaining that 'message' is the natural-language request and 'projectId' provides context, which enhances understanding beyond the schema's minimal 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 action ('Send a natural-language request'), the target ('Karea AI assistant'), and the effect ('may read or modify your tasks', 'return its reply'), which distinguishes it from the many sibling tools that perform specific operations like create_task or delete_task.

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 implicitly suggests using this tool for general requests that might involve reading or modifying tasks, but it does not explicitly state when not to use it or mention alternatives like the specific sibling tools. It does warn about consuming usage allowance, which is a practical guideline.

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

karea_close_taskA

Mark a task as done: sets status to done and stamps the close time. Reports any unmet closing requisites first unless confirm is set. To close several tasks at once use karea_done.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID, or UUID
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID
resolutionNoHow it was resolved
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, but description details key behaviors: sets status, stamps time, reports unmet requisites. Does not mention side effect of linking session via aiSessionId/toolType, which is only in schema. Description is consistent and informative.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with primary action, followed by conditional behavior and alternative tool reference.

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

Completeness3/5

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

Covers core behavior adequately but missing explanation of the non-existent 'confirm' parameter and does not clarify behavior when requisites are unmet (e.g., does it still close?). With 6 parameters and no output schema, more detail on expected response would help.

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 100%, so baseline is 3. However, description mentions a 'confirm' parameter that does not exist in the input schema, causing confusion. No additional value beyond schema descriptions.

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

Purpose5/5

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

Description clearly states the tool marks a task as done, sets status to done, stamps close time, and reports unmet requisites. It distinguishes from sibling karea_done by specifying that tool is for closing several tasks at once.

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 (close a single task) and when to use alternative (karea_done for multiple tasks). Implies confirm parameter for bypassing requisites, though confirm is not in schema.

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

karea_create_categoryA

Create a new category (a task bucket) inside an existing project and return it. To create a whole project, use karea_create_project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
projectIdNoProject name or ID

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states 'return it' implying the created category is returned, but does not disclose side effects, permissions, failure modes, or validation behavior. For a create tool, more transparency about conflict handling or idempotency would be beneficial.

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

Conciseness5/5

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

Two sentences, no fluff, and the main action is front-loaded. Every word earns its place, and the structure is efficient.

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

Completeness4/5

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

Given the tool's simplicity (2 parameters, no output schema), the description adequately covers the basic purpose and key sibling alternative. However, it could be more complete by mentioning that the project must exist or that the name must be unique within the project.

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 minimal value beyond the schema: it hints that the category is created inside a project, but does not clarify whether projectId is required or optional (schema lists it as not required). No details on parameter formats or defaults are provided.

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 (create), the resource (category/task bucket), and the context (inside an existing project). It also distinguishes from the sibling tool karea_create_project, 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 explicitly tells when not to use this tool (for creating a whole project) and suggests an alternative (karea_create_project). However, it does not provide guidance on prerequisites (e.g., the project must exist) or when to use it over other category-related siblings like karea_delete_category.

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

karea_create_projectA

Create a new Karea project owned by you and seed it with the default categories (Coding, Testing, Documenting, Reviewing). Returns the new project id. To add a category to an existing project, use karea_create_category instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, but the description discloses ownership ('owned by you'), the side-effect of seeding default categories, and the return value ('Returns the new project id'). It does not mention permissions or rate limits, but is transparent enough for an agent.

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, each serving a clear purpose: first describes action and outcome, second provides usage guidance. No unnecessary words.

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 covers the essential aspects: creation, default seeding, return value, and alternative. It could mention uniqueness constraints but is otherwise complete for a simple creation 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% (the 'name' parameter has description 'Project name'), so baseline is 3. The description adds no extra meaning about the parameter 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 clearly states the verb 'create' and the resource 'Karea project', and distinguishes itself from karea_create_category by specifying that the latter is for adding categories to existing projects.

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

Usage Guidelines5/5

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

Explicitly tells when not to use this tool ('To add a category to an existing project') and provides the alternative tool (karea_create_category).

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

karea_create_questionA

Create an open question (a decision or blocker to resolve) in a project, optionally linked to tasks, and return it with its short ID (e.g. KAQ3).

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdsNoTask IDs to link (visual IDs like KA12 or UUIDs)
markdownNoMarkdown body with additional context
questionYesThe question text
projectIdNoProject name or ID

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description must bear the full burden. It discloses that the tool creates an 'open question' (implying non-final state) and returns a short ID. However, it does not mention side effects, permissions, idempotency, or behavior on duplicate questions. The description adds some value but lacks depth for a mutation 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?

Single, well-structured sentence. Front-loaded with the main action, followed by optional details and return value. No wasted words.

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 creation tool with no output schema, the description covers the core purpose and return value. However, it omits prerequisites (e.g., project must exist), required parameter emphasis (question is required), and error scenarios (e.g., invalid taskIds). With 4 parameters and no annotations, additional context would improve completeness.

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% with clear descriptions for all 4 parameters. The description adds marginal value by mentioning that linking to tasks is optional and that the question is 'open'. Since the schema already explains parameters well, the description does not significantly enhance understanding.

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

Purpose5/5

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

The description clearly states the verb 'Create', the resource 'open question' (a decision/blocker), the scope 'in a project', and the optional linking to tasks. It also specifies the return value (short ID like KAQ3). This distinguishes it from sibling tools like karea_answer_question (answering) and karea_ask (general asking).

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 explicit guidance on when to use this tool vs. alternatives. While the description mentions optional linking to tasks, it does not provide criteria for choosing this tool over karea_add_requisite or karea_ask. The agent must infer usage from context.

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

karea_create_resourceA

Create a text resource (a note or document) in a project or folder and return it with its ID. To attach an existing resource to a task, use karea_link_resource_to_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesResource name
folderNoFolder path
contentYesText content
projectIdNoProject name or ID

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states the tool creates and returns a resource with an ID, but omits details on side effects, permissions, overwrite behavior, or rate limits. For a creation tool, this is minimal transparency.

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 core purpose, and contains no extraneous words. Every sentence earns its place.

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 description is adequate for a simple creation tool with 4 parameters and no output schema. It explains the action and return value (with ID), but lacks details on parameter interaction (e.g., required vs optional for folder/projectId) and the exact structure of the returned resource. Given the tool's complexity, it is minimally 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 coverage is 100% with descriptions for all parameters. The description adds value by clarifying that the resource is a text resource and that creation occurs in a project or folder, mapping to the 'folder' and 'projectId' parameters. However, it does not elaborate on required params beyond the schema, so it adds moderate meaning.

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 'create' and the specific resource type 'text resource (a note or document)', and mentions the location 'in a project or folder'. It also distinguishes from sibling 'karea_link_resource_to_task' by directing to that tool for attaching.

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

Usage Guidelines4/5

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

The description explicitly provides an alternative tool for attaching existing resources, which guides appropriate use. However, it does not mention when to use this tool over other creation tools like karea_create_task or prerequisites like needing a project, but the context is reasonably clear.

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

karea_create_subtaskB

Create a subtask under a parent task. Accepts the parent by visual ID (e.g. KPL77), name, or UUID. Supports the same params as karea_create_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
slaNoDeadline: 2d, 5h, tomorrow, monday
tagsNoTags to attach. STRICT: only pass tags that already exist in this project (verify with karea_view_task or the project list). Do NOT invent new tags unless the user explicitly asked for one — a typo or a paraphrase spawns duplicate tags. When unsure, omit and ask the user.
titleYesSubtask title
parentYesParent task name, visual ID (KPL77, C1), or UUID
sourceNoWhere this subtask came from
categoryNoCategory name (defaults to the parent's category if omitted)
markdownNoLong-form markdown content — investigation findings, technical/functional docs, solution design, root cause analysis.
priorityNoPriority 1-5 (1=critical)
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID (needed if parent is a visual ID)
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
descriptionNoSubtask description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short.
jiraIssueKeyNoJIRA issue key to link (e.g. PROJ-123). Issue must exist in JIRA.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").
closingRequisitesNoRequirements that must be met before closing. Keep each one short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Tests pass in CI", "PR approved"). Do NOT write paragraphs.

TDQS

B3.4/5.0
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 only states creation of a subtask but does not explain side effects like session linking (via aiSessionId), required permissions, or what happens on failure.

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-loading the core purpose and key parent identification detail. Every sentence adds value without redundancy.

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?

Despite 15 parameters and no output schema or annotations, the description provides minimal behavioral context. It does not explain return values, failure modes, or the effect of optional parameters like aiSessionId. The schema descriptions are thorough but the tool definition as a whole lacks completeness for an agent to fully understand behavior.

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% with detailed parameter descriptions. The description adds context for the 'parent' parameter (accepted formats) and reference to karea_create_task parameters, but these additions are minor compared to the rich schema descriptions.

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

Purpose5/5

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

The description clearly states the verb 'Create' and resource 'subtask under a parent task', and specifies how to identify the parent (visual ID, name, or UUID). It distinguishes from sibling karea_create_task by indicating it creates a subtask and supports the same parameters.

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

Usage Guidelines3/5

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

The description implies usage for creating subtasks but does not explicitly state when to use this tool versus alternatives like karea_create_task. It provides no when-not guidance or prerequisites.

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

karea_create_taskA

Create a new task in a project and return it with its visual ID (e.g. KA42), status, priority and category. Defaults when omitted: status open, priority 3, the first category of the project. Use karea_quick_task to log something already finished, or karea_doing for work in progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
slaNoDeadline: 2d, 5h, tomorrow, monday
nameYesTask title
tagsNoTags to attach. STRICT: only pass tags that already exist in this project (verify with karea_view_task or the project list). Do NOT invent new tags unless the user explicitly asked for one — a typo or a paraphrase spawns duplicate tags. When unsure, omit and ask the user.
sourceNoWhere this task came from
categoryNoCategory name
markdownNoLong-form markdown content — use for investigation findings, technical/functional docs, solution design, root cause analysis. This is the task's knowledge base.
parentIdNoParent task ID to create this as a subtask
priorityNoPriority 1-5 (1=critical)
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
descriptionNoTask description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short (a few sentences); use `markdown` for long-form docs.
jiraIssueKeyNoJIRA issue key to link (e.g. PROJ-123). Issue must exist in JIRA.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").
closingRequisitesNoRequirements that must be met before closing. Keep each one short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Tests pass in CI", "PR approved"). Do NOT write paragraphs.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It covers defaults and return values, but does not mention authentication needs, error handling, or what happens when projectId is omitted. Still, the core behavior is well described.

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

Conciseness5/5

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

Two sentences, no filler. The first sentence covers purpose and expected output, the second gives usage guidance. Perfectly front-loaded and concise.

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?

With 15 parameters and no output schema, the description is relatively brief. It covers the main purpose and default behaviors, but does not explain how to use complex parameters like aiSessionId or closingRequisites. However, the schema descriptions are rich, compensating partially.

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% with detailed descriptions for each parameter. The description adds value by mentioning defaults but does not elaborate on individual parameters beyond the schema. Baseline 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 creates a new task in a project and returns its visual ID, status, priority, and category. It distinguishes from siblings by mentioning karea_quick_task and karea_doing as alternatives for different states.

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 explicitly tells when to use this tool (create a new task) and when to use alternatives (karea_quick_task for finished work, karea_doing for work in progress). It also lists defaults for omitted fields.

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

karea_delete_categoryA

Permanently delete a category AND every task inside it, including history. Irreversible; requires confirm=true. To delete a single task instead, use karea_delete_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
projectIdNoProject name or ID

TDQS

A4.5/5.0
Behavior4/5

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

Discloses irreversible nature, requirement of confirm parameter, and cascading deletion of tasks and history. Slightly reduced score because it does not mention potential auth requirements or scope, but this is adequate without annotations.

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

Conciseness5/5

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

Two concise sentences, every word adds value. Front-loaded with the most critical information.

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 destructive tool with 2 parameters and no output schema, the description fully covers the purpose, side effects, and alternatives.

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 covers both parameters with descriptions. The tool description does not add additional 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?

Description clearly states the verb 'delete' and resource 'category', specifies that it cascades to all tasks inside including history, and distinguishes from sibling tool karea_delete_task.

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 warns that the action is irreversible and requires confirm=true, and directs to use karea_delete_task instead for deleting a single task.

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

karea_delete_noteA

Permanently delete a note from a task, by note ID. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
noteIdYesNote UUID (from karea_list_notes)
projectIdNoProject name or ID (needed for visual ID lookup)

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses the destructive and irreversible nature ('permanently delete', 'Irreversible'). However, with no annotations provided, it lacks details on permissions, rate limits, or side effects.

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 action and key information. Every word serves a purpose, with no redundancy.

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 deletion tool with no output schema, the description is largely complete. It explains the action and irreversibility, though it could benefit from mentioning prerequisites like obtaining the note ID.

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%, and the description adds no additional meaning beyond what the input schema already provides for task and noteId. The baseline 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 ('permanently delete'), the resource ('note from a task'), and the identifier ('by note ID'). It distinguishes from sibling tools like karea_edit_note or karea_add_note.

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?

There is no explicit guidance on when to use this tool versus alternatives. The description implies you need the note ID from karea_list_notes, but does not state prerequisites or when not to use it.

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

karea_delete_projectA

Permanently delete a project and everything inside it (tasks, categories, notes, history). Irreversible; requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name
confirmNoSet true to confirm deletion

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It communicates irreversibility, permanent deletion, and the need for confirmation. This fully discloses the destructive nature of the tool.

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

Conciseness5/5

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

Two short sentences with front-loaded key action and details. Every word adds value; no 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 delete tool with no output schema and no annotations, the description covers core behavior thoroughly. It could mention error conditions or prerequisites (e.g., project must exist), but it is still adequate.

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%, baseline 3. The description adds value by stating 'requires confirm=true', reinforcing that confirm must be true for deletion, which goes beyond the schema's 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 clearly states the action (permanently delete), the resource (project), and the scope (everything inside: tasks, categories, notes, history). This distinguishes it from other deletion tools like karea_delete_task or karea_delete_category.

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

Usage Guidelines4/5

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

The description explicitly requires confirm=true, which is a key usage condition. It does not explicitly mention when not to use or provide alternatives, but the context implies it is for permanent destruction only.

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

karea_delete_questionA

Permanently delete an open question. Irreversible. To keep it but mark it resolved, set its status to cancelled via karea_edit_question instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionIdYesQuestion UUID or short ID (e.g. KAQ3)

TDQS

A4.3/5.0
Behavior4/5

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

Clearly states the operation is permanent and irreversible, which is critical behavioral info. Since no annotations are provided, the description adequately covers the destructive nature.

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 core purpose and irreversibility, followed by the alternative. No unnecessary words, 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?

For a simple delete tool with one parameter and no output schema, the description fully covers the action, consequences, and alternative. No missing information.

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?

Only one parameter (questionId) with schema description already providing format info (UUID or short ID). Description adds no extra parameter-level detail, but schema coverage is 100%, so baseline 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 ('Permanently delete') and the resource ('an open question'), and distinguishes it from the alternative of setting status to cancelled via karea_edit_question.

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

Usage Guidelines4/5

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

Explicitly tells when not to use this tool by offering an alternative (karea_edit_question to mark resolved). Could add more context on prerequisites, but the alternative guidance is clear.

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

karea_delete_requisiteA

Permanently delete a closing requisite from a task, by ID. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID
requisiteIdYesRequisite UUID (from karea_view_task)

TDQS

A3.6/5.0
Behavior3/5

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

The description highlights irreversibility and permanence, which is valuable for a destructive action. However, it lacks details on error conditions, authentication needs, or side effects. Being the sole source (no annotations), it carries the full burden but is not exhaustive.

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, front-loaded sentence that efficiently conveys the core action and key constraint (irreversibility). No wasted words.

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 delete tool with no output schema, the description covers the essential behavioral trait (irreversibility) and scope (closing requisite). It could mention that the requisite ID comes from karea_view_task, but the schema already notes that. Reasonably 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%, so the schema already explains all parameters. The description adds no extra meaning beyond 'by ID' and 'from a task', which is already implied. Baseline 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?

Description clearly states the tool deletes a closing requisite permanently by ID. It distinguishes from other requisite tools (add, toggle) by being a delete operation, but does not explicitly differentiate from other delete siblings.

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?

Implied usage when needing to permanently delete a requisite, but no explicit when-to-use or when-not-to-use guidance, nor comparison with alternatives like toggle_requisite.

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

karea_delete_resourceA

Permanently delete a resource (text or file) by ID. Irreversible. To only detach it from a task, use karea_unlink_resource_from_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceIdYesResource UUID

TDQS

A4.7/5.0
Behavior5/5

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

The description clearly states the action is irreversible, which is critical behavioral information. No annotations are provided, so the description carries full burden and fulfills it well.

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

Conciseness5/5

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

Two sentences with zero wasted words. Key information (permanent deletion, by ID, alternative) is front-loaded and immediately actionable.

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 one simple parameter and no output schema, the description fully covers the purpose, irreversibility, and relationship to a sibling tool. No gaps remain.

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 covers 100% of parameters with a clear description ('Resource UUID'). The description adds no additional semantics beyond the schema, which is adequate for a single straightforward parameter.

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

Purpose5/5

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

The description clearly states 'Permanently delete a resource (text or file) by ID' with a specific verb and resource. It distinguishes itself from the sibling tool karea_unlink_resource_from_task, which performs a different action.

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 not to use this tool, directing the agent to use karea_unlink_resource_from_task for non-permanent detachment. This helps select the correct tool.

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

karea_delete_taskA

Permanently delete a task and its history. Irreversible; requires confirm=true. To merely close a task instead, use karea_close_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID, or UUID
confirmNoSet true to confirm deletion
projectIdNoProject name or ID

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the deletion is irreversible and requires setting confirm=true. These are key behavioral traits. However, it does not mention potential side effects like cascading deletions or permission requirements, which would push it to a 5.

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, each earning its place. The first states the action and consequence, the second gives an alternative. No wasted words; front-loaded with the core purpose.

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 deletion tool, the description covers purpose, usage guidelines, and key behavioral traits. The schema fully documents parameters, and no output schema is needed. The information is sufficient for an AI 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 coverage is 100%, so the baseline is 3. The description adds the requirement that confirm must be true, but this is also clear from the schema. The description does not provide additional semantic detail beyond what the schema already offers.

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 action: 'Permanently delete a task and its history.' The verb 'delete' and resource 'task' are specific. It distinguishes from the sibling 'karea_close_task' by offering an alternative for merely closing a task.

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 explicitly tells when to use this tool (for permanent deletion) and when not to, by directing users to karea_close_task for simply closing a task. This provides clear guidance.

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

karea_doingB

Create a task you are working on right now (status: in_progress)

ParametersJSON Schema
NameRequiredDescriptionDefault
slaNoDeadline: 2d, 5h, tomorrow, monday
categoryNoCategory name
priorityNoPriority 1-5 (1=critical)
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
descriptionYesWhat you are doing
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose all behavioral traits. It only states creation with status in_progress, omitting side effects like session linking (described in param details) or potential overwrites.

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 focused sentence front-loading purpose with no wasted words, though it could expand slightly on usage without losing conciseness.

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 8 parameters, no output schema, and no annotations, the description is too sparse. It lacks return value info, error handling, and prerequisites, leaving the agent underinformed for a complex creation 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%, with thorough param descriptions (e.g., sla examples, priority range). The tool description adds no extra meaning beyond the schema, earning baseline 3.

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 (create), resource (task), and a specific status (in_progress), distinguishing it from siblings like karea_create_task which likely creates a task without setting status.

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 use when starting an active task but does not explicitly mention alternatives like karea_create_task or karea_quick_task, nor provide when-not-to-use guidance.

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

karea_doneA

Mark several tasks as done in one call, each given by visual ID or name; returns a per-task result. For a single task with closing-requisite checks, use karea_close_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYesTask names or visual IDs to close
projectIdNoProject name or ID

TDQS

A4.4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions mutation and per-task return but lacks details on side effects, permissions, 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?

Two concise sentences with essential information front-loaded; no unnecessary words.

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?

Covers purpose, usage, and input; lacks return format details (though 'per-task result' is mentioned) and error behavior. Adequate for simple tool given no output schema.

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%, and description adds meaning by specifying input format ('visual ID or name') and hinting at projectId for disambiguation, though more detail could be given.

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 ('mark as done'), resource ('tasks'), and distinguishes from sibling ('karea_close_task' for single tasks with checks).

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 (multiple tasks) and when not to (single task with checks), providing a direct alternative.

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

karea_edit_noteA

Change the text of an existing note on a task, by note ID, and return the updated note.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
noteIdYesNote UUID (from karea_list_notes)
contentYesUpdated note content. Markdown is supported (lists, **bold**, `code`, links); plain text is also fine.
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID (needed for visual ID lookup)
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided. The description mentions the tool returns the updated note, which is helpful. However, it does not disclose potential side effects, permissions, or whether the operation is reversible. Given the lack of annotations, more detail would be beneficial.

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, well-structured sentence that conveys the essential information without any extraneous words. It is concise and to the point.

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 edit-mutation tool with no output schema, the description covers the key aspects: what is modified, how it's identified, and the return value. It is mostly complete, though could mention error conditions or success confirmation.

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 input schema already documents all parameters adequately. The description adds no further parameter semantics beyond 'by note ID' and 'return the updated note,' which is consistent with the baseline score of 3.

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 ('Change the text...'), the resource ('existing note on a task'), and the identifier ('by note ID'). It effectively distinguishes from sibling tools like karea_add_note and karea_delete_note.

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 updating an existing note's text, but it does not explicitly state when to use this tool versus alternatives (e.g., karea_add_note or karea_delete_note). No exclusions or when-not-to-use guidance is provided.

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

karea_edit_questionA

Edit an open question: change its text, status (open, answered or cancelled), answer, or linked tasks. Only the fields you pass change. Returns the updated question.

ParametersJSON Schema
NameRequiredDescriptionDefault
answerNoSet or update the answer
statusNoChange status: open, answered, cancelled
markdownNoUpdate markdown body
questionNoUpdate the question text
questionIdYesQuestion UUID or short ID (e.g. KAQ3)
taskIdsAddNoTask IDs to link
taskIdsRemoveNoTask IDs to unlink

TDQS

A4.4/5.0
Behavior4/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 only passed fields change and that it returns the updated question. However, it does not mention permission requirements or constraints like whether a non-open question can be edited.

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

Conciseness5/5

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

Two sentences with no wasted words. The main action is stated first, followed by additional details. Every sentence serves a purpose.

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 7 parameters and no output schema, the description covers the essential behavior. It could mention error cases like invalid questionId or status, but for an edit tool this is reasonable. The sibling list is large but the description adequately distinguishes the tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by listing status options (open, answered, cancelled) and clarifying that only passed fields change, which is not explicit in the schema.

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

Purpose5/5

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

The description explicitly states the verb 'Edit' and the resource 'open question', listing the changable fields (text, status, answer, linked tasks). This clearly differentiates it from sibling tools like karea_create_question and karea_answer_question.

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 modifying existing open questions but does not explicitly state when to use versus alternatives like karea_answer_question. The phrase 'Only the fields you pass change' provides partial guidance on partial updates.

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

karea_edit_taskA

Update fields of an existing task (title, status, priority, deadline, category, assignee, description, tags, or add a note) located by visual ID, name or UUID. Only the fields you pass change; the rest are left untouched. Returns the updated task.

ParametersJSON Schema
NameRequiredDescriptionDefault
slaNoNew deadline
nameNoNew task title (rename the task)
noteNoAdd a human-readable note (the user reads these). Markdown is supported (lists, **bold**, `code`, links) - use it when it makes the note more readable; plain text is also fine. For private AI cross-session working memory use karea_set_context instead.
tagsNoTags to attach. STRICT: only pass tags that already exist in this project (check karea_view_task first). Do NOT invent new tags unless the user explicitly asked for one — the API upserts by name and typos create duplicates. When unsure, omit and ask.
taskYesTask name, visual ID (C1, T2), or UUID
statusNoNew status: open, in_progress, blocked, review, done
categoryNoMove to category
markdownNoLong-form markdown content — use for investigation findings, technical/functional docs, solution design, root cause analysis. Overwrites existing markdown; read first with karea_get_markdown to append.
priorityNoNew priority
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
clearTagsNoRemove all existing tags before adding new ones
projectIdNoProject name or ID
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
descriptionNoNew description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short (a few sentences); use `markdown` for long-form docs.
jiraIssueKeyNoJIRA issue key to link (e.g. PROJ-123). Set to "unlink" to remove.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").
closingRequisitesNoClosing requisites to add. Keep each short and concrete - 1 short sentence, ideally under ~120 chars. Do NOT write paragraphs.
clearClosingRequisitesNoRemove all existing closing requisites before adding new ones

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description must disclose behavioral traits. It correctly states the partial update and returns the updated task. But it omits side effects (e.g., permission requirements, error behavior, or consequences of updating assignee/status) and does not address potential destructive actions for a tool with many mutable fields.

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 main action and key constraints. No unnecessary words; each sentence adds distinct value (purpose, location method, partial update behavior, return value).

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

Completeness3/5

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

Given 18 parameters and no output schema, the description provides a functional overview but omits several editable fields (markdown, closingRequisites, aiSessionId, jiraIssueKey) from the summary. While the schema fills gaps, the description should accurately reflect the full scope. It lacks guidance on prerequisites or order of operations for complex updates.

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%, with detailed descriptions for each parameter. The description adds a high-level list of fields but does not significantly enhance meaning beyond the schema. It reinforces the partial-update semantic but fails to mention fields like markdown, closingRequisites, session linking, etc., which are documented in schema.

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

Purpose5/5

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

The description clearly states the tool updates an existing task, lists the updatable fields (title, status, priority, etc.), and specifies how to locate the task (visual ID, name, or UUID). It distinguishes from siblings focused on creation, deletion, or specific actions like adding a note separately.

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 includes the partial-update behavior ('Only the fields you pass change'), which guides usage. However, it fails to mention when to use this tool over alternatives like karea_add_note (for adding notes) or karea_edit_note, or when not to use it. Lacks explicit context on choice among siblings.

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

karea_get_contextA

Read the task's Context — titled entries of AI working memory that hold the FULL HISTORY of a task (not just its current state): what was tried, decided, discovered, and abandoned along the way. ALWAYS read this first when picking a task up so you inherit the journey instead of re-deriving it. Each entry shows who/when/how (user or mcp) it was created and last edited. When you learn something new, ADD to the relevant entry with karea_set_context — do not overwrite the history. Distinct from notes (human-readable updates) and the markdown doc (long-form documentation).

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID (needed for visual ID lookup)

TDQS

A4.6/5.0
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses that entries show who/when/how created and edited, implies no destructive behavior, and warns against overwriting history.

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?

Efficiently structured with front-loaded purpose, usage guidance, and behavioral details. Every sentence adds value, no redundancy.

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?

No output schema, but description adequately hints at return content (entries with who/when/how). With good sibling context and usage guidelines, it is nearly complete. Minor gap: no explicit mention of return format or pagination.

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 covers both parameters with descriptions. Description does not add further parameter-specific details beyond what schema provides, so baseline 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 it reads the task's Context, a working memory holding full history. It distinguishes from siblings like notes and markdown doc, 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 Guidelines5/5

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

Explicitly advises to 'ALWAYS read this first when picking a task up' and provides guidance on when to use karea_set_context for additions, not overwrites. Also differentiates from notes and markdown doc.

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

karea_get_markdownA

Read the markdown document attached to a task. This is the task's knowledge base — it contains investigation findings, technical and functional documentation, root cause analysis, solution design, implementation notes, and any other long-form content the task has accumulated. Always read this before working on a task to avoid duplicating past research.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID (needed for visual ID lookup)

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It clearly indicates a read-only operation (reading markdown) and implies no destructive side effects. It does not detail authentication or rate limits, but for a simple read tool, the transparency is adequate.

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

Conciseness5/5

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

The description is two sentences with no filler. The first sentence states the primary action, and the second provides valuable context and usage advice. It is concise and front-loaded.

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 no output schema, yet the description does not explain the return format (e.g., markdown content as string). It covers the tool's purpose and usage well but lacks completeness regarding what the agent receives. For a simple read tool, this is a moderate gap.

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 documents both parameters. The description does not add additional meaning or syntax details beyond what the schema provides, resulting in a baseline score of 3.

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 specifically states the tool reads the markdown document attached to a task, detailing its contents (investigation findings, documentation, etc.). It distinguishes itself from sibling tools by focusing on the task's knowledge base and advising to read it before working, which clarifies its purpose.

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

Usage Guidelines4/5

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

The description provides clear guidance to 'Always read this before working on a task to avoid duplicating past research.' While it doesn't explicitly mention when not to use it or alternatives, the strong recommendation gives clear usage context.

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

karea_get_resourceA

Return a text resource with its full content and metadata, by ID. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceIdYesResource UUID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states read-only, but does not describe the return structure, error handling (e.g., missing ID), rate limits, or authentication requirements. The behavioral disclosure is minimal.

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, well-structured sentence that front-loads the action and key information. No unnecessary words.

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 read tool with one parameter and no output schema, the description is functional but lacks details on the return format and error conditions. It meets minimum viability but could be more thorough.

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% with a single parameter (resourceId) described as 'Resource UUID'. The description adds no additional semantics beyond 'by ID', so it scores baseline 3.

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 returns a text resource with full content and metadata by ID, and explicitly labels it as read-only. This distinguishes it from sibling tools like karea_list_resources, karea_create_resource, etc.

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 resource ID and want its content, but it does not explicitly state when not to use this tool or mention alternatives like karea_list_resources for browsing or karea_get_markdown for alternate formats.

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

karea_list_notesA

List the notes (human-readable updates) on a task, newest first. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description adds 'Read-only' which is a key behavioral trait. However, it does not disclose other behaviors like pagination, error handling, or authentication needs, leaving some gaps for a complete understanding.

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 with two key points, no redundancy, and front-loads the purpose. Every word adds value.

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

Completeness4/5

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

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description covers purpose, ordering, and read-only nature. It lacks details on return format but is sufficient for a list operation.

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% and both parameters have clear descriptions. The tool description adds minimal extra meaning beyond the schema, aligning with the baseline 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's purpose: listing notes (human-readable updates) on a task, ordered newest first, and read-only. It distinguishes from sibling tools like karea_add_note or karea_delete_note.

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 indicates when to use this tool (to view notes) and implies it is read-only. It does not explicitly mention alternatives or when not to use, but the context is clear for a list operation vs. other note operations.

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

karea_list_projectsA

List all Karea projects with their IDs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden. It accurately implies a read-only operation via 'List', which is sufficient. No side effects or scope constraints are detailed, but the operation is straightforward.

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 front-loads the purpose with no wasted words. Every word earns its place.

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

Completeness5/5

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

Given zero parameters, no output schema, and a simple list operation, the description is fully complete. It tells the agent exactly what to expect.

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 no parameters, so the description need not provide parameter details. The schema coverage is 100% (empty), meeting the baseline for zero params.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'Karea projects' with what is returned ('with their IDs'). It effectively distinguishes from sibling tools that list other entities like notes, tasks, or resources.

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 implicitly indicates when to use this tool (to get a list of projects). While there is no explicit when-not-to-use or alternatives, the simple nature of the operation and the context of sibling tools make the usage clear.

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

karea_list_questionsA

List open questions (unresolved decisions or blockers) in a project, newest first. Defaults to status open; pass status to include answered, cancelled or all. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status: open, answered, cancelled, all (default: all)
projectIdNoProject name or ID

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses the read-only nature, default status, ordering, and available filters. This provides good behavioral context, though missing info on pagination or rate limits.

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 concise sentences, front-loaded with the core action, and contains no unnecessary words. Every sentence adds value.

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

Completeness3/5

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

The description lacks explanation of output fields or return value structure, which is important since no output schema exists. It covers ordering and filters, but for a list tool, more detail on returned data is needed for complete context.

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 baseline is 3. The description adds context about status filter options ('open, answered, cancelled, all') and default behavior. However, it contradicts the schema's default for status (description says 'open', schema says 'all'), which reduces reliability.

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 specifies the verb 'list', the resource 'questions', the scope 'in a project', and ordering 'newest first'. It also mentions default status and filters, distinguishing it from sibling tools like karea_create_question and karea_answer_question.

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

Usage Guidelines4/5

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

The description explicitly explains the default status and how to pass other statuses ('open, answered, cancelled, all'). It also states the tool is read-only. However, it does not compare to other list tools like karea_list_tasks, but given the specific resource, usage is clear.

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

karea_list_resourcesA

List resources (text notes & files). With a projectId it returns every resource belonging to that project - whether assigned to it directly, linked to one of its tasks, or filed under a folder named after the project (e.g. knowledge-base docs). Omit projectId to list all your resources, including unfiled ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject name or ID. Omit to list ALL your resources (including unfiled / knowledge-base items not tied to any task).

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, but the description discloses the inclusion logic (directly assigned, linked to tasks, filed under folders) and mentions unfiled resources. This adds context beyond the schema's parameter description.

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

Conciseness5/5

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

Two concise sentences. First sentence states the purpose. Second sentence explains both modes. No filler. Front-loaded with key 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 a single optional parameter and no output schema, the description covers both usage modes and inclusion criteria. It does not mention pagination or return format, but these are not critical for this simple list tool.

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

Parameters4/5

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

The schema already describes projectId with 100% coverage. The description adds meaning by explaining what 'belonging to that project' entails (direct assignment, task links, folder names). This adds value beyond the schema.

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

Purpose5/5

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

Description clearly states 'List resources (text notes & files)' and explains the behavior with and without projectId. It distinguishes from siblings like karea_list_notes and karea_get_resource by specifying the scope and inclusion criteria.

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?

Provides clear guidance on when to use projectId vs omit it. However, it does not explicitly compare with sibling tools like karea_list_notes or karea_get_resource, though the behavior differentiation is implied.

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

karea_list_sessionsA

List AI coding sessions linked to a task (provider, sessionId, label, last active, resume command). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID (helps resolve visual IDs)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It declares 'Read-only' and lists output fields, but lacks details on pagination, ordering, error handling, or authorization requirements. Basic safety is covered but not comprehensive.

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: first states purpose and fields, second states read-only nature. No extraneous text, front-loaded with key 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 tool's simplicity (2 params, no nested objects, no output schema), the description covers purpose, input format, return fields, and safety. Missing details like ordering (e.g., by last active) or default behavior when projectId omitted, but largely 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 covers both parameters with descriptions. The description adds meaningful context: acceptable formats for 'task' (name, visual ID, UUID) and the role of 'projectId' for resolving visual IDs. This goes beyond the schema's basic 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 uses the specific verb 'List' and resource 'AI coding sessions linked to a task', and explicitly enumerates returned fields (provider, sessionId, etc.). It clearly distinguishes from sibling list tools (e.g., karea_list_tasks) and related tools like karea_link_session.

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 needing to retrieve sessions associated with a task, but provides no explicit guidance on when not to use it or alternatives. No mention of comparing with karea_link_session/unlink_session or other list tools.

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

karea_list_subtasksB

List subtasks of a parent task. Accepts the parent by visual ID, name, or UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesParent task name, visual ID (KPL77, C1), or UUID
projectIdNoProject name or ID (needed if parent is a visual ID)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It mentions parameter flexibility but does not state whether the operation is read-only, if it modifies anything, or any constraints. Lack of behavioral details (e.g., paging, sorting, return format) leaves the agent uncertain.

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

Conciseness5/5

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

Single sentence, front-loaded with the primary action, no extraneous words. Every word conveys essential information.

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?

Lacks details on output (e.g., format of listed subtasks), prerequisites (e.g., parent must exist), and any potential side effects. For a tool with no output schema, more context is needed to fully prepare the 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?

The input schema already describes both parameters. The tool description adds minimal context ('Accepts the parent by visual ID, name, or UUID') which is already in the schema. With 100% schema coverage, baseline is 3 and no extra value is added.

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 (list subtasks) and the target (parent task), and specifies acceptable input types (visual ID, name, UUID). It distinguishes from sibling tools like karea_list_tasks which lists all tasks.

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 context (when you need subtasks of a specific parent), but does not explicitly state when not to use it or compare with alternatives like karea_list_tasks or karea_create_subtask.

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

karea_list_tasksA

List tasks in a project. Defaults to open tasks (open, in_progress, blocked, review, backlog) capped at 200 to keep responses small. To see closed tasks pass status="done" and optionally closedSince (e.g. "14d", "7d", "24h"). To list everything, pass status="all".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax tasks to return (default 200, cap 1000).
statusNoFilter by status: open, in_progress, blocked, review, backlog, done, cancelled. Comma-separated allowed (e.g. "open,in_progress"). "all" returns every status.
projectIdNoProject name or ID (omit for default project)
closedSinceNoOnly return tasks closed since this window. Relative (e.g. "14d", "7d", "24h") or ISO date. Implies status=done unless status is set.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses default filtering, limit cap, and closedSince behavior, but does not mention read-only nature, authentication needs, or response format. Adequate but not comprehensive.

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

Conciseness5/5

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

Two sentences with no fluff. Front-loaded with the main purpose, followed by succinct usage variations.

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 absence of an output schema and moderate complexity (4 params, no nested objects), the description covers usage well. It could mention that the response is a list of tasks, but the default cap and filtering options are well explained.

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% with good parameter descriptions. The tool's description adds value by explaining default values, the implication of closedSince (implies status=done), and allowed value formats (e.g., relative dates).

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 'List tasks in a project' with specific verb and resource. It distinguishes from sibling tools like create, close, or view task by focusing on listing and filtering capabilities.

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?

Provides explicit guidance on defaults (open tasks, capped at 200), how to see closed tasks (status='done' and closedSince), and how to list everything (status='all'). Does not explicitly state when not to use, but the context is clear.

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

karea_quick_taskA

Log something you already finished as a done task (it shows up in Recap) and return it. Status is always done; relative-time params set when it happened. For in-progress work use karea_doing instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoWhere it happened
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
descriptionYesWhat you did
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A4.6/5.0
Behavior4/5

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

Despite no annotations, the description discloses key behavior: status is always done, relative-time params set timing, and the tool returns the task. It could mention return format or side effects, but overall adequate.

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

Conciseness5/5

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

Two sentences plus sibling reference, all essential. Front-loaded with purpose and key behavior, no wasted words.

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?

Covers purpose, usage, and key behavior for a 6-param tool with no output schema. Omits specifics of 'relative-time params' but overall sufficient for correct 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?

Schema coverage is 100%, but the description adds meaning: it contextualizes parameters (status always done, relative-time params) and explains the aiSessionId+toolType combo saves a round-trip. This goes beyond basic schema explanations.

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 logs a completed task ('Log something you already finished as a done task') and distinguishes it from siblings like karea_doing ('For in-progress work use karea_doing instead').

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

Usage Guidelines5/5

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

Explicitly tells when to use (for finished tasks) and when not to (in-progress work) with a direct alternative: 'For in-progress work use karea_doing instead.'

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

karea_recapA

Return a summary of recent activity (tasks created, closed and updated) over a recent time window. Read-only; handy for standups and reviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNoHours to look back (default 24)
projectIdNoProject name or ID

TDQS

A4.3/5.0
Behavior4/5

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

Explicitly states 'Read-only', which is the key behavioral trait. Annotations are absent, so the description carries full burden. No mention of auth or rate limits, but for a simple read operation the disclosure is adequate.

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

Conciseness5/5

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

Two sentences, no waste. The first sentence conveys purpose and scope; the second adds behavioral and usage context. Efficiently front-loaded.

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

Completeness5/5

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

Given the tool's simplicity (2 optional params, no output schema), the description covers purpose, behavior, and usage. No gaps remain; it is fully complete for its complexity.

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 both parameters (hours, projectId) described. The description adds 'recent time window' which aligns with hours, but does not significantly enhance understanding beyond the schema. Baseline 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?

Clearly states the tool returns a summary of recent activity (tasks created, closed, updated) over a time window. The verb 'Return a summary' and the specific resource 'recent activity' are explicit. It distinguishes well from sibling tools which focus on individual CRUD operations.

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?

Describes the tool as handy for standups and reviews, giving clear usage context. Does not explicitly state when not to use or provide alternatives, but the purpose is sufficiently distinct among siblings.

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

karea_set_contextA

Write a titled entry of the task's Context — the AI-facing cross-session working memory. Context tracks the FULL HISTORY of a task, not just its current state: what was tried, what worked, what failed, what was decided and why. Update incrementally so the journey is preserved (never overwrite the whole entry with "current status" — read first with karea_get_context, append/refine, then write back). Context is your DEFAULT save target: after every plan, finding, decision, or gotcha, persist it here proactively under titles like "Plan", "Findings", "Decisions", "Gotchas", "Attempted". Upserts by title: same title overwrites THAT entry only; other entries are untouched. Pass empty context to delete the entry. Use karea_add_note only for human-facing updates and karea_set_markdown for long-form docs — but keep Context up to date either way.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
titleNoEntry title (e.g. "Plan", "Findings", "Decisions"). Defaults to "General".
contextYesThe full content for this entry. Pass empty string to delete the entry.
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID (needed for visual ID lookup)
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A4.8/5.0
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses key behaviors: upsert by title, deletion via empty context, incremental update workflow. Also mentions session linking via toolType and aiSessionId parameters. Does not contradict any structured data.

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?

Front-loaded with core purpose, then expands into detailed usage. Each sentence adds value, but length is substantial (~170 words). For a tool with complex semantics, the thoroughness is acceptable; minor deduction for not being tighter.

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

Completeness5/5

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

Given 7 parameters (2 required) and no output schema, the description is highly complete. It explains the tool's role in the context system, when to use it, how to update incrementally, deletion behavior, and contrasts with siblings. No obvious gaps for an AI agent to invoke correctly.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds contextual meaning beyond schema: explains that context tracks full history, describes the incremental update model, and clarifies the relationship between parameters (e.g., toolType required with aiSessionId). This extra context raises the score.

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 writes a titled entry to a task's Context, the AI-facing cross-session working memory. It uses specific verbs and resources ('Write a titled entry of the task's Context') and distinguishes itself from siblings by contrasting with karea_add_note (human-facing) and karea_set_markdown (long-form docs).

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

Usage Guidelines5/5

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

Explicit guidance on when to use: after every plan, finding, decision, or gotcha. Provides alternatives: use karea_add_note for human updates, karea_set_markdown for long-form docs. Also instructs to read first with karea_get_context before writing. No exclusions but clear prioritization.

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

karea_set_markdownA

Write the markdown document for a task. Overwrites any existing content. Use this to persist: investigation findings and research, technical documentation (architecture, APIs, schemas), functional documentation (requirements, acceptance criteria, user flows), root cause analysis and debugging logs, solution design — planned or implemented, risks, trade-offs, and open questions. This is the single source of truth for everything learned about this task. Always append to existing content (read first with karea_get_markdown) rather than replacing it, unless restructuring.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
markdownYesThe full markdown content to store on the task. Pass empty string to clear.
toolTypeNoOptional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.
projectIdNoProject name or ID (needed for visual ID lookup)
aiSessionIdNoOptional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claude Code use the id from `claude --resume`.
sessionLabelNoOptional short label for the linked session (e.g. "Feature draft").

TDQS

A4.3/5.0
Behavior4/5

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

Clearly states 'Overwrites any existing content' and that it is the single source of truth. With no annotations, the description effectively conveys the write operation behavior.

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?

Front-loaded with main action and overwriting caveat. Lists use cases efficiently, though slightly longer than minimal.

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?

Covers purpose, usage, behavioral traits, and parameter hints. No output schema, but the description provides sufficient context for a write 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 covers all 6 parameters with 100% coverage. Description adds usage guidance but not significant parameter-level detail beyond schema.

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

Purpose5/5

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

Clearly states the verb 'Write' and resource 'markdown document for a task'. Distinguishes from sibling karea_get_markdown by specifying overwrite and listing specific use cases.

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

Usage Guidelines5/5

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

Explicitly instructs to read first with karea_get_markdown and append unless restructuring. Provides clear contexts like investigation findings, technical docs, etc.

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

karea_share_projectB

Give another user access to a project by email at a chosen role (owner, editor, commenter or viewer). Records the share so that user can see and, per role, edit the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoRole to assign (default: editor)
emailYesUser email to share with
projectYesProject name

TDQS

B3.1/5.0
Behavior3/5

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

Discloses that sharing is recorded and gives roles-based visibility/edit capability. Without annotations, more behavioral details would be beneficial (e.g., whether owner can be changed, if email must exist, default role). The role discrepancy with schema undermines trust.

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?

Two sentences covering main action and effect. No extraneous text. Could be slightly improved by aligning roles with schema and noting default.

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

Completeness2/5

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

No output schema; description does not mention return value or success/failure indicators. Missing info on permissions or preconditions. For a sharing action, this is insufficient context.

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 covers 100% of parameters with descriptions, so baseline 3. But description adds a role ('commenter') not in schema, which contradicts and may mislead. No additional semantic info beyond schema for other params. Deduction for error.

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 clearly states the action (give access), resource (project), and means (by email at chosen role). It distinguishes from siblings as the only sharing tool. However, it mentions 'commenter' as a role but schema only includes owner, editor, viewer, causing slight 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?

Implies usage for sharing projects, but no explicit guidance on when not to use or alternatives. No context about prerequisites (e.g., must be project owner). Adequate but not prescriptive.

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

karea_toggle_requisiteA

Mark a closing requisite complete or incomplete, by ID. This affects whether karea_close_task warns about unmet requisites.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
completedYestrue to complete, false to uncomplete
projectIdNoProject name or ID
requisiteIdYesRequisite UUID (from karea_view_task)

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the toggle action and effect on karea_close_task, but lacks details on error handling, permissions, or side effects.

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?

Extremely concise: two sentences with no filler. First sentence states the core action, second provides contextual impact. Excellent front-loading.

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 toggle tool with no output schema, the description covers the essential action and effect. However, it does not mention return values, error cases, or that projectId is optional (though schema handles that).

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%, meeting baseline. The description adds minimal parameter context beyond the schema (e.g., 'by ID' which is already in 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?

Description clearly states the action (mark complete/incomplete), the resource (closing requisite by ID), and the impact on karea_close_task. This distinguishes it from siblings like karea_add_requisite or karea_delete_requisite.

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

Usage Guidelines3/5

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

The description implies usage for toggling requisites before closing a task, but does not explicitly state when to use this tool versus alternatives, nor when not to use it.

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

karea_update_resourceA

Overwrite a text resource content and/or metadata, by ID, and return the updated resource. Replaces the existing content rather than appending.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name
folderNoMove to folder
contentNoNew text content
resourceIdYesResource UUID

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses that content is replaced, not appended, which is key. However, it does not mention the ability to move the resource to a different folder (via folder parameter) or error handling. With no annotations, more behavioral context would be beneficial.

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 with two sentences, each adding distinct information: the action and the replacement behavior. No redundant text.

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 description covers the main purpose but lacks details on partial updates (unspecified fields remain unchanged), error cases, and the structure of the returned resource. Given no output schema, more completeness would be helpful.

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 basic parameter descriptions. The description adds value by clarifying the replacement semantics for content, beyond the schema's 'New text content'.

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 (overwrite), the resource (text resource), and the scope (content and/or metadata). It distinguishes from siblings like create_resource (create new) and get_resource (read only) by specifying update by ID.

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 (to update an existing resource) but does not explicitly mention alternatives or when not to use it. No guidance on prerequisites or exclusions.

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

karea_upload_resourceB

Upload a binary file as a resource (base64-encoded)

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesBase64-encoded file content
nameYesFile name with extension (e.g. report.pdf)
folderNoFolder path to organize the resource
taskIdNoTask UUID to link the resource to
mimeTypeNoMIME type (e.g. application/pdf). Auto-detected if omitted.

TDQS

B3.1/5.0
Behavior2/5

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

Only states basic operation; no annotations provided, so description should cover behavioral traits but fails to mention size limits, overwrite behavior, authentication, 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.

Conciseness4/5

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

Single sentence, very concise, no wasted words. However, could be expanded with useful details without being verbose.

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?

Given 5 parameters, no output schema, and no annotations, the description is too minimal. Doesn't explain return value, constraints, or post-upload actions.

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 baseline is 3. Description adds no additional meaning beyond parameter descriptions in schema.

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

Purpose5/5

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

Clearly states 'Upload a binary file as a resource (base64-encoded)', specifying verb, resource, format, and distinguishing from siblings like 'create_resource'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'create_resource' or 'update_resource'. No context on prerequisites or exclusions.

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

karea_view_taskA

Return one task with all its details (status, priority, deadline, category, description, notes, requisites, links), located by visual ID, name or UUID. Pass includeContext=true to also inline the task's AI Context in the response — avoids a follow-up karea_get_context round-trip. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask name, visual ID (C1, T2), or UUID
projectIdNoProject name or ID (needed for visual ID lookup)
includeContextNoIf true, inline the task's AI Context (cross-session working memory) in this response. Default false; when false, the response instead hints that Context exists and can be fetched with karea_get_context.

TDQS

A4.4/5.0
Behavior4/5

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

Declares read-only nature, lists returned fields, and explains the behavior of includeContext parameter (inlines context vs. hints at existence). No contradictions with annotations (none provided).

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

Conciseness5/5

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

Two concise sentences, no wasted words. Front-loaded with main purpose, followed by key option. Every sentence is informative.

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?

Lists main fields returned, adequate for a read tool. No output schema, but description compensates. Slight gap: could mention if projectId is required for visual IDs, but schema already clarifies.

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

Parameters4/5

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

Schema has 100% coverage, but description adds context: explains that task can be visual ID, name, or UUID, and describes the effect of includeContext. Adds value beyond schema.

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

Purpose5/5

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

Clearly states it returns one task with full details, lists specific fields, and explains how to locate the task by visual ID, name, or UUID. Distinguishes from karea_get_context by offering an option to inline AI context.

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?

Provides when to use (need full details of a single task) and when to use includeContext to avoid a separate call. Implicitly differentiates from list tools by specifying 'one task'. Could be improved with explicit when-not-to-use.

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

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a distinct and well-documented purpose. Descriptions explicitly clarify boundaries (e.g., karea_add_note vs. karea_set_context, karea_create_task vs. karea_doing vs. karea_quick_task), making it easy to differentiate even among many tools.

Naming Consistency5/5

All tools follow the consistent pattern 'karea_verb_noun' using snake_case, e.g., list_tasks, create_project, delete_resource. Minor exceptions like 'karea_doing' and 'karea_done' are still intuitive and fit the overall style.

Tool Count2/5

At 49 tools, the server feels overloaded. While each tool serves a specific purpose, the count significantly exceeds the typical well-scoped range of 3-15 tools, making the surface heavy and harder for an agent to navigate efficiently.

Completeness5/5

The toolset covers nearly every expected operation for a task management system: full CRUD for tasks, projects, categories, notes, resources, questions, and requisites, plus context/markdown management, Jira integration, session linking, and bulk actions. No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A task management MCP server that provides tools to create, list, complete, and delete tasks using pluggable storage backends. It enables users to interact with their task lists through natural language using MCP-compatible clients like Claude Desktop.
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local task management MCP server that enables users to create, update, and manage tasks through natural language conversations with Claude. It provides nine tools for comprehensive task management including creation, filtering, searching, and daily planning without requiring a separate UI or backend service.
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for managing Kaiten tasks through AI agents like Claude, enabling task retrieval, creation, updating, and time logging.
    644
    2
    MIT

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/starecz/karea-mcp'

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