Dart MCP Server
The Dart MCP Server is a Model Context Protocol (MCP) server that integrates with Dart for AI-powered project management, offering comprehensive tools for:
Task Management: Create, update, and manage tasks with attributes like title, description, priority, size, assignees, and subscribers
Workspace Management: Create, delete, and organize workspaces (spaces) with customizable options for color, icon, sprint mode, and access permissions
Document Management: Create and manage documents/reports with markdown support and folder organization
Folder Management: Create and organize folders within workspaces
Dartboard Integration: Retrieve default status DUIDs, default space DUIDs, and lists of dartboards and folders
Collaboration: Assign tasks, manage subscribers/editors, and control workspace access
Supports integration with AWS Lambda functions through the Python library for using Dart functionality in serverless environments
Provides integration with Dart task management system, allowing creation and management of tasks, documents, spaces, and dartboards through MCP tools
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dart MCP Server create a task to update the landing page with high priority"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dart-mcp-server
MCP server that bridges the Dart project management platform to AI assistants. The server is TypeScript but delegates all Dart API calls to a Python subprocess using the dart-sdk package.
What It Does
Exposes Dart's task management, document, space, and dartboard operations as MCP tools. Each tool call spawns a Python process that imports dart-sdk, executes the operation, and returns JSON results over stdout. Communicates with MCP clients over stdio.
Related MCP server: Dart MCP Server
Status
Area | State |
MCP transport | stdio |
Language | TypeScript (server) + Python (Dart SDK calls) |
MCP SDK |
|
Dart SDK |
|
Node.js | >= 16.0.0 |
Python | >= 3.8.0 |
License | MIT |
MCP Tools
Tool | What It Does |
| Create a task with title, description, priority, status, assignees, tags |
| Update an existing task's status, title, or description by DUID |
| Return default status DUIDs for a dartboard |
| Return the default space DUID |
| List available dartboards |
| List folders in a space |
| Create a new folder |
| Create a document or report |
| Create a new workspace |
| Delete a workspace by DUID |
Setup
Via Smithery
npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claudeManual
git clone https://github.com/jmanhype/dart-mcp-server.git
cd dart-mcp-server
npm install # also runs postinstall: creates .venv and pip installs dart-sdk
npm run build
npm startEnvironment Variables
Variable | Required | Description |
| Yes | Dart API token (get from your Dart profile) |
| No | Path to Dart SDK if not in default location |
| No | Path to Python executable (defaults to system Python) |
Verifying the Python Environment
python -c "import dart; print(dart.__version__)"If this fails, the MCP server will not be able to execute any tools.
Architecture
src/
index.ts — MCP server, tool handlers, Python subprocess management
test.ts — Basic test runnerEach tool handler builds a Python script as a string, spawns python3 -c "<script>", and parses the JSON output. The Python process has a 120-second timeout.
Limitations
Every tool call spawns a new Python process (no persistent connection to Dart API)
The
.envpath is hardcoded to/Users/speed/dart-tools/.envin the sourceNo input validation beyond what the Dart SDK provides
No pagination support for list operations
Error messages from the Python subprocess are passed through as-is
The
postinstallscript creates a virtualenv, which may fail in some CI environments
Dependencies
Package | Version | Purpose |
| ^1.5.0 | MCP server protocol |
| ^16.4.7 | Environment variable loading |
| ^5.3.3 | Build toolchain |
| (pip) | Python client for Dart API |
License
MIT
Available Tools
10 toolscreate_docC
Create a new document or report
Inputs: folder_duid (required), title (required), text, text_markdown, +3 more.
create_folderC
Create a new folder in a space
Inputs: space_duid (required), title (required), description, kind.
create_spaceC
Create a new space
Inputs: title (required), description, abrev, accessible_by_team, +7 more.
create_taskC
Create a new Dart task
Inputs: title (required), description (required), priority, tags, +3 more.
delete_spaceB
Delete a space and all its contents
Inputs: space_duid (required).
get_dartboardsC
Get available dartboards
Inputs: space_duid (required).
get_default_spaceB
Get the default space DUID
Inputs: no named parameters.
get_default_statusC
Get the default status DUIDs
Inputs: no named parameters.
get_foldersC
Get available folders
Inputs: space_duid (required).
update_taskC
Update an existing task
Inputs: duid (required), status_duid, title, description, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have distinct purposes focused on different resources (documents, folders, spaces, tasks, dartboards), but 'create_doc' and 'create_folder' could be confused if a document is stored in a folder, though their descriptions clarify separate actions. No direct functional overlap exists between other tools.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_doc, get_dartboards, update_task). The naming is predictable and uniform across all 10 tools, making it easy for agents to understand the action and target.
With 10 tools, the count is well-scoped for a Dart MCP server, covering core operations like creation, retrieval, update, and deletion. Each tool appears to serve a specific purpose without redundancy, fitting typical server scope of 3-15 tools.
The toolset covers creation and retrieval for documents, folders, spaces, and tasks, with update for tasks and delete for spaces, but lacks update/delete for documents and folders, and retrieval for tasks and documents. This creates notable gaps in CRUD coverage, though agents might work around them with available tools.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
MCP server enabling AI agents to manage Bitrix24 features via standardized protocol
Related MCP Servers
- AlicenseCqualityDmaintenanceA distributable Model Context Protocol (MCP) server that exposes Dart SDK commands for AI-powered development. This server bridges the gap between AI coding assistants and Dart/Flutter development workflows by implementing the Model Context Protocol (MCP).1026 npm6MIT
- AlicenseAqualityCmaintenanceDeprecated, please use Dart connector instead. https://glama.ai/mcp/connectors/com.dartai/dart1695 npm128MIT
- AlicenseBqualityDmaintenanceAn MCP server for Dart AI task management that enables bulk operations using DartQL selectors to minimize token usage and context rot. It provides tools for batch updates, task and document CRUD, and safe CSV imports with integrated dry-run capabilities.2550 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.6 npm13MIT