Skip to main content
Glama

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

@modelcontextprotocol/sdk ^1.5.0

Dart SDK

dart-sdk (pip, called via subprocess)

Node.js

>= 16.0.0

Python

>= 3.8.0

License

MIT

MCP Tools

Tool

What It Does

create_task

Create a task with title, description, priority, status, assignees, tags

update_task

Update an existing task's status, title, or description by DUID

get_default_status

Return default status DUIDs for a dartboard

get_default_space

Return the default space DUID

get_dartboards

List available dartboards

get_folders

List folders in a space

create_folder

Create a new folder

create_doc

Create a document or report

create_space

Create a new workspace

delete_space

Delete a workspace by DUID

Setup

Via Smithery

npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claude

Manual

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 start

Environment Variables

Variable

Required

Description

DART_TOKEN

Yes

Dart API token (get from your Dart profile)

PYTHONPATH

No

Path to Dart SDK if not in default location

PYTHON_PATH

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 runner

Each 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 .env path is hardcoded to /Users/speed/dart-tools/.env in the source

  • No 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 postinstall script creates a virtualenv, which may fail in some CI environments

Dependencies

Package

Version

Purpose

@modelcontextprotocol/sdk

^1.5.0

MCP server protocol

dotenv

^16.4.7

Environment variable loading

typescript

^5.3.3

Build toolchain

dart-sdk

(pip)

Python client for Dart API

License

MIT

Available Tools

10 tools
create_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

    B3.2/5.0

    Scored across 10 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      A 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).
      10
      26 npm
      6
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      An 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.
      25
      50 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP 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 npm
      13
      MIT