theluckystrike MCP Change Order
Manages change orders against quotes or work orders, tracking added, removed, and changed lines with quantities, unit prices, reasons, and dates. It maintains a status workflow from draft to approved or rejected, calculates the running contract value based on approved deltas, and generates invoice-ready items.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.zovo.one/mcp/change-orderWhat its tools do
11 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Add or remove line items to a draft change order with quantities and prices
- Track approval status and calculate the running contract value
- Generate a plain-text document for client approval
- Create invoice-ready delta lines from approved changes
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- mcp-change-order 0.22.6
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 11 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
11 advertised
change_order_create — Raise a change order
Raise a change order against a quote or work order and return its CO-YYYY-NNNN number: the reference, the client, a title, the date, and the original contract value in minor units. Free tier: 5 open.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reference",
"client",
"title"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "The day the change was raised, YYYY-MM-DD. Default today"
},
"note": {
"type": "string",
"maxLength": 2000
},
"title": {
"type": "string",
"maxLength": 2000,
"description": "What the change is, in one line, e.g. Add a second landing page and drop hosting"
},
"client": {
"type": "string",
"maxLength": 200,
"description": "The client the change is agreed with, as named on the quote or work order"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO code the contract is priced in. Defaults to the shared business profile's currency"
},
"reference": {
"type": "string",
"maxLength": 64,
"description": "The quote or work order this change order is against, by its id, e.g. Q-2026-0003 or WO-2026-0001"
},
"duplicate_ok": {
"type": "boolean",
"description": "Raise it even though an identical change order exists on this reference. Default false"
},
"reference_kind": {
"enum": [
"quote",
"work_order"
],
"type": "string",
"description": "What the reference is. Inferred from the id when omitted: WO-... is a work order, anything else a quote"
},
"original_value_minor": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "The contract value BEFORE any change order, net of VAT, in whole minor units. Required on the first change order against a reference; inherited by every later one"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_add_line — Add a changed line
Add one line to a draft change order: added or removed with a quantity and a unit price in minor units, or changed with the old and the new quantity and price, each with a reason and a date. Free.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order",
"kind",
"description",
"quantity",
"unit_price_minor",
"reason"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "The day the change was asked for, YYYY-MM-DD. Default the change order's date"
},
"kind": {
"enum": [
"added",
"removed",
"changed"
],
"type": "string",
"description": "added for new work, removed for work taken out, changed for a line whose quantity or price moves"
},
"note": {
"type": "string",
"maxLength": 2000
},
"reason": {
"type": "string",
"maxLength": 2000,
"description": "Why, in the client's words if you have them, e.g. Client asked for a second page after the kickoff"
},
"quantity": {
"type": "number",
"maximum": 1000000,
"description": "added or removed: how many. changed: the NEW quantity",
"exclusiveMinimum": 0
},
"tax_rate": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "VAT percent for this line, overriding the shared profile's default"
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "The line as it reads on the quote or work order, e.g. Website audit"
},
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
},
"was_quantity": {
"type": "number",
"maximum": 1000000,
"description": "changed only: the quantity before the change",
"exclusiveMinimum": 0
},
"unit_price_minor": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "added or removed: the unit price in whole minor units. changed: the NEW unit price. 45000 is EUR 450.00"
},
"was_unit_price_minor": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "changed only: the unit price before the change, in whole minor units"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_status — Move a change order along
Move one change order along and stamp the date and note: draft to sent, sent to approved or rejected, either to void. Backwards steps, an unsent approval and a backdated move are all refused.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order",
"status"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "The day it happened, YYYY-MM-DD. Default today"
},
"note": {
"type": "string",
"maxLength": 2000,
"description": "What happened, e.g. Emailed to the client, or Approved by phone, confirmed in writing"
},
"status": {
"enum": [
"draft",
"sent",
"approved",
"rejected",
"void"
],
"type": "string",
"description": "The status to move to"
},
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_get — Show one change order
Return one change order in full by CO number or client: every added, removed and changed line with its reason and delta, VAT, delta gross, the status history and the running value. change_order_list finds the id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order"
],
"properties": {
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_list — List change orders
List change orders newest first with status, reference, client, currency and net delta, and above them the APPROVED and the pending delta per currency, kept apart. Filter by reference, status, client, date.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Latest date, YYYY-MM-DD"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "Earliest date, YYYY-MM-DD"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Maximum rows returned, default and ceiling 500"
},
"client": {
"type": "string",
"maxLength": 200,
"description": "Only change orders whose client name contains this text"
},
"status": {
"enum": [
"draft",
"sent",
"approved",
"rejected",
"void",
"open"
],
"type": "string",
"description": "One status, or open for draft and sent together"
},
"reference": {
"type": "string",
"maxLength": 64,
"description": "Only change orders against this quote or work order"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_delete — Delete an empty draft
Delete a DRAFT change order with no lines, freeing an open slot. One sent, approved, rejected or voided is refused, and so is one carrying lines: void it with change_order_status instead. The number is not reissued.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order"
],
"properties": {
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}contract_value — Running contract value
The running value of one quote or work order: original, approved deltas and current value, with pending draft and sent deltas kept apart. Net of VAT. A reference with no change order is refused.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"maxLength": 64,
"description": "The quote or work order this change order is against, by its id, e.g. Q-2026-0003 or WO-2026-0001"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_document — Change order document
Render one change order as a plain-text document for the client to approve: every line with its reason, the delta net and gross, the contract value before and after, and an approval block. The same text also comes back as a .txt download link valid for one hour. Pro.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order"
],
"properties": {
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}change_order_invoice_payload — Invoice payload for an approved delta
Build the approved delta as invoice_create-ready items in MAJOR units and quote_create-ready items in MINOR units, with VAT at the shared profile rate. Writes nothing and creates nothing. Pro.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_order"
],
"properties": {
"tax_rate": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "VAT percent for lines with no rate of their own, overriding the shared business profile's default"
},
"issue_date": {
"type": "string",
"maxLength": 10,
"description": "The invoice issue date, YYYY-MM-DD. Default today"
},
"change_order": {
"type": "string",
"maxLength": 200,
"description": "The change order id, e.g. CO-2026-0001, or its title when only one carries it"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}license_status — License status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}license_activate — Activate license
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"description": "License key from checkout, MCPL1.<payload>.<signature>"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
2 advertised
upgrade_to_pro — Explain the upgrade
Explain what Pro on the change-order server costs and exactly what the user has to do, without leaving the conversation.
- feature
- The capped feature that prompted this, if there was one
agree_the_change — Raise a change order and get it approved
Record what changed against a quote or work order, send it, record the client's answer, and build the invoice payload for the approved delta.
- reference
- The quote or work order id, e.g. Q-2026-0003 or WO-2026-0001 (required)
Resources
2 advertised
pricing — Pricing and upgrade
What change-order costs, what Pro unlocks, the checkout link that carries this connection's token, and the one step a person has to take. Machine-readable; read it before telling a user how to lift a free-tier cap.
pricing://change-ordercontract — The status machine, the two scales, the free tier and where this server writes
The five statuses and the legal moves, how the running value is built, the two payload scales, the free-tier limits and the one document this server writes.
changeorder://contract90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
- 2026-11-09: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1239 ms
- 95th percentile latency
- 1239 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1239 ms · metadata changed · 11 tool(s), 2 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http mcp-change-order https://mcp.zovo.one/mcp/change-orderCodex
codex mcp add mcp-change-order --url https://mcp.zovo.one/mcp/change-orderCursor
{
"mcpServers": {
"mcp-change-order": {
"url": "https://mcp.zovo.one/mcp/change-order"
}
}
}Cline
{
"mcpServers": {
"mcp-change-order": {
"type": "streamableHttp",
"url": "https://mcp.zovo.one/mcp/change-order",
"disabled": false
}
}
}VS Code
{
"servers": {
"mcp-change-order": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/change-order"
}
}
}Gemini CLI
gemini mcp add --transport http mcp-change-order https://mcp.zovo.one/mcp/change-orderClaude Desktop
https://mcp.zovo.one/mcp/change-orderWindsurf
{
"mcpServers": {
"mcp-change-order": {
"serverUrl": "https://mcp.zovo.one/mcp/change-order"
}
}
}Let your agent find its tools
Find servers like theluckystrike MCP Change Order from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.