项目简介

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 对象表示):

  1. 'server name': 服务器的唯一标识符,供客户端内部使用。建议使用 'scopecraft-cmd' 或 'sc-cmd'。
  2. 'command': 启动 MCP 服务器的可执行命令。可以使用全局安装后的 'scopecraft-mcp' 或 'scopecraft-stdio'。如果使用 'npx',命令会略有不同,通常是 'npx' 加上 '-p @scopecraft/cmd' 和实际命令名。
  3. 'args': 传递给启动命令的参数列表(字符串数组)。
    • 对于 'scopecraft-mcp' (Streamable HTTP 服务器):
      • '--port <port>': 指定监听端口,例如 '"--port", "3500"'。默认端口为 3500。
    • 对于 'scopecraft-stdio' (STDIO 服务器):
      • '-v' 或 '--verbose': 启用详细日志输出,例如 '"-v"'。
    • 两种模式都支持:
      • '--mode <mode>': 强制项目模式,可以是 '"roo"' 或 '"standalone"',例如 '"--mode", "standalone"'。

例如,一个使用 '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' 初始化)。

基本使用方法

  1. 初始化项目: 在你的项目根目录或希望存放任务文件的位置运行初始化命令,创建一个 '.tasks' (standalone 模式) 或 '.ruru' (Roo Commander 模式) 目录结构。
    sc init
    # 或者指定模式
    sc init --mode standalone
    sc init --mode roo
  2. 启动 MCP 服务器: 打开终端,切换到包含 '.tasks' 或 '.ruru' 目录的目录,然后启动 MCP 服务器。
    sc-mcp         # 启动 HTTP/SSE 服务器 (默认端口 3500)
    sc-mcp --port 3501 # 启动 HTTP/SSE 服务器 (指定端口)
    sc-stdio       # 启动 STDIO 服务器
    服务器会保持运行,等待 MCP 客户端连接。
  3. 连接 MCP 客户端: 在支持 MCP 的 LLM 客户端(如 Roo Commander)中,根据上述“服务器配置”部分的信息配置 Scopecraft MDTM MCP 服务器。客户端将自动发现并使用该服务器提供的工具来管理你的 MDTM 任务文件。
  4. LLM 客户端交互: 在 LLM 客户端中,你可以通过调用服务器暴露的工具(例如,使用 'mcp__scopecraft-cmd__task_list' 等形式的工具名称)来执行任务管理操作,或让 LLM 根据任务上下文提供帮助。

信息

分类

AI与计算