# dart-query

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/standardbeagle/dart-query  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dart-query

## Description
Dart AI task management MCP with batch operations, DartQL selectors, CSV import, zero context rot

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "dart-query": {
    "command": "npx",
    "args": ["-y","dart-query"]
  }
}
```

## Documentation & README

# dart-query

MCP server for [Dart AI](https://dartai.com) 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)**

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

**SLOP-MCP (v0.10.0+)**

```bash
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

```typescript
// 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

| 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](https://github.com/standardbeagle/dart-query/blob/HEAD/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:

```sql
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`/`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

