关于 delivery-schedule
delivery-schedule 是面向项目交付与签收管理的 MCP 服务,可将交付项关联到报价单、工单或变更单。它依据指定日期计算逾期情况,并提供已验收里程碑的计费数据。
主要功能
- 01按日期记录交付项与状态
- 02按指定日期生成逾期报告
- 03追踪客户验收及验收备注
- 04输出已验收里程碑的计费项目
- 05生成含签收栏的交付文档
适用场景
- 01检查项目哪些交付项已逾期
- 02记录交付过程及客户签收
- 03将验收里程碑转为发票项目
- 04向客户提供带签收栏的进度文档
MCP 相关
作为 MCP 服务,向 MCP 客户端提供交付计划、状态更新、逾期报告及里程碑项目等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-delivery-schedule
位于 官方 MCP Registry(io.github.theluckystrike/delivery-schedule)。
根据报价单、工作单或变更单安排有日期的交付项。每项都包含要交付的内容、到期日期、以次要货币单位计的价值,以及从计划中、进行中、已交付到已验收的状态;每一步都记录实际发生的日期。late_report 会回答关于进度安排唯一重要的问题:截至你指定的日期,哪些事项已经延期。一旦客户端签字确认,已验收的里程碑就会在一次调用中作为适用于 invoice_create 的 MAJOR 单位项目和适用于 quote_create 的 MINOR 单位项目返回,并标明每项使用的单位。
在这里,逾期不是一种状态,而是一种实时判断。存储的“逾期”标记只是某人上次运行报告时的情况,即使工作已经完成,它也会一直显示逾期。因此,系统不会存储任何派生数据:交付项只保存到期日期、价值和带日期的历史记录;当前状态、交付日期、验收备注、逾期情况以及所有总计,都会在调用时根据你传入的日期计算。
安装
一键安装(.mcpb):从最新版本下载 delivery-schedule.mcpb,然后在 Claude Desktop 中双击:
https://github.com/theluckystrike/mcp-servers/releases/latest
托管服务,无需安装:将基于 URL 的客户端指向 https://mcp.zovo.one/mcp/delivery-schedule。GET https://mcp.zovo.one/mcp/connect 会生成令牌并打印可直接使用的 URL。
@theluckystrike/mcp-delivery-schedule 的 npm 发布尚未完成,因此下面的 npx 命令目前会返回 404。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或
%APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"delivery-schedule": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-delivery-schedule"]
}
}
}
Claude Code
claude mcp add delivery-schedule -- npx -y @theluckystrike/mcp-delivery-schedule
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目),使用与 Claude Desktop 相同的条目。
工具
| 工具 | 功能 |
|---|---|
delivery_schedule_create | 创建针对报价单、工作单或变更单的进度安排:包括参考编号、该单据自身的日期、客户端和标题 |
deliverable_add | 添加一项有日期的交付项:交付内容、到期日期,以及在单独定价时以次要货币单位计的价值 |
deliverable_status | 记录带日期的状态变更:进行中、已交付,以及附有客户端验收备注的已验收 |
deliverable_delete | 删除误添加的交付项,前提是它仍处于计划中且尚无任何相关记录 |
delivery_schedule_get | 查看截至指定日期的完整进度安排,包括每项交付项的状态、日期、价值和逾期情况 |
delivery_schedule_list | 按客户端、参考编号和工作是否完成列出进度安排,并显示截至指定日期的计数 |
delivery_schedule_delete | 删除误创建的空进度安排。所有套餐均免费 |
late_report | 查看截至指定日期的逾期事项,按逾期严重程度从高到低排列,并显示每种货币面临风险的价值 |
delivery_schedule_document | 生成面向客户端的纯文本进度安排文档,并附带签字确认栏 |
milestone_payload | 将已验收的里程碑作为 invoice_create 项目(MAJOR 单位)和 quote_create 项目(MINOR 单位)返回 |
license_status / license_activate | 查看免费版或 Pro 版状态,以及升级方式 |
Free 与 Pro
| Free | Pro | |
|---|---|---|
| 未完成的日程(含有尚未接受事项的任务) | 3 | unlimited |
| 每个日程的交付项数 | 200 | 200 |
| 打开、添加、移动、获取、列出、删除 | yes | yes |
| 截至任意日期的逾期情况 | yes | yes |
| 交付日程文档 | no | yes |
| 里程碑发票数据,两种规模 | no | yes |
上限计算的是未完成的日程,也就是仍有事项待交付的任务,而不是你曾经运行过的所有任务。接受最后一项交付内容后,日程即告完成并释放名额,但记录不会被删除;delivery_schedule_delete 可以清除空日程。这两项功能在所有套餐中都免费,因为只有 Pro 密钥才能使用的回退方式,就不算真正的回退方式。
获取 Pro:https://mcp.zovo.one/buy/delivery-schedule(一次性支付 $19,终身使用),或以 $39 购买全部服务:https://mcp.zovo.one/buy/bundle
状态机
状态可以从 planned 变为 in_progress,也可以直接变为 delivered;delivered 可以变为 accepted。accepted 是最终状态,之后不能再变回去:客户端退回的工作应作为新的交付项,拥有自己的截止日期,这样记录才能同时保留逾期情况和修正结果。若交付项从未交付,系统会明确拒绝接受,因为接受是客户端对交接的回应,而在没有交付的日期接受交付项,就没有可用于开票的交付日期。每次状态变更都会记录实际发生的日期;如果该日期早于参考文档本身的日期,或早于上一次状态变更日期,系统就会拒绝,以确保历史记录按时间顺序排列。
“逾期”的含义
当 as_of 晚于截止日期,且交付项截至该日尚未交付时,该交付项才算逾期。截止日期恰好是 as_of 的交付项属于 due_today,而非逾期;这与发票服务计算发票账龄的规则相同。已交付的交付项会根据交付日期与截止日期的对比,标记为 delivered_late 或 delivered_on_time,这是不会再改变的事实。所有比较都针对两个 YYYY-MM-DD 字符串,所有天数都通过两个 UTC 午夜之间的差值计算,因此无论是在华沙的笔记本电脑上,还是在奥克兰的服务器上,结果都相同。
对同一数据存储在相隔四天时进行两次读取,结果会有意不同:
late_report as_of 2026-04-22 D02 is LATE by 2 days, nothing has been delivered late
late_report as_of 2026-05-05 D02 was DELIVERED LATE by 4 days, D03 is now LATE by 4 days
没有价格的交付项
没有 value_minor 的交付项并不等于价值为零。它表示此处从未注明价格,通常是因为该任务采用固定总价;如果将其按零计入,就会低估所有总额,却没有任何说明。凡是显示总额的地方,此类交付项都会单独计数;milestone_payload 会将其列在 excluded.accepted_but_unpriced 下,而不会用于计费。这里不会凭空设定价格。
金额的来源
此服务不自行执行任何计算。computeTotals、currencyDecimals、formatMoney 和 daysBetween 均从 @theluckystrike/mcp-invoice/lib 导入;损坏数据存储的隔离功能来自 @theluckystrike/mcp-timezone/lib;考虑时区的“今天”日期来自 @theluckystrike/mcp-quotes/lib。VAT 税率、货币和企业名称来自共享企业资料,该资料由发票服务中的 business_set 写入。除本服务自己的目录外,不会写入任何位置,也不会打开其他同级服务的数据存储。
测得的洞见
同一项交付内容只因查询日期不同,就可能是逾期、按时交付或尚未到期;因此,保存这个答案,就是保存有人查询的日期。 在示例中,D02 的截止日期是 2026-04-20,交付日期为 2026-04-24。以 2026-04-22 为查询日期时,它已逾期两天,且没有交付日期,尽管数据存储中已经有一条日期为 04-24 的记录。以 2026-05-01 为查询日期时,它属于逾期交付,逾期四天。以 2026-04-19 为查询日期时,它尚未到期。同一份数据存储,三种答案,全部正确。单元测试套件会在同一个未更改的沙盒中验证这三种情况;另一个独立测试套件会在相差十四小时的四个时区中重放每次调用,并验证响应逐字节相同,因此,在一台旅行过的笔记本电脑上读取报告的日期,不会改变客户端的截止日期。
隐私
所有数据都保留在你的设备上,存储于
${XDG_DATA_HOME:-~/.local/share}/mcp-servers/delivery-schedule/。不会向任何地方发送数据。
无需账户,也不需要 API 密钥。许可证密钥会离线验证。此服务只读取一个不归其所有的文件,即共享业务资料,并且只会写入自己的存储空间。
由 theluckystrike 构建。https://github.com/theluckystrike
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此代码仓库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。