Dart MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • 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

Dart MCP 服务器

Dart 的模型上下文协议 (MCP) 服务器实现,通过 MCP 工具提供任务管理、文档处理和工作区组织功能。

先决条件

  • Node.js 16.x 或更高版本
  • Python 3.8 或更高版本
  • Dart Python SDK 已安装( pip install dart-sdk
  • 有效的 Dart API 令牌

特征

  • 任务管理
    • 创建和更新任务
    • 设置任务优先级和状态
    • 向团队成员分配任务
  • 文档管理
    • 创建和组织文档
    • 支持 Markdown 内容
    • 报告生成
  • 空间管理
    • 创建和管理工作区
    • 使用文件夹组织内容
    • 控制访问权限
  • 飞镖靶集成
    • 默认状态管理
    • 任务组织
    • 团队协作

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Dart MCP 服务器:

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

手动安装

  1. 克隆存储库:
git clone https://github.com/jmanhype/dart-mcp-server.git cd dart-mcp-server
  1. 安装 Node.js 依赖项:
npm install
  1. 设置 Python 环境并安装 Dart SDK:
# Create and activate virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install Dart SDK pip install dart-sdk
  1. 设置环境变量:
# Copy example environment file cp .env.example .env # Edit .env with your configuration # Required: DART_TOKEN # Optional: PYTHONPATH (path to dart sdk)

用法

  1. 构建 TypeScript 代码:
npm run build
  1. 启动 MCP 服务器:
npm start

发展

# Watch for TypeScript changes npm run dev # Run tests npm test

环境变量

使用以下变量创建.env文件:

# Required: Your Dart API token DART_TOKEN=your_dart_token_here # Optional: Path to your Dart SDK installation PYTHONPATH=/path/to/dart/sdk # Optional: Python executable path (defaults to system Python) PYTHON_PATH=/path/to/python

可用的 MCP 工具

  • create_task :创建具有标题、描述、优先级等的新任务。
  • update_task :更新现有任务的状态、标题、描述
  • get_default_status :获取默认状态 DUID
  • get_default_space :获取默认空间 DUID
  • get_dartboards :列出可用的飞镖靶
  • get_folders :列出空间中的文件夹
  • create_folder :创建新文件夹
  • create_doc :创建新文档或报告
  • create_space :创建新的工作区
  • delete_space :删除现有工作区

故障排除

如果您遇到问题:

  1. 验证 Python 环境:
    python --version pip list | grep dart
  2. 检查 Dart SDK 安装:
    python -c "import dart; print(dart.__version__)"
  3. 验证环境变量:
    echo $DART_TOKEN echo $PYTHONPATH

执照

MIT 许可证

Dart 工具

PyPI 支持的 Python 版本许可证

Dart 是由 AI 驱动的项目管理。

dart-tools是 Dart CLI 和 Python 库。它支持通过终端 CLI 或 Python 直接与 Dart 集成。

  • 安装
  • 使用 CLI
  • 使用 Python 库
  • 在 AWS Lambda 函数中使用 Python 库
  • 使用 MCP 服务器
  • 高级用法
  • 帮助和资源
  • 贡献
  • 执照

安装

在终端中,通过运行安装

pip install dart-tools

使用 CLI

首先设置身份验证

dart login

然后,你可以使用以下命令创建一个新任务

dart createtask "Update the landing page" -p0 --tag marketing

这将创建一项名为“更新登陆页面”的新任务,其优先级为“关键”(即 P0),标签为“营销”。

您可以使用dart --help或子命令的更具体帮助(在本例中dart createtask --help来探索所有这些选项以及更多选项。

另一个常见的工作流程是更新现有任务。为此,请运行类似

dart updatetask [DUID] -s Done

此命令会将引用的任务标记为“完成”。此处的[DUID] (包括括号)应替换为现有任务的“Dart ID”。您可以通过多种方式从任何现有任务获取 DUID,例如从任务 URL 末尾复制,或在 Dart 的任务页面中点击“...”按钮,然后选择“复制 ID”。

使用 Python 库

首先,设置身份验证。在终端中运行dart login进行交互,或者访问你的 Dart 配置文件,然后运行dart.login(token)或将 token 保存到DART_TOKEN环境变量中。

然后你可以运行类似

import os from dart import create_task, is_logged_in, update_task # Check that auth is set up and stop if not, can remove this once everything is set up is_logged_in(should_raise=True) # Create a new task called 'Update the landing page' with priority 'Critical' (i.e. p0) and with the 'marketing' tag new_task = create_task( "Update the landing page", priority_int=0, tag_titles=["marketing"] ) # Update the task to be 'Done' update_task(new_task.duid, status_title="Done")

使用 MCP 服务器

模型上下文协议 (MCP) 服务器实现使 AI 助手(例如 Claude)能够通过标准化工具与 Dart 进行交互。这使得 AI 功能能够与 Dart 的任务管理系统无缝集成。

安装

# Clone the repository git clone https://github.com/its-dart/dart-tools.git cd dart-tools/dart/mcp # Install dependencies npm install # Set up Python environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install dart-tools # Configure environment cp .env.example .env # Edit .env with your DART_TOKEN

可用的 MCP 工具

该服务器提供以下 MCP 工具:

  • 任务管理(创建/更新任务)
  • 文档管理(创建/组织文档)
  • 空间管理(工作区/文件夹)
  • 飞镖靶集成

有关详细文档,请参阅MCP Server README

高级用法

Dart 能实现的几乎所有功能都能用 Python 库实现,但并非所有功能都有便捷的包装函数。对于大多数高级用法,最好的办法是联系我们,我们可以提供帮助。

但是,如果您想自行探索,客户端的类型已经很完善,您可以直接浏览代码,看看能实现哪些功能。所有更新都将通过dart.transact函数进行。

例如,你可以运行类似于update_task的操作

from dart import ( Dart, Operation, OperationKind, OperationModelKind, TaskUpdate, TransactionKind, ) # Initialize the inner client dart = Dart() # Prepare the update operation task_update = TaskUpdate( duid="[DUID]", size=5, ) task_update_op = Operation( model=OperationModelKind.TASK, kind=OperationKind.UPDATE, data=task_update, ) # Call the operation transactionally to perform the update response = dart.transact([task_update_op], TransactionKind.TASK_UPDATE)

帮助和资源

  • 主页
  • Web 应用程序
  • 帮助中心
  • 错误和功能
  • 图书馆来源
  • 在 Discord 上聊天
  • 请发送电子邮件至support@itsdart.com

贡献

欢迎贡献!请打开一个问题或提交一个拉取请求。

执照

该项目已获得 MIT 许可。

ID: 2pdqgspm4q