Dart MCP 服务器
一个基于Dart的MCP服务器实现,通过标准化的工具和无缝的Dart集成,启用人工智能辅助的任务管理、文档处理和工作空间组织。
可用工具 (10 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_default_status
Get the default status DUIDs
该工具无需必填参数,直接调用即可
get_default_space
Get the default space DUID
该工具无需必填参数,直接调用即可
create_task 7 个参数 需填 2 项
Create a new Dart task
必填参数:title、description
update_task 5 个参数 需填 1 项
Update an existing task
必填参数:duid
get_dartboards 1 个参数 需填 1 项
Get available dartboards
必填参数:space_duid
get_folders 1 个参数 需填 1 项
Get available folders
必填参数:space_duid
create_folder 4 个参数 需填 2 项
Create a new folder in a space
必填参数:space_duid、title
create_doc 7 个参数 需填 2 项
Create a new document or report
必填参数:folder_duid、title
create_space 11 个参数 需填 1 项
Create a new space
必填参数:title
delete_space 1 个参数 需填 1 项
Delete a space and all its contents
必填参数:space_duid
服务介绍
Dart MCP 服务器
这是一个为 Dart 实现的模型上下文协议(MCP)服务器,通过 MCP 工具提供任务管理、文档处理和工作区组织功能。
前提条件
- Node.js 16.x 或更高版本
- Python 3.8 或更高版本
- 安装了 Dart Python SDK (
pip install dart-sdk) - 有效的 Dart API 令牌
功能
- 任务管理
- 创建和更新任务
- 设置任务优先级和状态
- 将任务分配给团队成员
- 文档管理
- 创建和组织文档
- 支持 Markdown 内容
- 生成报告
- 空间管理
- 创建和管理工作区
- 使用文件夹组织内容
- 控制访问权限
- Dartboard 集成
- 默认状态管理
- 任务组织
- 团队协作
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Dart MCP 服务器:
npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claude
手动安装
- 克隆仓库:
git clone https://github.com/jmanhype/dart-mcp-server.git
cd dart-mcp-server
- 安装 Node.js 依赖项:
npm install
- 设置 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
- 设置环境变量:
# Copy example environment file
cp .env.example .env
# Edit .env with your configuration
# Required: DART_TOKEN
# Optional: PYTHONPATH (path to dart sdk)
使用方法
- 构建 TypeScript 代码:
npm run build
- 启动 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: 列出可用的 dartboards。get_folders: 列出空间中的文件夹。create_folder: 创建新文件夹。create_doc: 创建新文档或报告。create_space: 创建新的工作区。delete_space: 删除现有的工作区。
故障排除
如果遇到问题:
-
验证 Python 环境:
python --version pip list | grep dart -
检查 Dart SDK 安装:
python -c "import dart; print(dart.__version__)" -
验证环境变量:
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),并带有“marketing”标签。
你可以使用 dart --help 或更具体的子命令帮助来探索所有这些选项和更多功能,在本例中为 dart createtask --help。
另一个常见的工作流程是更新现有的任务。为此,请运行类似以下的命令:
dart updatetask [DUID] -s Done
此命令将标记引用的任务为“已完成”。这里的 [DUID] 需要替换(包括方括号)为现有任务的“Dart ID”。你可以通过多种方式获取 DUID,例如从任务 URL 的末尾复制它,或在 Dart 任务页面中点击“...”按钮然后选择“复制 ID”。
使用 Python 库
首先,设置身份验证。在终端中运行 dart login 进行交互式过程,或者访问你的 Dart 个人资料,然后运行 dart.login(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 服务器
Model Context Protocol (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 工具:
- 任务管理(创建/更新任务)
- 文档管理(创建/组织文档)
- 空间管理(工作区/文件夹)
- Dartboard 集成
有关详细文档,请参阅 MCP 服务器 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 许可证。