MCP ExplorerExplorer

Dart MCP Server

@its-darton 11 days ago
81 MIT
FreeOfficial
Dev Tools
#AI#MCP#Model Context Protocol#Project Management
<h1>Dart MCP Server</h1>

Overview

What is Dart MCP Server

Dart MCP Server is an official Model Context Protocol (MCP) server for Dart, enhancing project management through AI. It allows integration with various AI assistants to perform tasks seamlessly within the Dart project management ecosystem.

Use cases

This server facilitates the creation and management of tasks and documents within Dart. Users can generate tasks with specific attributes, create documents, and get summaries of tasks, streamlining project management processes and enhancing productivity.

How to use

To set up the Dart MCP Server, users can run it using npx or Docker. The setup process involves copying an authentication token from the Dart profile and configuring it in the MCP settings file for the client application, ensuring the correct command and environment variables are set.

Key features

Key features of Dart MCP Server include various prompts for creating tasks and documents, resource templates for configuration and detailed information retrieval, and an array of management tools for tasks and documents with structured responses and validation.

Where to use

The Dart MCP Server can be utilized within various AI clients compatible with the Model Context Protocol, such as Claude Desktop, Claude Code, Cursor, Cline, and Windsurf, allowing users to enhance their project management workflows in different environments.

Content

Dart MCP Server

NPM License

Dart is Project Management powered by AI.

dart-mcp-server is the official AI Model Context Protocol (MCP) server for Dart.

Features

Prompts

The following prompts are available

  • create-task - Create a new task in Dart with title, description, status, priority, and assignee
  • create-doc - Create a new document in Dart with title, text content, and folder
  • summarize-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

The following resources are available

  • dart-config: - Configuration information about the user’s space
  • dart-task:///{taskId} - Detailed information about specific tasks
  • dart-doc:///{docId} - Detailed information about specific docs

Tools

The following tools are available

Task management

  • get_config - Get information about the user’s space, including available assignees, dartboards, folders, statuses, tags, priorities, and sizes
  • list_tasks - List tasks with optional filtering by assignee, status, dartboard, priority, due date, and more
  • create_task - Create a new task with title, description, status, priority, size, dates, dartboard, assignees, tags, and parent task
  • get_task - Retrieve an existing task by its ID
  • update_task - Update an existing task’s properties
  • delete_task - Move a task to the trash (recoverable)
  • add_task_comment - Add a comment to an existing task

Document management

  • list_docs - List docs with optional filtering by folder, title, text content, and more
  • create_doc - Create a new doc with title, text content, and folder
  • get_doc - Retrieve an existing doc by its ID
  • update_doc - Update an existing doc’s properties
  • delete_doc - Move a doc to the trash (recoverable)

Each tool supports comprehensive input validation and returns structured JSON responses.

Setup

The easiest way to run the MCP server is with npx, but a Docker setup is also available.

Find the MCP settings file for the client

Claude Desktop

  1. Install Claude Desktop as needed
  2. Open the config file by opening the Claude Desktop app, going into its Settings, opening the ‘Developer’ tab, and clicking the ‘Edit Config’ button
  3. Follow the ‘Set up the MCP server’ steps below

Claude Code

  1. Install Claude Code as needed

  2. Copy your authentication token from your Dart profile

  3. Run the following command, being sure to replace dsa... with your actual Dart token

    claude mcp add-json dart '{"command":"npx","args":["-y","dart-mcp-server"],"env":{"DART_TOKEN":"dsa_..."}}'
    

Cursor

  1. Install Cursor as needed
  2. Open the config file by opening Cursor, going into ‘Cursor Settings’ (not the normal VSCode IDE settings), opening the ‘MCP’ tab, and clicking the ‘Add new global MCP server’ button
  3. Follow the ‘Set up the MCP server’ steps below

Cline

  1. Install Cline in your IDE as needed
  2. Open the config file by opening your IDE, opening the Cline sidebar, clicking the ‘MCP Servers’ icon button that is second from left at the top, opening the ‘Installed’ tab, and clicking the ‘Configure MCP Servers’ button
  3. Follow the ‘Set up the MCP server’ steps below

Windsurf

  1. Install Windsurf as needed
  2. Open the config file by opening Windsurf, going into ‘Windsurf Settings’ (not the normal VSCode IDE settings), opening the ‘Cascade’ tab, and clicking the ‘View raw config’ button in the ‘Model Context Protocol (MCP) Servers’ section
  3. Follow the ‘Set up the MCP server’ steps below

Any other client

  1. Find the MCP settings file, usually something like [client]_mcp_config.json
  2. Follow the ‘Set up the MCP server’ steps below

Set up the MCP server

  1. Install npx, which comes bundled with Node, as needed

  2. Copy your authentication token from your Dart profile

  3. Add the following to your MCP setup, being sure to replace dsa... with your actual Dart token

    {
      "mcpServers": {
        "dart": {
          "command": "npx",
          "args": [
            "-y",
            "dart-mcp-server"
          ],
          "env": {
            "DART_TOKEN": "dsa_..."
          }
        }
      }
    }

Variant: setup with Docker

If the npx setup above does not work well, we also provide a Docker setup. Follow the instructions above to find the MCP settings file

  1. Install Docker as needed

  2. Build the Docker container with docker build -t mcp/dart .

  3. Copy your authentication token from your Dart profile

  4. Add the following to your MCP setup, being sure to replace dsa... with your actual Dart token

    {
      "mcpServers": {
        "dart": {
          "command": "bash",
          "args": [
            "-c",
            "docker rm -f dart-mcp >/dev/null 2>&1 || true; docker run -i --rm --name dart-mcp -e DART_TOKEN mcp/dart"
          ],
          "env": {
            "DART_TOKEN": "dsa_..."
          }
        }
      }
    }

Help and Resources

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Tools

get_config
Get information about the user's space, including all of the possible values that can be provided to other endpoints. This includes available assignees, dartboards, folders, statuses, tags, priorities, and sizes.
list_tasks
List tasks from Dart with optional filtering parameters. You can filter by assignee, status, dartboard, priority, due date, and more.
create_task
Create a new task in Dart. You can specify title, description, status, priority, size, dates, dartboard, assignees, tags, and parent task.
get_task
Retrieve an existing task by its ID. Returns the task's information including title, description, status, priority, dates, and more.
update_task
Update an existing task. You can modify any of its properties including title, description, status, priority, dates, assignees, and more.
delete_task
Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed.
list_docs
List docs from Dart with optional filtering parameters. You can filter by folder, title, text content, and more.
create_doc
Create a new doc in Dart. You can specify title, text content, and folder.
get_doc
Retrieve an existing doc by its ID. Returns the doc's information including title, text content, folder, and more.
update_doc
Update an existing doc. You can modify its title, text content, and folder.
delete_doc
Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed.

Comments