Dart Query MCP server
Dart AI task management MCP with batch operations, DartQL selectors, CSV import, zero context rot
0 stars33 downloads/wk
Reviews
Write oneNobody has reviewed Dart Query yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Dart Query tools (24, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_task_commentAdd a comment to a task for status updates, AI rationale, or notes. Supports markdown formatting.
add_time_trackingAdd a time tracking entry to a task. Supports started_at/finished_at or duration_minutes.
attach_urlAttach a file from URL to a task. URL must be publicly accessible.
batch_delete_taskswrite actionBatch 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).
batch_update_taskswrite actionBatch update multiple tasks matching a DartQL selector. Supports all task fields including relationships. CRITICAL: Always use dry_run=true first to preview changes!
create_docwrite actionCreate a new document with title, text (markdown supported), and optional folder
create_taskwrite actionCreate a new task with title, description, status, priority, size, dates, dartboard, assignees, tags, and task relationships (subtasks, blockers, related tasks)
delete_docwrite actionDelete a document (moves to trash - recoverable via Dart web UI)
delete_taskwrite actionDelete a task (moves to trash - recoverable via Dart web UI)
get_batch_statusRetrieve status of a batch operation (update, delete, or import) by batch_operation_id. Operations are kept in memory for 1 hour.
get_configGet workspace configuration: assignees, dartboards, statuses, tags, priorities, sizes
get_dartboardGet details about a dartboard including task count. Token-efficient lookup.
get_docGet a specific document by doc_id with full text content
get_folderGet details about a folder including doc count. Token-efficient lookup.
get_taskGet 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.
import_tasks_csvImport tasks from CSV file with validation and parallel creation. CRITICAL: ALWAYS use validate_only=true first! Production safety: validate → fix errors → import.
infoProgressive discovery of dart-query capabilities - start here
list_commentsList comments on a task with pagination. Token-efficient: returns minimal comment data.
list_docsList documents with optional filtering by folder, title_contains, text_contains. Supports pagination.
list_tasksQuery tasks with filters (assignee, status, dartboard, priority, tags, dates, relationships), pagination, and detail levels. Relationship filters use client-side filtering - may be slower for large task counts.
move_taskMove/reposition a task within a dartboard or to a different dartboard. Supports ordering by index or relative to another task.
search_tasksFull-text search across tasks with relevance ranking. Alternative to list_tasks for text-based discovery. Supports quoted phrases and exclusions.
update_docwrite actionUpdate an existing document (title, text, or folder). Validates references and only sends changed fields.
update_taskwrite actionUpdate an existing task with partial field updates including task relationships (validates references, only sends changed fields). Relationship arrays use full replacement semantics - to add/remove, get current values, modify, then update with the full array.
Public scan report
scanner v0.1.10 · 2026-10-01 · same rubric, same numbers if you re-run it
- Code scan63 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 61 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Install Dart Query in Claude Code, Cursor or VS Code
Runs npx -y @standardbeagle/dart-query on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add dart-query -- npx -y @standardbeagle/dart-query
What the publisher says
From the Dart Query repository's README, as published. We do not edit it. Read it on GitHub
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 user3. 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
})Tools
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 substringOperators: =, !=, <>, >, >=, <, <=, LIKE, IN, NOT IN, BETWEEN, IS NULL, IS NOT NULL, CONTAINS Aliases: INCLUDES/HAS → CONTAINS · <> → != 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
Nothing above is checked by us. What we check is on the safety report.
Dart Query: common questions
- Is Dart Query MCP server safe?
- Mostly: it is graded B (80/100). Read the Dart Query safety report
- How do I install Dart Query?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Dart Query need an API key?
- Yes. The registry entry asks for
DART_TOKEN. - Is Dart Query maintained?
- The last commit was 73 days ago (2026-08-01). The latest release is v0.3.5.
- What can I use instead of Dart Query?
- Servers from other publishers that do the same job: Gsheets MCP server, Google Sheets MCP server and Caldav MCP server. Compare all Dart Query alternatives.
Alternatives to Dart Query
Same job from other publishers: the closest match first, then the best rated.
- GsheetsMCP server for Google Sheets API — read, write, format, batch operations.not reviewedEstablishedB
- Google SheetsGoogle Sheets integration with OAuth, spreadsheet management, batch operations, and formattingnot reviewedGrowingC
- CaldavCalDAV calendar operations (list, create, update, delete events) as MCP tools.not reviewedEstablishedB
- Pare MakePare Make ג€” Structured Make/Just task runner operations (run, list) as typed JSON.not reviewedGrowingA