Dart

by jmanhype

3 stars
Not rated
GitHub

About

Integrates with the Dart task management system to enable AI-driven project organization, document handling, and workflow automation through secure API interactions and Dartboard feature integration.

Details

Author
jmanhype
Repository
jmanhype/dart-mcp-server
GitHub stars
3
License
MIT License
Categories
Productivity, Developer Tools, Design, Workplace, File Management, AI, Automation, API, Infrastructure
Tags
#integration

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Dart
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 index.js
    Environment
    • DART_TOKEN DART_TOKEN
    • PYTHONPATH PYTHONPATH
    • PYTHON_PATH PYTHON_PATH

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

| 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) |

python -c "import dart; print(dart.__version__)"

If this fails, the MCP server will not be able to execute any tools.

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dart": {
            "env": {
                "DART_TOKEN": "DART_TOKEN",
                "PYTHONPATH": "PYTHONPATH",
                "PYTHON_PATH": "PYTHON_PATH"
            },
            "args": [
                "index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "DART_TOKEN": "DART_TOKEN",
        "PYTHONPATH": "PYTHONPATH",
        "PYTHON_PATH": "PYTHON_PATH"
    },
    "args": [
        "index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "DART_TOKEN": "DART_TOKEN",
        "PYTHONPATH": "PYTHONPATH",
        "PYTHON_PATH": "PYTHON_PATH"
    },
    "args": [
        "index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "DART_TOKEN": "DART_TOKEN",
        "PYTHONPATH": "PYTHONPATH",
        "PYTHON_PATH": "PYTHON_PATH"
    },
    "args": [
        "index.js"
    ],
    "command": "node"
}

dart-mcp-server

smithery badge

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.

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.