DartSAFE
Dart AI Model Context Protocol (MCP) server
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Dart MCP Server
Dart is Project Management powered by AI.
[!WARNING] The Dart local MCP server is deprecated in favor of the simplified and improved hosted Dart MCP server, which you can configure with these instructions.
Deprecated information dart-mcp-server is the official AI Model Context Protocol (MCP) server for Dart.
- Features
- Prompts
- Resource templates
- Tools
- Task management
- Document management
- Setup
- Find the MCP settings file for the client
- Claude Desktop
- Claude Code
- Cursor
- Cline
- Windsurf
- Any other client
- Set up the MCP server
- Variant: setup with Docker
- Help and Resources
- Contributing
- License
Features
Prompts
The following prompts are available
create-task- Create a new task in Dart with title, description, status, priority, and assigneecreate-doc- Create a new document in Dart with title, text content, and foldersummarize-tasks- Get a summary of tasks with optional filtering by status and assignee
These prompts make it easy for AI assistants to perform common actions in Dart without needing to understand the underlying API details.
Resource templates
T
8ffbd09ff4e9OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add dart-mcp-server --env DART_TOKEN=${DART_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"dart-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DART_TOKEN": "${DART_TOKEN}"
}
}
}
}Exposed tools (23)
16 read · 5 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_task_comment | write | Add a comment to an existing task without modifying the task description. Comments support markdown formatting. |
assignee | read | Email of the assignee |
create_doc | write | Create a new doc in Dart. You can specify title, text content, and folder. |
create_task | write | Create a new task in Dart. You can specify title, description, status, priority, size, dates, dartboard, assignees, tags, parent task, custom properties, and task relationships. |
delete_doc | destructive | Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed. |
delete_task | destructive | Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed. |
description | read | Description of the task |
folder | read | Folder to place the document in |
get_config | read | Get information about the user |
get_dartboard | read | Retrieve an existing dartboard by its ID. Returns the dartboard |
get_doc | read | Retrieve an existing doc by its ID. Returns the doc |
get_folder | read | Retrieve an existing folder by its ID. Returns the folder |
get_task | read | Retrieve an existing task by its ID. Returns the task |
get_view | read | Retrieve an existing view by its ID. Returns the view |
list_docs | read | List docs from Dart with optional filtering parameters. You can filter by folder, title, text content, and more. |
list_task_comments | read | List comments from Dart with optional filtering parameters. You can filter by author, task, text content, dates, and more. |
list_tasks | read | List tasks from Dart with optional filtering parameters. You can filter by assignee, status, dartboard, priority, due date, and more. |
priority | read | Priority of the task |
status | read | Status of the task |
text | read | Content of the document |
title | read | Title of the task |
update_doc | write | Update an existing doc. You can modify its title, text content, and folder. |
update_task | write | Update an existing task. You can modify any of its properties including title, description, status, priority, dates, assignees, tags, custom properties, and task relationships. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
delete_doc, delete_task
2. Open [the page for the inspector](http://127.0.0.1:6274)
@modelcontextprotocol/sdk, dart-tools, dotenv
Gates applied: no_behavioural_pass.
8ffbd09ff4e9full audit observations/trust-audit/mcp-server/its-dart__dart-2.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 8ffbd09ff4e9 | SAFE | B | 89 | first audit |
Questions
What is the Dart MCP server?
Dart AI Model Context Protocol (MCP) server
What tools does Dart expose?
23 in total: 16 read-only, 5 that write, and 2 that can delete or overwrite (delete_doc, delete_task). Every one is listed on this page with its risk.
Is Dart safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Dart need?
It reads DART_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Dart run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as dart-mcp-server at 0.2.2.
How current is this page?
The grade is for one exact copy of the source (8ffbd09ff4e9), read on 2026-10-07. The repository is watched and re-audited when it changes.