关于 Dart MCP Server
Dart MCP Server 将 Dart 项目管理平台的任务、文档、空间和 dartboard 操作提供给 AI 助手。它通过 Python 子进程调用 Dart SDK,并以 stdio 与 MCP 客户端通信。
主要功能
- 01创建和更新任务
- 02查询 dartboard 与默认状态
- 03列出和创建文件夹
- 04创建文档与空间
- 05删除空间
适用场景
- 01在 Dart 中创建或修改任务
- 02查询空间和 dartboard 信息
- 03创建项目文档或报告
- 04管理工作空间及文件夹
MCP 相关
作为 MCP 服务,它向客户端提供 Dart 任务、文档、空间和 dartboard 操作工具,并通过 stdio 通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
dart-mcp-server
将 Dart 项目管理平台接入 AI 助手的 MCP 服务。该服务使用 TypeScript 编写,但会通过使用 dart-sdk 包的 Python 子进程处理所有 Dart API 调用。
功能
将 Dart 的任务管理、文档、空间和 dartboard 操作作为 MCP 工具提供。每次工具调用都会启动一个 Python 进程,该进程导入 dart-sdk、执行操作,并通过 stdout 返回 JSON 结果。通过 stdio 与 MCP 客户端通信。
状态
| 区域 | 状态 |
|---|---|
| MCP 传输方式 | stdio |
| 语言 | TypeScript(服务端)+ Python(Dart SDK 调用) |
| MCP SDK | @modelcontextprotocol/sdk ^1.5.0 |
| Dart SDK | dart-sdk(pip,通过子进程调用) |
| Node.js | >= 16.0.0 |
| Python | >= 3.8.0 |
| 许可证 | MIT |
MCP 工具
| 工具 | 功能 |
|---|---|
create_task | 创建任务,可设置标题、描述、优先级、状态、负责人和标签 |
update_task | 通过 DUID 更新现有任务的状态、标题或描述 |
get_default_status | 返回 dartboard 的默认状态 DUID |
get_default_space | 返回默认空间 DUID |
get_dartboards | 列出可用的 dartboard |
get_folders | 列出空间中的文件夹 |
create_folder | 创建新文件夹 |
create_doc | 创建文档或报告 |
create_space | 创建新工作区 |
delete_space | 通过 DUID 删除工作区 |
设置
通过 Smithery
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
npm install # also runs postinstall: creates .venv and pip installs dart-sdk
npm run build
npm start
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
DART_TOKEN | 是 | Dart API 令牌(从你的 Dart 个人资料中获取) |
PYTHONPATH | 否 | Dart SDK 路径;若不在默认位置则需设置 |
PYTHON_PATH | 否 | Python 可执行文件路径(默认为系统 Python) |
验证 Python 环境
python -c "import dart; print(dart.__version__)"
如果验证失败,MCP 服务将无法执行任何工具。
架构
src/
index.ts — MCP server, tool handlers, Python subprocess management
test.ts — Basic test runner
每个工具处理程序都会将 Python 脚本构建为字符串,启动 python3 -c "<script>",并解析 JSON 输出。Python 进程的超时时间为 120 秒。
限制
- 每次工具调用都会启动一个新的 Python 进程(与 Dart API 没有持久连接)
- 源代码中
.env路径被硬编码为/Users/speed/dart-tools/.env - 除 Dart SDK 提供的验证外,没有其他输入验证
- 列表操作不支持分页
- Python 子进程的错误消息会原样传递
postinstall脚本会创建虚拟环境,可能在某些 CI 环境中失败
依赖项
| 包 | 版本 | 用途 |
|---|---|---|
@modelcontextprotocol/sdk | ^1.5.0 | MCP 服务协议 |
dotenv | ^16.4.7 | 环境变量加载 |
typescript | ^5.3.3 | 构建工具链 |
dart-sdk | (pip) | Dart API 的 Python 客户端 |
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。