Scope Change

io.github.theluckystrike由 GitHub 账号 theluckystrike 发布v0.22.6更新于 Oct 24, 2026

Scope changes against a work order, each with a reason, a date and the client's approval on record.

发布方自己的服务:Scope (AEC) - Preview

概览

AI 生成的概览

本地 MCP 服务器,用于针对报价或工单登记并跟踪工程变更单,记录原因、日期、客户审批和累计合同金额。

可以做什么
  • 针对报价或工单创建变更单,填写编号、客户、标题、日期,首单还需填写原始合同金额
  • 添加新增、删除或修改的行项目,含数量、单价、原因和日期,并推动变更单在草稿、已发送、已批准、已拒绝或作废之间流转
  • 查看单张变更单的全部内容,或按编号、状态、客户和日期范围列出,并按币种显示已批准与待定差额
  • 计算某一编号的累计合同金额,将未获批准的差额单独列出
  • 生成供客户审批的纯文本变更单文件,以及已批准差额的发票或报价可用数据
  • 查询并激活 Pro 授权
适用场景
适合需要管理报价或工单变更的场景:让助手记录每次变更、分清已批准与待定的合同金额,并把已批准的差额交给开票或报价流程。
运行要求
以本地进程运行;README 提供 Claude Desktop 的一键 .mcpb 安装包、托管 URL,以及 npx 配置,但其 npm 包尚未发布。无需账号或 API 密钥。可选的 Pro 授权密钥通过 MCP_LICENSE_KEY 环境变量提供,并离线校验。会读取配套发票服务器写入的共享业务资料,以获取增值税率、币种和商户名称。
安装前请注意
免费版最多同时保留五张未结变更单;客户文件与发票可用数据需要 Pro 授权,为一次性付费购买。状态变更和删除会写入本地存储,且已批准、已拒绝和作废为终态。数据保存在本机用户数据目录,服务器声明不会向外发送任何内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Scope Change,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-change-order

In the official MCP Registry (io.github.theluckystrike/change-order). Change orders against a quote or a work order, kept the way a variation is kept on site: what was added, what was taken out and what changed, each with a reason and a date, sent to the client, and answered. The running contract value is the original plus the deltas the client has APPROVED; what they have not answered yet is shown as pending and never added in. Once a change order is approved, the delta comes 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.

No delta is stored. A change order holds its lines and its status history; the delta, the running value and the VAT are derived on every call, with the invoice server's own arithmetic. Nothing is invented: the first change order against a reference states the original contract value once, every later one inherits it, and a different figure is refused by name.

Install

One-click (.mcpb): download change-order.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/change-order. GET https://mcp.zovo.one/mcp/connect mints a token and prints a ready URL.

npm publish for @theluckystrike/mcp-change-order 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):

json
{  "mcpServers": {    "change-order": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-change-order"]    }  }}

Claude Code

sh
claude mcp add change-order -- npx -y @theluckystrike/mcp-change-order

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.

Tools

ToolWhat it does
change_order_createRaise a change order against a quote or work order: reference, client, title, date, and the original contract value on the first one
change_order_add_lineAdd an added, removed or changed line to a draft, with its quantity, unit price in minor units, reason and date
change_order_statusMove it along: draft to sent, sent to approved or rejected, draft or sent to void, each step dated
change_order_getOne change order in full: every line with its delta, the VAT, the history and the running value of the reference
change_order_listChange orders by reference, status, client and date range, with approved and pending deltas per currency
change_order_deleteDelete an empty draft raised by mistake. Free on every tier
contract_valueThe running value of one reference: original, approved delta, current value, pending delta held apart
change_order_documentThe change order as a plain-text document for the client to approve
change_order_invoice_payloadThe approved delta as invoice_create items (MAJOR units) and quote_create items (MINOR units)
license_status / license_activateFree or Pro, and where to upgrade

Free vs Pro

FreePro
Open change orders (draft and sent)5unlimited
Lines per change order200200
Raise, line, move, get, list, deleteyesyes
Running contract valueyesyes
Change order documentnoyes
Invoice-ready delta payload, both scalesnoyes

The cap counts OPEN change orders, the ones the client has not answered, not the ones you have ever raised. Approving, rejecting or voiding one frees its slot, and so does change_order_delete on a draft with no lines; all of those 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/change-order (one-time $19, lifetime), or all servers for $39: https://mcp.zovo.one/buy/bundle

The status machine

draft to sent; sent to approved or rejected; draft or sent to void. Approved, rejected and void are final. A draft cannot be approved directly: approval is the client's answer to something they were sent. Lines are added only while a change order is a draft; a sent one that needs another line is voided and raised again, so the client's approval always refers to what they were sent. Every step carries its own date, and a step dated before the last one is refused.

Where the money comes from

This server keeps no arithmetic of its own. computeTotals, currencyDecimals, formatMoney and roundHalfUp 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

A changed line is two items, not one, because one net item shows the customer nothing they can check. A line that goes from 3 x EUR 450.00 to 5 x EUR 420.00 is worth +EUR 750.00, and the tempting payload is one item of quantity 1 at EUR 750.00. The customer cannot reproduce that figure from anything on the change order they signed. The payload this server emits is a reversal, -3 x EUR 450.00, and the revised line, 5 x EUR 420.00; each reproduces on a calculator, and computeTotals over both is the same +EUR 750.00, because the invoice server's roundHalfUp is symmetric in sign. The same rule carries a removal as a negative quantity at the unit price it was booked at, which invoice_create accepts. The unit suite re-runs the invoice server's own computeTotals over the payload as returned and asserts the four item values and the three totals, then feeds the quote_create items into the same engine as though their MINOR figure were MAJOR and asserts the net is exactly 100x, so the day someone "simplifies" the payload to one net item, or moves a field between the two scales, the build says so instead of the customer.

Privacy

All data stays on your machine, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/change-order/. 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:

来源:servers/change-order/README.md,提交 6535b33

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v0.22.6最新Oct 14, 2026
  2. v0.22.3Sep 23, 2026
  3. v0.21.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Scope 集成