Skip to main content
Glama

dart-query

MCP server for Dart AI task management, optimized for batch operations and minimal context usage.

Instead of looping through tasks one-by-one (filling your context window with intermediate JSON), dart-query uses DartQL selectors and server-side batch operations to update hundreds of tasks in a single call. A 50-task update that would normally consume ~30K tokens takes ~200 tokens with zero context rot.

Quick Start

1. Get Your Dart AI Token

Visit https://app.dartai.com/?settings=account and copy your token (starts with dsa_).

2. Configure MCP

npx (recommended)

{
  "mcpServers": {
    "dart-query": {
      "command": "npx",
      "args": ["-y", "@standardbeagle/dart-query"],
      "env": {
        "DART_TOKEN": "dsa_your_token_here"
      }
    }
  }
}

SLOP-MCP (v0.10.0+)

slop register dart-query \
  --command npx \
  --args "-y" "@standardbeagle/dart-query" \
  --env DART_TOKEN=dsa_your_token_here \
  --scope user

3. Verify

info({ level: "overview" })

4. Example: Batch Update

// Preview first
batch_update_tasks({
  selector: "dartboard = 'Engineering' AND priority = 'high'",
  updates: { status: "Doing" },
  dry_run: true
})

// Execute
batch_update_tasks({
  selector: "dartboard = 'Engineering' AND priority = 'high'",
  updates: { status: "Doing" },
  dry_run: false
})

Related MCP server: MCP Tasks

Tools

Group

Tools

Purpose

Discovery

info, get_config

Explore capabilities, workspace config

Task CRUD

create_task, get_task, update_task, delete_task, add_task_comment

Single task operations

Query

list_tasks, search_tasks

Find tasks with filters or full-text search

Batch

batch_update_tasks, batch_delete_tasks, get_batch_status

Bulk operations with DartQL selectors

Import

import_tasks_csv

Bulk create from CSV with validation

Docs

list_docs, create_doc, get_doc, update_doc, delete_doc

Document management

See TOOLS.md for full parameter references, DartQL syntax, and CSV import format.

DartQL Selectors

SQL-92 WHERE clause syntax for targeting tasks in batch operations:

dartboard = 'Engineering' AND priority = 'high' AND tags CONTAINS 'bug'
due_at < '2026-01-18' AND status <> 'Done'
title LIKE 'Task%'                          -- starts with
title LIKE '%auth%'                         -- contains substring

Operators: =, !=, <>, >, >=, <, <=, LIKE, IN, NOT IN, BETWEEN, IS NULL, IS NOT NULL, CONTAINS Aliases: INCLUDES/HASCONTAINS · <>!= LIKE wildcards: % = any characters, _ = single character (case-insensitive)

Safety

All Dart AI operations are production (no sandbox). dart-query provides:

  • Dry-run mode on all batch operations — preview before executing

  • Validation phase for CSV imports — catch errors before creating anything

  • Confirmation flag (confirm: true) required for batch deletes

  • Recoverable deletes — tasks move to trash, not permanent deletion

License

MIT

Available Tools

25 tools
add_task_commentA

Add a comment to a task for status updates, AI rationale, or notes. Supports markdown formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")
textYesComment text (markdown supported)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, and the description lacks behavioral details such as whether comments are appended, permissions needed, or return value. It only states the action without deeper context.

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 extremely concise, one sentence plus a fragment, front-loading the purpose without superfluous 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 2-parameter tool with good schema coverage, the description is contextually complete enough to understand usage, though it omits behavioral details like idempotency or response.

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 already describes both parameters well. The description adds no new parameter meaning beyond noting markdown support, which is already 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 clearly states the tool adds a comment to a task, specifying use cases (status updates, AI rationale, notes) and distinguishing it from siblings like list_comments.

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 suggests use cases but does not explicitly guide when to use this tool versus alternatives like update_task or list_comments, nor mention prerequisites like task existence.

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

add_time_trackingB

Add a time tracking entry to a task. Supports started_at/finished_at or duration_minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")
started_atYesStart time in ISO8601 format (e.g., 2026-01-25T10:00:00Z)
finished_atNoEnd time in ISO8601 format (optional if duration_minutes provided)
duration_minutesNoDuration in minutes (optional if finished_at provided)
noteNoOptional note about the time entry

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states that the tool 'supports' two time input methods, but does not reveal side effects (e.g., whether the task is modified), error handling, or return values. Behavior is largely inferred from the name and schema.

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 very concise, using two sentences that front-load the core purpose and key usage pattern. Every sentence is necessary and contributes to understanding.

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?

The description lacks information about return values, error cases, and confirmation of successful creation. Given the tool has no output schema, the description should cover such aspects, but it does not, leaving the agent guessing about post-invocation 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?

The input schema has 100% description coverage, so baseline is 3. The description summarizes the two input modes, which is already in the schema, so it adds minimal additional 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 action ('Add') and the resource ('time tracking entry to a task'), making the tool's purpose unambiguous. It also mentions the two supported input patterns (started_at/finished_at or duration_minutes), which further clarifies functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus other sibling tools (e.g., add_task_comment, update_task). It does not mention prerequisites, alternatives, or context for choosing this tool over others.

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

attach_urlA

Attach a file from URL to a task. URL must be publicly accessible.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")
urlYesPublic URL of file to attach
filenameNoOptional filename override

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses that the URL must be publicly accessible, a key behavioral trait. However, with no annotations, it lacks details on failure modes, authentication, or rate limits. It meets the minimum but doesn't fully cover behavioral aspects.

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 with no wasted words. It is front-loaded with the core action and includes an important constraint second. Every sentence is necessary.

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 no annotations and no output schema, the description covers the essential purpose and constraint but does not mention return values or error handling. For a simple tool, it is minimally complete but lacks some 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%, so baseline is 3. The description adds value by specifying that the URL must be publicly accessible, which is not in the parameter description. This extra constraint enhances semantics 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?

The description clearly states the tool's action: attaching a file from a URL to a task. The verb 'attach' and resource 'file from URL to a task' are specific, and the constraint 'URL must be publicly accessible' adds clarity. It distinguishes from sibling tools like add_task_comment.

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 attaching publicly accessible files but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. No exclusions or alternatives are mentioned.

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

batch_delete_tasksA

[Deprecated: use execute_dartql] Batch delete multiple tasks matching a DartQL selector. MOST DANGEROUS OPERATION! CRITICAL: dry_run defaults to true, confirm=true REQUIRED when dry_run=false. Tasks move to trash (recoverable).

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesDartQL WHERE clause (SQL-92 syntax). Operators: =, !=, <>, <, >, <=, >=, LIKE, IN, NOT IN, BETWEEN, IS NULL, CONTAINS. Use LIKE with % and _ wildcards for pattern matching.
dry_runNoPreview mode (default: true). Set to false to execute deletions.
confirmNoREQUIRED when dry_run=false. Safety confirmation for deletions.
concurrencyNoParallel deletions (default: 5, range: 1-20)

TDQS

A4.6/5.0
Behavior4/5

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

Discloses that the operation is 'MOST DANGEROUS' and that tasks move to trash (recoverable). Without annotations, the description provides key behavioral context, though it could detail concurrency 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?

Extremely concise single sentence with front-loaded deprecation warning. Every phrase adds value (danger, defaults, safety, recovery), 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 dangerous batch operation with no output schema, the description covers purpose, safety, deprecation, and recovery. Lacks details on concurrency or return values, but essential context is present.

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?

Input schema covers all 4 parameters with descriptions (100% coverage). The description adds critical usage semantics: dry_run defaults to true and confirm is required when dry_run=false, going 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 states 'Batch delete multiple tasks matching a DartQL selector' and notes deprecation with alternative 'execute_dartql', clearly distinguishing from sibling tools like 'delete_task' (single) and 'batch_update_tasks'.

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 mentions deprecation and provides alternative ('use execute_dartql'). Also gives critical safety instructions: dry_run defaults to true and confirm=true required when dry_run=false, guiding correct usage.

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

batch_update_tasksA

[Deprecated: use execute_dartql] Batch update multiple tasks matching a DartQL selector. Supports all task fields including relationships. CRITICAL: Always use dry_run=true first to preview changes!

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesDartQL WHERE clause (SQL-92 syntax). Operators: =, !=, <>, <, >, <=, >=, LIKE, IN, NOT IN, BETWEEN, IS NULL, CONTAINS. Use LIKE with % and _ wildcards for pattern matching (e.g., "title LIKE 'Task%'")
updatesYesFields to update (partial DartTask object). Relationship arrays use full replacement semantics - set to [] to clear.
dry_runNoPreview mode (default: true). Set to false to execute updates.
concurrencyNoParallel updates (default: 5, range: 1-20)

TDQS

A3.9/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 the full burden. It warns about destructive behavior (batch update) and emphasizes dry_run. It mentions full replacement semantics for relationships but lacks details on rate limits, partial failures, or auth requirements.

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 very concise with three sentences. It front-loads the deprecation and alternative, then states the function, and ends with a critical warning. 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 tool is complex (batch update with relationships, multiple parameters) and has no output schema. The description does not mention return values (e.g., count of updated tasks, errors). It covers the deprecation and safety but lacks completeness about behavior post-execution.

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

Parameters3/5

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

Schema description coverage is 100% and the schema itself provides detailed parameter descriptions. The description adds value by summarizing that it 'Supports all task fields including relationships' and reiterates the dry_run criticality, but does not add new meaning 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?

The description clearly states the tool is deprecated and recommends execute_dartql as an alternative. It specifies 'Batch update multiple tasks matching a DartQL selector', which is a specific verb and resource, and distinguishes from siblings like execute_dartql.

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 an explicit alternative (execute_dartql) and a critical safety guideline ('Always use dry_run=true first to preview changes!'). However, it does not elaborate on when not to use this tool beyond deprecation.

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

create_docB

Create a new document with title, text (markdown supported), and optional folder

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDocument title
textYesDocument text content (markdown supported)
folderNoFolder dart_id or name (optional)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose more behavioral traits (side effects, permissions, error handling). It only mentions markdown support and optional folder, leaving gaps.

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

Conciseness5/5

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

Single sentence, no extraneous words, efficient.

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

Completeness3/5

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

Adequate for a simple creation tool but missing return value information; no output schema so description should hint at what is returned.

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 parameters (100%), so description adds modest value by noting markdown support for text; otherwise redundant.

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 creates a new document with specific fields (title, text, folder), distinguishing it from siblings like update_doc and delete_doc.

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; no prerequisites or exclusions mentioned.

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

create_taskA

Create a new task with title, description, status, priority, size, dates, dartboard, assignees, tags, and task relationships (subtasks, blockers, related tasks)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTask title (max 500 chars)
descriptionNoTask description (markdown supported)
dartboardYesDartboard dart_id (use get_config to find)
statusNoStatus name or dart_id
priorityNoPriority 1-5 (1=lowest, 5=highest)
sizeNoSize estimate 1-5
assigneesNoArray of assignee dart_ids
tagsNoArray of tag dart_ids
due_atNoDue date (ISO8601)
start_atNoStart date (ISO8601)
parent_taskNoParent task dart_id for subtasks
subtask_idsNoIDs of tasks that are subtasks (children) of this task. Each ID must be a valid dart_id format.
blocker_idsNoIDs of tasks that block this task from being started or completed. Each ID must be a valid dart_id format.
blocking_idsNoIDs of tasks that this task is blocking. Each ID must be a valid dart_id format.
duplicate_idsNoIDs of tasks that are duplicates of this task. Each ID must be a valid dart_id format.
related_idsNoIDs of tasks that are related to this task (loosely connected). Each ID must be a valid dart_id format.
commentNoOptional comment to add after creating the task (non-blocking)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided; description carries full burden. It notes the optional comment is non-blocking, which is helpful, but omits side effects like validation, permission requirements, or behavior on failed relationships. 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.

Conciseness4/5

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

Single sentence efficiently lists all capabilities without verbosity. Front-loaded with action and key parameters. Slightly long but each part is necessary, so 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?

Description covers all parameter categories but lacks return value information (no output schema). For a creation tool with 17 parameters, it is complete in scope but could benefit from stating what is returned (e.g., task ID). Adequate but not 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%, so baseline is 3. Description groups parameters (e.g., 'dates') but adds minimal new meaning beyond the schema's individual descriptions. It doesn't explain parameters not in schema (none), so score remains baseline.

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 'Create a new task' with a comprehensive list of attributes, making the purpose explicit and specific to task creation. It distinguishes from sibling tools like update_task or add_task_comment by focusing on creation with all supported fields.

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?

No explicit guidance on when to use this tool versus alternatives. For a creation tool, context is implied but not stated. Siblings like batch_create are absent, so missing guidance on when to prefer single vs batch creation.

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

delete_docA

Delete a document (moves to trash - recoverable via Dart web UI)

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYesDocument doc_id to delete

TDQS

A3.8/5.0
Behavior3/5

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

The description adds the important behavioral detail that deletion moves the document to trash (recoverable via web UI), which is beyond the schema. However, it lacks information on permissions, idempotency, or error handling, which would be expected for a mutation tool 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?

The description is a single, efficient sentence that conveys the essential information without waste. The key behavior (move to trash) is 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 tool's simplicity (one parameter, no output schema) and the sibling context, the description is fairly complete. It explains the recovery behavior, which is crucial. Minor gaps include not addressing error cases or concurrency, but overall adequate.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for the one parameter 'doc_id'. The tool description does not add additional semantic meaning beyond what the 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 the action ('Delete') and the resource ('a document'), and adds the specific behavior of moving to trash rather than permanent deletion, distinguishing it from other tools.

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 deleting documents but does not explicitly state when to use this tool versus alternatives like batch_delete or updating a document to mark it inactive. No exclusions or context are provided.

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

delete_taskA

Delete a task (moves to trash - recoverable via Dart web UI)

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")

TDQS

A4/5.0
Behavior4/5

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

The description reveals that deletion moves to trash and is recoverable via Dart web UI, which is valuable behavioral context beyond the schema. However, it lacks info on permissions, idempotency, 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 a single, well-structured sentence with no unnecessary words. It conveys the core action and key behavioral trait efficiently.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description adequately covers purpose and recoverability. However, it could mention the return value (e.g., success message or error) 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% for the single parameter, and the description does not add additional meaning; it only restates the parameter name. Baseline score is appropriate as schema already documents the 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 'Delete a task' with the additional detail that it moves to trash and is recoverable, which distinguishes it from batch delete or other operations.

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 deleting a task but provides no guidance on when to use this tool versus batch_delete_tasks or alternatives, nor any prerequisites or exclusions.

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

execute_dartqlA

Execute DartQL UPDATE/DELETE statements. Supports template vars {field}, array literals, comments, and multi-statement (;). Dry-run by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDartQL statement(s) using SQL-92 WHERE syntax. Operators: =, !=, <>, LIKE '%pattern%', IN, BETWEEN, IS NULL, CONTAINS. Examples: UPDATE WHERE status = 'Todo' SET status = 'Done'; UPDATE WHERE title LIKE 'Task%' SET status = 'Done'
dry_runNoPreview mode (default: true). Set to false to execute.
concurrencyNoParallel operations per statement (default: 5, range: 1-20)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the dry-run default and supports features like template vars and multi-statement, but does not describe return values, error handling, or atomicity. This is adequate but not thorough.

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 two sentences, front-loaded with the purpose, and concise. It conveys key points efficiently, though a slightly more structured format could improve readability.

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 moderate complexity and no output schema, the description omits return values (e.g., affected row count) and error behavior. For a destructive tool, safety is noted (dry-run) but completeness is lacking.

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 context about dry-run default and query syntax features, but does not substantially augment 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?

The description clearly states the tool executes DartQL UPDATE/DELETE statements, specifying its core purpose. It also lists supported features (template vars, array literals, comments, multi-statement), distinguishing it from sibling tools that perform 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 Guidelines3/5

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

The description mentions dry-run by default and supports multi-statement, but it does not provide explicit guidance on when to use this tool over siblings like batch_update_tasks or update_task. Usage context is implied but not directly compared.

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

get_batch_statusA

Retrieve status of a batch operation (update, delete, import, or dartql) by batch_operation_id. Operations are kept in memory for 1 hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_operation_idYesBatch operation ID returned from batch_update_tasks, batch_delete_tasks, or import_tasks_csv

TDQS

A4.2/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 full burden. It discloses the important behavioral trait that operations are kept in memory for 1 hour, adding value beyond the schema.

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 and required parameter, second adds a critical time constraint. 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 retrieval tool with one parameter and no output schema, the description is fairly complete. It includes the time limit, though it could mention the response format.

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

Parameters3/5

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

The schema has 100% coverage for the single parameter, describing its origin. The description does not add additional meaning 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 'Retrieve' and the resource 'status of a batch operation', distinguishing it from sibling tools like batch_update_tasks, batch_delete_tasks, and import_tasks_csv.

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 after batch operations by referencing the batch_operation_id returned from other tools, but does not explicitly state when not to use it or list alternatives.

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

get_configA

Get workspace configuration: assignees, dartboards, statuses, tags, priorities, sizes

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_bustNoForce refresh cached config (default: 5-minute cache)
includeNoLimit response to specific config sections (default: all)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations are absent, so the description must carry the burden of behavioral disclosure. The name and description imply a read-only operation, but caching behavior (default 5-minute cache) is only hinted at via the cache_bust parameter; the description does not explicitly mention that it is non-destructive or that it may return cached data. While adequate, it leaves room for ambiguity.

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 that efficiently conveys the tool's purpose without unnecessary words. It is appropriately sized 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?

For a simple read tool with two parameters and no output schema, the description provides adequate context about what the tool returns (configuration sections). It could mention that the default is to return all sections and that output is a JSON object, but it is mostly 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 baseline is 3. The description lists the config sections, which are also covered by the 'include' parameter enum. It adds little new meaning beyond the schema, but does not detract.

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 'Get workspace configuration' and lists the specific config sections (assignees, dartboards, etc.). This provides a specific verb and resource, and it distinguishes the tool from sibling tools that perform CRUD on tasks, docs, etc.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where get_config is preferable or when other tools like get_dartboard or get_task might be more appropriate. The description only states what it does.

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

get_dartboardB

Get details about a dartboard including task count. Token-efficient lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
dartboard_idYesDartboard dart_id or name

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior; it only says 'Get details' and mentions task count, lacking side-effect info or error conditions.

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

Conciseness5/5

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

Extremely concise with only two sentences, no filler, and front-loaded purpose.

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

Completeness3/5

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

Adequate for a simple lookup with one param, but lacks description of return value details or edge cases.

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 parameter description fully; description adds no extra meaning beyond 'dartboard dart_id or name'.

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?

Clearly states it retrieves dartboard details including task count, but doesn't differentiate from sibling get tools beyond the resource name.

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 or alternatives; 'Token-efficient lookup' is vague and doesn't replace clear usage instructions.

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

get_docA

Get a specific document by doc_id with full text content

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYesDocument doc_id

TDQS

A3.5/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 discloses that full text content is returned, but does not mention error behavior, authentication needs, or any 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 a single, front-loaded sentence with no unnecessary words, earning 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?

For a simple 1-parameter tool with no output schema, the description adequately states it returns full text content, but lacks details on response structure or error handling, leaving gaps.

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% (doc_id described as 'Document doc_id'). The description adds no additional meaning beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'document', the identifier 'doc_id', and what is returned ('full text content'), effectively distinguishing it from siblings like list_docs.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as list_docs, or any prerequisites like permissions or error handling.

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

get_folderA

Get details about a folder including doc count. Token-efficient lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesFolder dart_id or name

TDQS

A3.7/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 reveals the tool returns details and doc count, and is efficient, but does not disclose authentication, rate limits, or error behavior. 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?

The description is extremely concise with only two sentences (10 words total), no redundancy, and front-loads the core purpose. Every word 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?

For a simple one-parameter lookup tool, the description covers basic purpose and efficiency hint. However, it omits details like return format, error handling, or token cost, leaving gaps for an agent. Minimally adequate.

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

Parameters3/5

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

Schema coverage is 100% with one parameter described. The description adds no extra parameter semantics beyond the schema, 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 tool retrieves folder details including doc count, using specific verb and resource. It distinguishes from sibling tools like get_doc or get_task by focusing on folders and mentioning 'Token-efficient lookup'.

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

Usage Guidelines3/5

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

The phrase 'Token-efficient lookup' hints at when to use (for quick, low-cost queries), but the description lacks explicit guidance on when not to use or alternatives. No comparison with sibling tools.

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

get_taskA

Get a specific task by dart_id with optional comments and relationship details. Returns task relationships (subtasks, blockers, blocking, duplicates, related) with counts and optional expanded titles.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id
include_commentsNoInclude task comments in response (default: false)
include_relationshipsNoInclude relationship fields and counts in response (default: true). Set to false for smaller response.
expand_relationshipsNoFetch titles for all related tasks (default: false). Requires additional API calls. Only applies when include_relationships is true.

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description adds behavioral context by mentioning optional comments, relationship details, and the note about expand_relationships requiring additional API calls. However, it does not disclose whether the operation is read-only, error handling for missing IDs, or any 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 sentences long, front-loaded with the primary action, and every word serves a purpose. No filler or redundancy.

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?

No output schema exists, so the description must cover return values. It mentions 'task relationships with counts and optional expanded titles,' which partially covers the response, but it omits error conditions, response format, and what the base task object includes.

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 paraphrases the boolean parameters (optional comments, relationship details, expanded titles) but does not add new meaning 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 'Get a specific task by dart_id' with optional comments and relationship details, which distinguishes it from sibling tools like list_tasks or search_tasks that retrieve multiple 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 use when you have a specific dart_id, but it does not explicitly state when to use this tool versus alternatives like list_tasks or search_tasks, nor does it mention when-not-to-use or prerequisites.

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

import_tasks_csvA

Import tasks from CSV file with validation and parallel creation. CRITICAL: ALWAYS use validate_only=true first! Production safety: validate → fix errors → import.

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_dataNoCSV data as string (use this OR csv_file_path)
csv_file_pathNoPath to CSV file (use this OR csv_data)
dartboardYesDartboard dart_id or name for all imported tasks
column_mappingNoCustom column name mapping (e.g., {"Task Name": "title", "Owner": "assignee"})
validate_onlyNoPreview mode (default: TRUE for production safety). Returns validation errors and preview without creating tasks.
continue_on_errorNoContinue importing valid rows even if some fail (default: true)
concurrencyNoParallel task creation (default: 5, range: 1-20)

TDQS

A4.1/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 mentions validation and parallel creation but does not disclose potential side effects (e.g., task creation confirmation, error behavior, or idempotency). Some behavioral traits are implied but not explicit.

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 purpose, followed by critical usage note. Highly efficient.

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

Completeness3/5

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

Given the tool's complexity (7 parameters, no output schema, no annotations), the description is incomplete. Missing return value hints (e.g., task IDs, success count) and error handling details beyond validation.

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?

All parameters have descriptions in the input schema (100% coverage), so the description adds little beyond reinforcement of validate_only importance. 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's function: importing tasks from a CSV file. It highlights validation and parallel creation, which distinguishes it from sibling tools like create_task (single import) and batch_create_tasks.

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 always use validate_only=true first, and outlines a safety workflow: validate → fix errors → import. This provides clear guidance on proper usage.

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

infoB

Progressive discovery of dart-query capabilities - start here

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoDetail level: overview=categories, group=tools in category, tool=full documentation
targetNoGroup name (when level=group) or tool name (when level=tool)

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description gives no behavioral details (e.g., read-only nature, side effects, or rate limits). The agent is left to guess whether this tool is safe and what the response contains.

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

Conciseness3/5

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

The description is a single short sentence, which is concise. However, it may be too terse for a discovery tool that serves as an entry point, potentially leaving important context unstated.

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 the tool's role as a starting point for exploring many sibling tools, the description is incomplete. It does not explain how parameters interrelate, what output to expect, or how to interpret results for subsequent tool calls.

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 has 100% description coverage, fully defining both parameters (level enum with values, target string). The tool description adds no extra meaning beyond the schema, so 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?

The description identifies the tool as a starting point for progressive discovery of dart-query capabilities, clearly distinguishing it from task-specific sibling tools (e.g., get_task, delete_task). However, it lacks a specific action verb like 'list' or 'explain', relying on the vague 'progressive discovery'.

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?

"Start here" implies this tool should be used first, providing clear context. However, no explicit when-not-to-use or alternative tools are mentioned, leaving the agent to infer usage boundaries.

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

list_commentsA

List comments on a task with pagination. Token-efficient: returns minimal comment data.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask dart_id to list comments for
limitNoMax comments to return (default: 50, max: 100)
offsetNoPagination offset (default: 0)

TDQS

A3.5/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 discloses token efficiency and returns minimal data, but omits behavioral details such as errors, permissions, rate limits, or behavior for invalid task IDs.

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 purpose and key feature. 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 3-param tool with no output schema or annotations, the description covers core functionality and pagination, but lacks details on response format, error handling, or limits on task_id. Adequate but not 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?

Input schema has 100% coverage with descriptions for all parameters. The description adds 'Token-efficient' which hints at response brevity but does not enhance parameter meaning beyond 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?

The description clearly states the tool's action ('List comments on a task'), includes pagination, and emphasizes token efficiency. It effectively distinguishes from sibling tools like add_task_comment (which adds comments) and search_tasks (which searches tasks).

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

Usage Guidelines2/5

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

The description lacks explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where other tools might be preferred, leaving the agent to 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.

list_docsA

List documents with optional filtering by folder, title_contains, text_contains. Supports pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderNoFilter by folder (dart_id or name)
title_containsNoFilter by title substring (case-insensitive)
text_containsNoFilter by text content substring (case-insensitive)
limitNoMax docs to return (default: 50, max: 500)
offsetNoPagination offset (default: 0)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It mentions pagination and filters but does not disclose read-only nature, output format, sorting, or rate limits. Adequate but not thorough.

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 that captures key functionality with no superfluous information. Front-loaded with verb and resource.

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 5 parameters, no output schema, and no annotations, the description is functional but lacks details like return structure, default ordering, or handling of empty results. Moderately 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 clear parameter descriptions. The description restates filter purpose and pagination without adding meaningful new semantics 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 documents' and enumerates filtering options (folder, title_contains, text_contains) and pagination. It effectively distinguishes from siblings like get_doc (single doc) and search_tasks (different resource).

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?

Description implies usage for listing documents with filters, but does not explicitly state when not to use or direct to alternatives. It is clear enough for typical list scenarios.

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

list_tasksB

Query tasks with filters (assignee, status, dartboard, priority, tags, dates, has_parent), pagination, and detail levels. Parent filter uses client-side filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
assigneeNoFilter by assignee (dart_id, name, or email)
statusNoFilter by status (dart_id or name)
dartboardNoFilter by dartboard (dart_id or name)
priorityNoFilter by priority (1-5)
tagsNoFilter by tags (dart_ids or names)
due_beforeNoFilter tasks due before date (ISO8601)
due_afterNoFilter tasks due after date (ISO8601)
has_parentNoFilter tasks with parent (true) or without parent (false). Client-side filter.
limitNoMax tasks to return (default: 50, max: 500)
offsetNoPagination offset (default: 0)
detail_levelNominimal=id+title+parent+blockers, standard=+description+status+assignee+priority, full=all fields including relationships

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so description carries full burden. It discloses that the parent filter uses client-side filtering, which implies performance note. However, it does not state read-only nature, authentication requirements, rate limits, or other behavioral traits.

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 sentence that conveys key functionality concisely. It front-loads the action and lists filters. While compact, it lacks structural breakdown for readability.

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 11 parameters and no output schema, the description covers the primary purpose and a key behavioral note (client-side filter). However, it omits context on return format, error handling, and pagination behavior beyond what schema provides. Adequate but with gaps.

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 no new information beyond listing filter types and noting client-side filtering. Baseline 3 applies as schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states 'Query tasks with filters...', specifying the verb and resource. It lists multiple filter types (assignee, status, dartboard, priority, etc.), making the purpose clear. However, it does not differentiate from sibling tool 'search_tasks', which may also query tasks with filters.

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

Usage Guidelines2/5

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

The description mentions one behavioral note (client-side filtering for has_parent) but provides no explicit guidance on when to use this tool versus siblings like search_tasks. No exclusions or alternative recommendations are given.

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

move_taskA

Move/reposition a task within a dartboard or to a different dartboard. Supports ordering by index or relative to another task.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")
dartboardNoTarget dartboard (dart_id or name) - moves task to different dartboard
orderNoPosition index in dartboard (0-based)
after_idNoPlace task after this task dart_id
before_idNoPlace task before this task dart_id

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description must cover behavioral traits. It mentions moving and ordering but does not disclose potential side effects (e.g., impact on comments, time tracking), auth needs, or error handling. This is adequate but not thorough.

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, front-loaded with the verb and resource. Every word is purposeful, with no redundancy or filler.

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 5 parameters and no output schema, the description covers the core purpose and ordering options but lacks details on parameter conflicts, error behavior, return value, or edge cases. It is sufficient for basic use but not fully comprehensive.

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 solid parameter descriptions. The description adds value by explaining the ordering semantics ('by index or relative to another task'), which aids selection of order/after_id/before_id beyond the schema alone.

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 ('move/reposition'), resource ('task'), and scope ('within a dartboard or to a different dartboard'). It also specifies ordering options, distinguishing it from siblings like update_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 usage for repositioning tasks but lacks explicit guidance on when to use versus alternatives (e.g., update_task for property changes). No when-not or context exclusions are provided.

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

search_tasksA

Full-text search across tasks with relevance ranking. Alternative to list_tasks for text-based discovery. Supports quoted phrases, exclusions (-term), and inline filters (dartboard:Name, status:Done, assignee:Name).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query. Supports quoted phrases ("exact match"), exclusions (-term), inline filters (dartboard:Name, status:Done), and regular terms.
dartboardNoOptional dartboard filter (dart_id or name)
include_completedNoInclude completed tasks in results (default: false)
limitNoMax results to return (default: 50, max: 500)

TDQS

A4.7/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 relevance ranking, support for quoted phrases, exclusions, and inline filters, giving agents a clear understanding of search capabilities and syntax.

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 that are front-loaded with the core purpose and usage guidance. Every word adds value with no redundancy.

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 no output schema and four parameters, the description sufficiently explains the tool's features (relevance ranking, syntax) and its relationship to list_tasks, making it complete for agent use.

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 100% of parameters. Description adds value by explaining that the query parameter supports specific syntax (quotes, exclusions, inline filters), going beyond the schema's general 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 'Full-text search across tasks with relevance ranking', specifying the verb (search), resource (tasks), and distinguishing it from list_tasks as an alternative for text-based discovery.

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 positions the tool as an alternative to list_tasks for text-based discovery, giving clear context on when to use it. Lacks explicit 'when not to use' but the sibling differentiation suffices.

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

update_docA

Update an existing document (title, text, or folder). Validates references and only sends changed fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYesDocument doc_id to update
updatesYesFields to update

TDQS

A3.8/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 adds behavioral context like 'validates references' and 'only sends changed fields', which is helpful but insufficient. It does not disclose error handling, permissions, 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.

Conciseness4/5

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

The description is a single sentence with no wasted words, but could be structured more clearly (e.g., bullet points). It is concise yet efficient.

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

Completeness3/5

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

Given the tool has a nested parameter and no output schema, the description should explain return values or side effects. It does not. While the description covers essential update behavior, it lacks documentation of what the tool returns or error conditions.

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 defines all parameters. The description merely lists the fields again, adding no new meaning beyond what the schema provides. 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 tool updates an existing document and specifies the fields (title, text, folder), distinguishing it from create_doc and delete_doc. The verb 'update' is specific and the resource 'existing document' is unambiguous.

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

Usage Guidelines4/5

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

The description implies usage for modifying an existing document, but does not explicitly mention when not to use it (e.g., if the document doesn't exist) nor alternatives like update_task. However, sibling tool names make resource differentiation clear.

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

update_taskA

Update a task. Pass dart_id and any fields to change at the top level. Supports add_to/remove_from for incremental relationship changes and optional comment. Relationship arrays use full replacement unless using add_to/remove_from.

ParametersJSON Schema
NameRequiredDescriptionDefault
dart_idYesTask dart_id (also accepts "id" or "task_id")
titleNoTask title (max 500 chars)
descriptionNoTask description (markdown supported)
dartboardNoDartboard dart_id or name
statusNoStatus dart_id or name
priorityNoPriority 1-5
sizeNoSize estimate 1-5
assigneesNoArray of assignee dart_ids, names, or emails
tagsNoArray of tag dart_ids or names
due_atNoDue date (ISO8601)
start_atNoStart date (ISO8601)
parent_taskNoParent task dart_id
subtask_idsNoIDs of subtask (child) tasks. Full replacement: set to [] to clear.
blocker_idsNoIDs of tasks that block this task. Full replacement: set to [] to clear.
blocking_idsNoIDs of tasks this task blocks. Full replacement: set to [] to clear.
duplicate_idsNoIDs of duplicate tasks. Full replacement: set to [] to clear.
related_idsNoIDs of related tasks. Full replacement: set to [] to clear.
commentNoOptional comment to add after updating (non-blocking)
add_toNoAppend IDs to relationship arrays. Fetches current values, merges, deduplicates. Keys: subtask_ids, blocker_ids, blocking_ids, duplicate_ids, related_ids
remove_fromNoRemove IDs from relationship arrays. Fetches current values, filters out specified IDs. Keys: subtask_ids, blocker_ids, blocking_ids, duplicate_ids, related_ids

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains behavior of relationship arrays (full replacement vs add_to/remove_from) and that comment is non-blocking. Lacks details on atomicity 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?

Three concise sentences, front-loaded with main action, then key capabilities, then crucial behavioral detail. Every sentence adds value 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?

Given 20 parameters and no output schema, description covers main behaviors well but omits what the API returns (e.g., updated task object). Still, it explains the critical relationship update modes.

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

Parameters5/5

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

Schema coverage is 100%, but description adds critical meaning: clarifies that relationship arrays use full replacement by default and how add_to/remove_from work (fetch, merge, deduplicate). This goes beyond 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 'Update a task' with specific verb and resource. It distinguishes from siblings like create_task and batch_update_tasks by detailing incremental relationship changes and optional comment.

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 updating tasks with two methods (full replacement vs incremental), but does not explicitly indicate when to use this tool over alternative tools like batch_update_tasks 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.

TDQS

B3.4/5.0
Disambiguation3/5

Tools like batch_delete_tasks and delete_task overlap, and batch operations are deprecated in favor of execute_dartql, causing ambiguity. Also, list_tasks and search_tasks both retrieve tasks, adding confusion.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., create_task, get_task), but there is inconsistency with prefixes like 'batch_' and verbs like 'add', 'attach', 'import', and 'info'. Overall largely predictable.

Tool Count3/5

With 25 tools, the server feels heavy for a task/document management system. The presence of deprecated batch operations and overlapping tools suggests some trimming could improve scope.

Completeness4/5

Covers CRUD for tasks and documents, plus comments, time tracking, attachments, import, search, and config. Minor gaps: no comment delete, no time tracking update/delete, but core workflows are covered.

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

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/standardbeagle/dart-query'

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