io.github.standardbeagle/dart-query
Dart AI task management MCP with batch operations, DartQL selectors, CSV import, zero context rot
Open source Open in the app JSON README (API)
About
Dart AI task management MCP with batch operations, DartQL selectors, CSV import, zero context rot
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- standardbeagle
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.3.5
- Last push
- 2026-08-01T05:43:57Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:01:27
- Updated
- 2026-08-29 04:01:27
- Origin id
io.github.standardbeagle/dart-query
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](./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