
Delivery Note
io.github.theluckystrike由 GitHub 帳號 theluckystrike 發布v0.22.7更新於 Oct 25, 2026
Delivery notes vs a quote or work order: dated deliverables, due dates, sign-off.
概覽
依報價單或工單追蹤帶日期的交付里程碑,依指定日期報告哪些已逾期,並把已驗收的里程碑轉成開立發票或報價項目。
- 可以做什麼
- 建立關聯報價單、工單或變更單的交付排程,並加入帶到期日與選填金額(以最小貨幣單位計)的交付項目。讓交付項目在已規劃、進行中、已交付、已驗收之間流轉,並記錄每一步實際發生的日期。依指定日期讀取單一排程,或依客戶與編號列出排程。產生逾期報告,依嚴重程度排序並列出各幣別的受險金額。把排程匯出成含簽收欄位的純文字客戶文件,並把已驗收里程碑轉成可開立發票或可報價的項目。
- 適用情境
- 適合把客戶工作拆成多個帶日期交接節點的情境,需要知道截至某一天哪些已逾期、哪些有風險。適合依已驗收里程碑請款、希望從同一份紀錄取得排程、逾期判斷與開票資料的自由工作者與小型團隊。
- 執行需求
- 以本機程序在使用者電腦上執行,也可作為託管端點供以 URL 連線的用戶端使用。README 中的 npx 套件尚未發布,因此文件裡的 npx 指令目前會失敗;另提供一鍵桌面安裝包。不需帳號或 API 金鑰;Pro 功能需要授權金鑰,離線驗證。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Delivery Note,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
mcp-delivery-schedule
In the official MCP Registry (io.github.theluckystrike/delivery-schedule).
Dated deliverables against a quote, a work order or a change order. Each one carries what
is being handed over, the day it is due, its value in minor units, and a status that moves
planned to in progress to delivered to accepted, every step with the day it actually
happened. late_report then answers the only question anybody asks about a schedule: what
has slipped, as at a date you name. Once the client has signed something off, the accepted
milestones come back as invoice_create-ready items in MAJOR units and quote_create-ready
items in MINOR units, in one call, with the scale printed against each.
Late is not a status here, it is a reading. A stored "late" flag is a fact about the afternoon somebody last ran the report, and it keeps being reported long after the work lands. So nothing derived is stored: a deliverable holds its due date, its value and its dated history, and the current status, the delivered date, the acceptance note, the lateness and every total are worked out on the call, against the date you passed.
Install
One-click (.mcpb): download delivery-schedule.mcpb from the latest release and double-click it in Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
Hosted, no install: point a URL-based client at https://mcp.zovo.one/mcp/delivery-schedule. GET https://mcp.zovo.one/mcp/connect mints a token and prints a ready URL.
npm publish for @theluckystrike/mcp-delivery-schedule is pending, so the npx line below returns 404 today.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
Claude Code
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.
Tools
Free vs Pro
The cap counts OPEN schedules, the jobs that still owe something, not the jobs you have
ever run. Accepting the last deliverable completes a schedule and frees its slot without
deleting the record, and delivery_schedule_delete clears an empty one; both are free on
every tier, because a way back that only a Pro key can reach is not a way back.
Get Pro: https://mcp.zovo.one/buy/delivery-schedule (one-time $19, lifetime), or all servers for $39: https://mcp.zovo.one/buy/bundle
The status machine
planned to in_progress or straight to delivered; delivered to accepted. Accepted
is final, and nothing moves back: work the client sent back is a new deliverable with its
own due date, so the record keeps both the miss and the fix. Accepting something that was
never delivered is refused by name, because acceptance is the client's answer to a
handover and a deliverable accepted on a day nothing was handed over has no delivered date
to bill from. Every move carries the day it actually happened, and a move dated before the
reference document's own date, or before the previous move, is refused so the history reads
as a timeline.
What "late" means
A deliverable is late once as_of is PAST its due date and it has not been delivered by
then. One due on as_of itself is due_today, not late, which is the same rule the
statement server ages an invoice by. A deliverable that was delivered is delivered_late
or delivered_on_time by comparing its delivered date with its due date, which is a fact
that no longer moves. Every comparison is between two YYYY-MM-DD strings and every day
count is the difference of two UTC midnights, so the answer is the same on a laptop in
Warsaw and a server in Auckland.
Two readings of the same store, four days apart, differ on purpose:
Deliverables with no price
A deliverable with no value_minor is not worth zero. It is one whose price was never
stated here, usually because the job is a lump sum, and adding it in as zero would
understate every total with nothing on the page to say so. It is counted apart wherever a
total is printed, and milestone_payload lists it under excluded.accepted_but_unpriced
rather than billing it. Nothing here invents a price.
Where the money comes from
This server keeps no arithmetic of its own. computeTotals, currencyDecimals,
formatMoney and daysBetween are imported from @theluckystrike/mcp-invoice/lib, the
corrupt-store quarantine from @theluckystrike/mcp-timezone/lib, the timezone-aware
"today" from @theluckystrike/mcp-quotes/lib. The VAT rate, the currency and the business
name come from the shared business profile that business_set in the invoice server writes.
Nothing is written outside this server's own directory, and no sibling store is opened.
The measured insight
The same deliverable is late, on time and not yet due depending only on the date you ask about, so storing the answer is storing the day somebody asked. D02 in the worked example is due 2026-04-20 and was delivered 2026-04-24. Read at 2026-04-22 it is late by two days with no delivered date at all, even though the store already holds one dated 04-24. Read at 2026-05-01 it is delivered late by four days. Read at 2026-04-19 it is not yet due. One store, three answers, all correct. The unit suite asserts all three from one unchanged sandbox, and a separate suite replays every call under four timezones fourteen hours apart and asserts the responses are byte-identical, so the day somebody reads the report on a laptop that travelled cannot move a client's deadline.
Privacy
All data stays on your machine, in
${XDG_DATA_HOME:-~/.local/share}/mcp-servers/delivery-schedule/. Nothing is sent
anywhere. There is no account and no API key. License keys are verified offline. This
server reads one file it does not own, the shared business profile, and writes into no
store but its own.
Built by theluckystrike. https://github.com/theluckystrike
Use these docs as an MCP server
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:
- Docs MCP URL: https://gitmcp.io/theluckystrike/mcp-delivery-schedule
來源:servers/delivery-schedule/README.md,提交 e827c57
工具
0版本歷史
2- v0.22.7最新Oct 14, 2026
- v0.22.0Sep 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分