Dart MCP服务器

该服务是一个MCP服务器,将Dart项目管理平台桥接到AI助手,提供任务管理、文档、空间和dartboard操作的功能。

  • by jmanhype
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 jmanhype/dart-mcp-server

使用说明

dart mcp服务器

MCP服务器,用于桥接 飞镖 项目管理平台到人工智能助手。服务器是TypeScript,但使用 dart-sdk 包裹。

它的作用

将Dart的任务管理、文档、空间和飞镖板操作作为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
许可证 麻省理工学院

MCP工具

工具 它做什么
create_task 创建一个包含标题、描述、优先级、状态、受让人、标签的任务
update_task 按DUID更新现有任务的状态、标题或描述
get_default_status 返回飞镖靶的默认状态DUID
get_default_space 返回默认空间DUID
get_dartboards 列出可用的飞镖靶
get_folders 列出空间中的文件夹
create_folder 创建新文件夹
create_doc 创建文档或报告
create_space 创建新工作区
delete_space 按DUID删除工作区

设置

通过史密瑟里

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 该脚本创建了一个virtualenv,在某些CI环境中可能会失败

依赖项

包装 版本 用途
@modelcontextprotocol/sdk ^1.5.0 MCP服务器协议
dotenv ^16.4.7 环境变量加载
typescript ^5.3.3 构建工具链
dart-sdk (pip) 用于Dart API的Python客户端

许可证

麻省理工学院