dart mcp服务器
](https://smithery.ai/server/@jmanhype/dart-mcp-server)
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 "",并解析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客户端 |
许可证
麻省理工学院
