mcpField
D
Dart MCP Server

Dart MCP Server

本地服务
github.com/jmanhype生产力531 周前更新

关于 Dart MCP Server

Dart MCP Server 将 Dart 项目管理平台的任务、文档、空间和 dartboard 操作提供给 AI 助手。它通过 Python 子进程调用 Dart SDK,并以 stdio 与 MCP 客户端通信。

主要功能

  1. 01创建和更新任务
  2. 02查询 dartboard 与默认状态
  3. 03列出和创建文件夹
  4. 04创建文档与空间
  5. 05删除空间

适用场景

  1. 01在 Dart 中创建或修改任务
  2. 02查询空间和 dartboard 信息
  3. 03创建项目文档或报告
  4. 04管理工作空间及文件夹

MCP 相关

作为 MCP 服务,它向客户端提供 Dart 任务、文档、空间和 dartboard 操作工具,并通过 stdio 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dart-mcp-server-jmanhype": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

dart-mcp-server

smithery badge

将 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 SDKdart-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.0MCP 服务协议
dotenv^16.4.7环境变量加载
typescript^5.3.3构建工具链
dart-sdk(pip)Dart API 的 Python 客户端

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。