variation-order について
variation-order は、見積もりや作業指示への変更を管理する MCP サーバーです。顧客の承認と契約金額の更新を記録し、承認済みの変更から現在額を算出して、請求や見積もり用の明細を生成します。
主な機能
- 01追加・削除・変更明細の記録
- 02変更状況と日付の追跡
- 03承認済み額と保留額の分離
- 04契約の現在額と差額の算出
- 05請求・見積もり用明細の生成
活用シーン
- 01工事やサービス案件の変更内容を記録
- 02承認前後の契約金額を確認
- 03承認済み変更を請求・見積もりに連携
MCP 対応
変更注文の作成、状態管理、詳細取得、契約金額計算のツールを MCP クライアントに提供します。承認済み変更は invoice_create と quote_create 用の明細引数に変換できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-change-order
公式 MCP Registry に掲載されています(io.github.theluckystrike/change-order)。
見積もりまたは作業指示書に対する変更注文を、現場で変更として記録するのと同じ方法で管理します。
追加した内容、削除した内容、変更した内容を、それぞれ理由と日付とともに記録してクライアントに送り、回答を受け取ります。現在の契約金額は、当初の金額にクライアントが承認した差額を加えたものです。まだ回答がない内容は保留として表示され、金額には加算されません。
変更注文が承認されると、差額は1回の呼び出しで、MAJOR 単位の invoice_create 対応項目と MINOR 単位の quote_create 対応項目として返され、各項目に単位が表示されます。
差額は保存されません。変更注文には明細とステータス履歴が保持され、差額、現在の契約金額、VAT は、呼び出しのたびに請求書サーバー独自の計算方法で算出されます。推測で値を補うことはありません。参照先に対する最初の変更注文で当初の契約金額を一度だけ指定し、以降の変更注文はその金額を引き継ぎます。異なる金額が指定された場合は、その旨を明示して拒否されます。
インストール
ワンクリック(.mcpb):最新リリースから change-order.mcpb をダウンロードし、Claude Desktop でダブルクリックしてください:
https://github.com/theluckystrike/mcp-servers/releases/latest
ホスト型、インストール不要:URL ベースのクライアントから https://mcp.zovo.one/mcp/change-order を指定してください。GET https://mcp.zovo.one/mcp/connect でトークンを発行し、そのまま使える URL を表示します。
@theluckystrike/mcp-change-order の npm 公開は保留中のため、以下の npx コマンドは現在 404 を返します。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または
%APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"change-order": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-change-order"]
}
}
}
Claude Code
claude mcp add change-order -- npx -y @theluckystrike/mcp-change-order
Cursor
~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)。Claude Desktop と同じエントリーです。
ツール
| ツール | 機能 |
|---|---|
change_order_create | 見積もりまたは作業指示書に対する変更注文を起票します。参照先、クライアント、タイトル、日付、および最初の変更注文の場合は当初の契約金額を指定します |
change_order_add_line | 下書きに追加、削除、または変更の明細を追加します。数量、最小通貨単位での単価、理由、日付を指定します |
change_order_status | ステータスを進めます。下書きから送信済み、送信済みから承認または却下、下書きまたは送信済みから無効へと、各ステップの日付を記録します |
change_order_get | 変更注文1件の全情報を取得します。差額付きの全明細、VAT、履歴、参照先の現在の契約金額が含まれます |
change_order_list | 参照先、ステータス、クライアント、日付範囲で変更注文を絞り込み、通貨ごとの承認済み差額と保留中の差額を表示します |
change_order_delete | 誤って起票した明細のない下書きを削除します。すべてのプランで無料です |
contract_value | 1つの参照先の現在の契約金額を表示します。当初の金額、承認済み差額、現在の金額、別枠で保持される保留中の差額が含まれます |
change_order_document | クライアントが承認するための、変更注文のプレーンテキスト文書を作成します |
change_order_invoice_payload | 承認済み差額を、invoice_create 用の項目(MAJOR 単位)および quote_create 用の項目(MINOR 単位)として出力します |
license_status / license_activate | Free または Pro の状態と、アップグレード先を表示します |
Free と Pro の比較
| Free | Pro | |
|---|---|---|
| 未完了の変更注文(下書きおよび送信済み) | 5 | 無制限 |
| 変更注文あたりの明細数 | 200 | 200 |
| 起票、明細追加、ステータス変更、取得、一覧表示、削除 | はい | はい |
| 現在の契約金額 | はい | はい |
| 変更注文文書 | いいえ | はい |
| 請求書対応の差額ペイロード(両方の単位) | いいえ | はい |
上限の対象は、クライアントがまだ回答していない未完了の変更注文であり、これまでに起票した変更注文の総数ではありません。承認、却下、無効化すると枠が空き、明細のない下書きに対して change_order_delete を実行しても枠が空きます。これらはすべてのプランで無料です。Pro キーがないと戻れない状態にしてはならないためです。
Pro の購入先:https://mcp.zovo.one/buy/change-order(買い切り 19 ドル、生涯利用可能)、または全サーバーを 39 ドルで利用:https://mcp.zovo.one/buy/bundle
ステータスマシン
draft から sent へ、sent から approved または rejected へ、draft または sent から void へ遷移します。
approved、rejected、void は最終状態です。draft は直接承認できません。承認とは、送付した内容に対するクライアントの回答だからです。変更注文への項目追加は、変更注文が draft の間だけ可能です。項目を追加する必要がある場合、送付済みの変更注文は無効にして、改めて作成します。これにより、クライアントが承認する内容は常に送付済みの内容と一致します。各ステップにはそれぞれ日付があり、直前のステップより前の日付のステップは拒否されます。
金額の出どころ
このサーバーは独自の計算処理を持ちません。computeTotals、currencyDecimals、formatMoney、roundHalfUp は @theluckystrike/mcp-invoice/lib から、破損したストアの隔離処理は @theluckystrike/mcp-timezone/lib から、タイムゾーンを考慮した「今日」の取得処理は @theluckystrike/mcp-quotes/lib からインポートされます。VAT 率、通貨、事業者名は、請求書サーバーの business_set が書き込む共有ビジネスプロフィールから取得します。このサーバー独自のディレクトリ外には何も書き込まず、兄弟サーバーのストアを開くこともありません。
実測から得た知見
変更された明細行は1項目ではなく2項目です。純額を示す項目が1つだけでは、顧客が確認できる情報が何も残らないからです。 たとえば、1行が 3 x EUR 450.00 から 5 x EUR 420.00 に変更された場合、その価値は +EUR 750.00 です。つい作りたくなるペイロードは、単価 EUR 750.00、数量 1 の項目を1つだけ含むものです。しかし、顧客は署名した変更注文の情報を使って、その金額を再現できません。このサーバーが出力するペイロードは、-3 x EUR 450.00 の取り消しと、改定後の 5 x EUR 420.00 です。どちらも計算機で金額を再現でき、両方を対象に computeTotals を実行した結果は、同じ +EUR 750.00 になります。これは、請求書サーバーの roundHalfUp が符号に対して対称だからです。同じルールで、削除は記帳時の単価を使った負の数量として表されます。これは invoice_create が受け付ける形式です。ユニットテストでは、返されたペイロードに対して請求書サーバー独自の computeTotals を再実行し、4つの項目値と3つの合計値を検証します。さらに、quote_create の項目を、MINOR の値を MAJOR として同じ計算エンジンに渡し、純額が正確に100倍になることを検証します。そのため、誰かがペイロードを純額の項目1つに「簡略化」したり、2つの尺度の間でフィールドを移動したりした場合、顧客より先にビルドがそれを検知します。
プライバシー
すべてのデータは、お使いのマシン上の ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/change-order/ に保存されます。どこにもデータは送信されません。アカウントも API キーも必要ありません。ライセンスキーはオフラインで検証されます。このサーバーは、自身が所有していないファイルとして共有ビジネスプロフィールを1つ読み取りますが、自身のストア以外には何も書き込みません。
theluckystrike 作。https://github.com/theluckystrike
MCP サーバーとしてドキュメントを使う
GitMCP を使うと、任意の MCP クライアント(Claude、Cursor、Windsurf、VS Code)がインストールなしで、このリポジトリのドキュメントを直接読み取れます。
- ドキュメント MCP URL:https://gitmcp.io/theluckystrike/mcp-change-order
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。