项目简介
Scopecraft Command 是一个任务管理工具,支持 Markdown 驱动任务管理 (MDTM) 文件格式。它提供了命令行接口 (CLI) 和一个 MCP (Model Context Protocol) 服务器,用于与任务文件进行交互。其 MCP 服务器组件允许大型语言模型 (LLMs) 客户端(如 Roo Commander)以标准化的方式访问和操作任务、阶段、特性和领域等资源,并调用相关的工具功能。
主要功能点 (通过 MCP 提供给 LLM 客户端)
- 任务管理: 列出、获取、创建、更新、删除任务,支持按状态、类型、责任人、标签、阶段、子目录等多种条件过滤。
- 任务工作流: 查找下一个推荐任务,支持标记任务为完成并自动推荐下一个任务。
- 任务关系: 支持任务间的依赖、父子、前后关系,可通过 MCP 工具进行管理。
- 阶段管理: 列出、创建、更新、删除项目阶段。
- 特性 (Feature) 管理: 列出、获取、创建、更新、删除通过 'FEATURE_' 目录组织的特性及其相关的概述文件和任务。
- 领域 (Area) 管理: 列出、获取、创建、更新、删除通过 'AREA_' 目录组织的跨领域工作项及其相关的概述文件和任务。
- 模板列表: 列出可用于任务或实体创建的模板。
- 文件系统交互: 直接操作 MDTM 格式的 Markdown 文件(带 TOML/YAML Frontmatter)。
- 多种传输协议: 支持 Streamable HTTP (基于 Express) 和 STDIO 两种 MCP 传输协议。
安装步骤
该项目可以通过 npm、yarn 或 bun 进行全局安装。在安装前,请确保你的系统已安装 Node.js (包含 npm) 或 Bun。
# 使用 npm 进行全局安装 npm install -g @scopecraft/cmd # 或者使用 yarn yarn global add @scopecraft/cmd # 或者使用 bun bun install -g @scopecraft/cmd
安装完成后,'scopecraft' (或 'sc')、'scopecraft-mcp' (或 'sc-mcp') 和 'scopecraft-stdio' (或 'sc-stdio') 命令将全局可用。
你也可以使用 'npx' 直接运行命令而无需全局安装:
# 运行 MCP 服务器 (HTTP/SSE) npx -p @scopecraft/cmd scopecraft-mcp # 运行 MCP 服务器 (STDIO) npx -p @scopecraft/cmd scopecraft-stdio
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要知道如何启动并连接到 MCP 服务器。以下是配置 MCP 客户端所需的信息,用于启动 Scopecraft MDTM MCP 服务器:
一个典型的 MCP 客户端配置会要求提供以下信息(通常以 JSON 对象表示):
- 'server name': 服务器的唯一标识符,供客户端内部使用。建议使用 'scopecraft-cmd' 或 'sc-cmd'。
- 'command': 启动 MCP 服务器的可执行命令。可以使用全局安装后的 'scopecraft-mcp' 或 'scopecraft-stdio'。如果使用 'npx',命令会略有不同,通常是 'npx' 加上 '-p @scopecraft/cmd' 和实际命令名。
- 'args': 传递给启动命令的参数列表(字符串数组)。
- 对于 'scopecraft-mcp' (Streamable HTTP 服务器):
- '--port <port>': 指定监听端口,例如 '"--port", "3500"'。默认端口为 3500。
- 对于 'scopecraft-stdio' (STDIO 服务器):
- '-v' 或 '--verbose': 启用详细日志输出,例如 '"-v"'。
- 两种模式都支持:
- '--mode <mode>': 强制项目模式,可以是 '"roo"' 或 '"standalone"',例如 '"--mode", "standalone"'。
- 对于 'scopecraft-mcp' (Streamable HTTP 服务器):
例如,一个使用 'scopecraft-mcp' 的客户端配置片段可能包含: '"name": "scopecraft-cmd"' '"command": "scopecraft-mcp"' '"args": ["--port", "3500"]'
或者使用 'scopecraft-stdio': '"name": "scopecraft-cmd"' '"command": "scopecraft-stdio"' '"args": ["-v"]'
客户端将根据这些信息在需要时启动服务器进程,并通过相应的传输协议 (Streamable HTTP 或 STDIO) 与其通信。确保在运行服务器的目录中存在 '.tasks' 或 '.ruru' 目录结构(通过运行 'sc init' 初始化)。
基本使用方法
- 初始化项目: 在你的项目根目录或希望存放任务文件的位置运行初始化命令,创建一个 '.tasks' (standalone 模式) 或 '.ruru' (Roo Commander 模式) 目录结构。
sc init # 或者指定模式 sc init --mode standalone sc init --mode roo - 启动 MCP 服务器: 打开终端,切换到包含 '.tasks' 或 '.ruru' 目录的目录,然后启动 MCP 服务器。
服务器会保持运行,等待 MCP 客户端连接。sc-mcp # 启动 HTTP/SSE 服务器 (默认端口 3500) sc-mcp --port 3501 # 启动 HTTP/SSE 服务器 (指定端口) sc-stdio # 启动 STDIO 服务器 - 连接 MCP 客户端: 在支持 MCP 的 LLM 客户端(如 Roo Commander)中,根据上述“服务器配置”部分的信息配置 Scopecraft MDTM MCP 服务器。客户端将自动发现并使用该服务器提供的工具来管理你的 MDTM 任务文件。
- LLM 客户端交互: 在 LLM 客户端中,你可以通过调用服务器暴露的工具(例如,使用 'mcp__scopecraft-cmd__task_list' 等形式的工具名称)来执行任务管理操作,或让 LLM 根据任务上下文提供帮助。
信息
分类
AI与计算