scope-change
Server Details
Scope changes against a work order, each with a reason, a date and the client's approval on record.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- theluckystrike/mcp-servers
- GitHub Stars
- 0
TDQS
Scored across 11 tools
Each tool has a distinct purpose: create, add lines, delete drafts, render documents, fetch details, build invoice payloads, list, change status, query contract value, and manage licensing. No two tools overlap in function; even get vs list are clearly different. The licensing tools are separate from the change order domain but unambiguous.
The majority of tools follow a consistent verb_noun pattern with the change_order_ prefix (e.g., change_order_create, change_order_list). However, contract_value and the license_* tools deviate from this prefix pattern, creating minor inconsistency, though they still use a clear verb_noun structure internally.
With 11 tools, the server is well-scoped for change order management: full CRUD, workflow transitions, document generation, invoice integration, and licensing. Each tool serves a necessary function, and the count is neither excessive nor insufficient.
The tool surface covers the core lifecycle: creation, line management, status transitions, retrieval, listing, document generation, and invoice payload preparation. Minor gaps exist, such as no tool to edit or delete individual lines after they are added, and no explicit update to a change order beyond adding lines or status changes. These are workable limitations, not dead ends.
Available Tools
11 toolschange_order_add_lineAdd a changed lineAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The day the change was asked for, YYYY-MM-DD. Default the change order's date | |
| kind | Yes | added for new work, removed for work taken out, changed for a line whose quantity or price moves | |
| note | No | ||
| reason | Yes | Why, in the client's words if you have them, e.g. Client asked for a second page after the kickoff | |
| quantity | Yes | added or removed: how many. changed: the NEW quantity | |
| tax_rate | No | VAT percent for this line, overriding the shared profile's default | |
| description | Yes | The line as it reads on the quote or work order, e.g. Website audit | |
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it | |
| was_quantity | No | changed only: the quantity before the change | |
| unit_price_minor | Yes | added or removed: the unit price in whole minor units. changed: the NEW unit price. 45000 is EUR 450.00 | |
| was_unit_price_minor | No | changed only: the unit price before the change, in whole minor units |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutating, non-idempotent, non-destructive operation. The description adds some context by noting the draft-change-order scope and that each line carries a reason and date. It does not disclose failure modes, draft-status enforcement, or post-add effects, so the behavioral disclosure is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense, front-loaded sentence that states the action and its variants without filler. The standalone 'Free.' is minimal and communicates an additional operational fact without bloating the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with no output schema, the description covers the core usage pattern but omits details like the operation's result, what happens if the change order is not draft, or how ambiguity in the change_order reference is resolved. The strong schema mitigates but does not fully close this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (91%), and the schema already documents each parameter, including kind-specific fields like was_quantity and was_unit_price_minor. The description adds a useful grouping of added/removed versus changed parameters, but the schema carries most of the semantic burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Add one line to a draft change order.' It also enumerates the allowed line kinds (added, removed, changed), making the tool's purpose unambiguous and distinguishable from sibling operations like create or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly identifies when to use this tool: when adding a line to a draft change order, and covers the three line kinds. It does not explicitly mention exclusions or alternatives, but none of the sibling tools overlaps with this exact operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_createRaise a change orderAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The day the change was raised, YYYY-MM-DD. Default today | |
| note | No | ||
| title | Yes | What the change is, in one line, e.g. Add a second landing page and drop hosting | |
| client | Yes | The client the change is agreed with, as named on the quote or work order | |
| currency | No | ISO code the contract is priced in. Defaults to the shared business profile's currency | |
| reference | Yes | The quote or work order this change order is against, by its id, e.g. Q-2026-0003 or WO-2026-0001 | |
| duplicate_ok | No | Raise it even though an identical change order exists on this reference. Default false | |
| reference_kind | No | What the reference is. Inferred from the id when omitted: WO-... is a work order, anything else a quote | |
| original_value_minor | No | 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 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states that this is a create operation, returning a number and several fields, and adds the free-tier constraint '5 open'. It does not describe duplicate handling or the first-change-order requirement for original_value_minor, but it does not contradict any annotations and provides relevant operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the action, target, output, and an important constraint. Every part earns its place without unnecessary technical detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and no positive annotation hints, the description covers the core purpose, return contents, and a quota constraint. It could add behavior on duplicates or when original_value_minor is required, but the schema already covers those parameter-level details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (89%), so the input schema already documents most parameters. The description adds value by clarifying that the return value includes the reference, client, title, date, and original contract value in minor units, but it does not deeply explain any input parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific action: raise a change order against a quote or work order, and identifies the key output (CO-YYYY-NNNN number). It differentiates this create action from sibling tools like change_order_add_line or change_order_delete by focusing on creation and the returned number.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear when to use the tool: to create a new change order against a quote or work order. It does not explicitly name alternatives or exclusions, but the context is strong enough that an agent can infer the tool's role among the change_order_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_deleteDelete an empty draftADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered. The description adds valuable context: the tool refuses non-draft or line-carrying orders, and the number is not reissued. This goes beyond annotations and gives a clear picture of behavioral edge cases, though it doesn't describe the success response or side effects beyond freeing a slot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero waste. The primary action and its precondition are front-loaded, followed by exclusions and the alternative. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema, the description covers all essential context: what qualifies (draft, no lines), what is refused (other states or lines), the recommended alternative, and a key consequence (number not reissued). No further information is needed for an agent to decide correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'change_order' is already well-documented in the schema (id or title). The description adds no extra parameter-specific information beyond what the schema provides, which is appropriate given the high coverage. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete'), a specific resource (a DRAFT change order with no lines), and clearly distinguishes it from the sibling tool 'change_order_status' by explicitly routing non-draft or line-carrying orders to voiding. This is unambiguous and differentiates from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool (delete a draft with no lines), when not to (sent, approved, rejected, voided, or has lines), and the alternative action (void with change_order_status). Also notes the consequence that the number is not reissued, giving clear conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_documentChange order documentAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses that the output is a .txt download link valid for one hour, which is a significant behavioral detail. It does not claim to be read-only, so there is no conflict with readOnlyHint=false, though it could state side effects more explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and output behavior are front-loaded in two crisp sentences. The trailing 'Pro.' is an unnecessary fragment that adds no operational value, preventing a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers what is returned, the document contents, and link expiration. It would be more complete with an explicit statement about whether render state is modified, but the essential calling context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the only parameter with an example and the id-or-title resolution rule. The description adds no additional parameter semantics, so the high-coverage baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the precise verb 'Render', a single change order, and the plain-text approval document format, listing its contents. This clearly distinguishes it from change_order_get (raw data) and change_order_invoice_payload (invoice).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for the client to approve' establishes when to use it, and the output description makes it distinct from retrieving or listing change orders. It does not explicitly name sibling alternatives or exclusions, but the context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_getShow one change orderBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation Contradiction: annotations declare readOnlyHint=false, implying the tool may not be read-only, while the description says only 'Return one change order in full' and the title says 'Show one change order.' No side effects, locking, or state changes are disclosed, and the description contradicts the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main action is front-loaded in the first sentence, and the second sentence adds a useful routing hint. The dense enumeration of return contents is long but substantive, though the ambiguous 'client' phrase slightly harms structural clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description helpfully enumerates the expected return contents. However, it omits not-found/error behavior, does not reconcile the readOnlyHint=false annotation with the apparent read-only behavior, and the 'client' wording leaves a gap in how the parameter maps to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the parameter as an id or title, which would normally warrant a baseline of 3. However, the description adds a misleading lookup mode: 'by CO number or client,' while the schema says 'id ... or its title when only one carries it.' This inconsistency makes the parameter semantics less reliable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Return one change order in full' and enumerates what 'in full' means (lines, VAT, delta gross, status history, running value). It also distinguishes itself from change_order_list by noting that the list tool finds the id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to call this tool and even provides a prerequisite: 'change_order_list finds the id.' It does not exhaustively discuss alternatives like change_order_status or change_order_document, but the usage context is clear enough for a lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_invoice_payloadInvoice payload for an approved deltaBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tax_rate | No | VAT percent for lines with no rate of their own, overriding the shared business profile's default | |
| issue_date | No | The invoice issue date, YYYY-MM-DD. Default today | |
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Writes nothing and creates nothing,' but the annotations declare readOnlyHint=false, meaning the tool is explicitly not marked as read-only. That is a direct contradiction. No other behavioral details such as return shape, validation, errors, or auth requirements are added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main content is compact and front-loaded, stating purpose and side-effect guarantee in two sentences. The trailing 'Pro.' is unnecessary and slightly detracts, but overall the description is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a transformation/payload-builder with no output schema and no return-format explanation; an agent is left to guess what the generated items look like. The undefined 'MAJOR units'/'MINOR units' and the lack of any example or output shape make the description incomplete for a non-trivial tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3; the description adds little to the parameter semantics. It mentions VAT at the shared profile rate, aligning with tax_rate's override semantics already documented in the schema, but it does not elaborate on issue_date or change_order identification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Build'), a specific resource ('the approved delta'), and the prepared output types ('invoice_create-ready items ... quote_create-ready items'), which clearly differentiates it from change_order_get, change_order_document, and the mutation siblings. The title reinforces that it produces a payload rather than performing a domain action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by 'approved delta' and the 'invoice_create-ready'/'quote_create-ready' wording, suggesting it is called before creating invoices/quotes from an approved change order. However, there is no explicit when-to-use, when-not-to-use, or naming of alternatives, so guidance is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_listList change ordersAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Latest date, YYYY-MM-DD | |
| from | No | Earliest date, YYYY-MM-DD | |
| limit | No | Maximum rows returned, default and ceiling 500 | |
| client | No | Only change orders whose client name contains this text | |
| status | No | One status, or open for draft and sent together | |
| reference | No | Only change orders against this quote or work order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false or unhelpful (readOnlyHint=false for what is clearly a listing operation), so the description carries the burden — and it delivers: newest-first ordering, exact per-item fields, and the two-tier layout of the delta summary 'kept apart' are meaningful behavioral disclosures beyond the schema. Gaps remain: the readOnlyHint=false mismatch is unaddressed, and it doesn't say whether the summary block respects the filters. The description claims no mutating behavior, so this is not a contradiction, but the annotation signal is misleading for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences and roughly 44 words, with the core action front-loaded in the first five words. The first sentence is dense but information-rich, covering order, fields, and summary layout. It loses the top score only because the second sentence partly duplicates what the schema already states about filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's specification of the return shape — per-item fields plus the per-currency approved/pending delta summary — is essential and mostly sufficient for a list call. Minor gaps remain: whether the delta summary is filter-aware, the default result set with no filters, and the precise meaning of 'net delta' vs 'pending delta.' These are non-blocking given all 6 params are schema-documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented with its own description. The description's 'Filter by reference, status, client, date' merely restates a subset of those properties without adding format hints, defaults, or interaction semantics (e.g., how 'to'/'from' behave without 'limit'). The baseline 3 applies because the schema does the heavy lifting and the description adds no parameter-level value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('List change orders') and adds concrete detail: ordering ('newest first'), the fields returned ('status, reference, client, currency and net delta'), and a distinctive output feature (a per-currency APPROVED/pending delta summary 'above them... kept apart'). This makes it clearly distinguishable from siblings like change_order_get, change_order_status, and change_order_invoice_payload, which target single records or mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Filter by reference, status, client, date' sentence implies this is the list/search entry point, but the description never states when to use it versus alternatives or names exclusions (e.g., 'use change_order_get for a single record'). Usage context is evident but left to inference, so it sits at the 'implied usage' level rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_order_statusMove a change order alongAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The day it happened, YYYY-MM-DD. Default today | |
| note | No | What happened, e.g. Emailed to the client, or Approved by phone, confirmed in writing | |
| status | Yes | The status to move to | |
| change_order | Yes | The change order id, e.g. CO-2026-0001, or its title when only one carries it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the sparse annotations by disclosing concrete behavior: it stamps the date and note, only allows forward status moves, and refuses backwards steps, unsent approvals, and backdated moves. These are meaningful behavioral constraints that help an agent predict outcomes and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the core action and then pack in the key constraints. Every sentence earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating status tool with no output schema, the description covers allowed transitions, refusal conditions, and side effects. It leaves minor unknowns such as the exact return value, but nothing essential for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by tying the date and note parameters to the stamping behavior and by making status-transition rules explicit, such as 'backdated move refused' and 'unsent approval refused'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Move one change order along') and enumerates the exact allowed status transitions. The described status workflow makes it clearly distinct from siblings like change_order_create, change_order_delete, and change_order_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when it is appropriate to advance a change order through its workflow and which transitions are refused. However, it does not explicitly name alternatives or say when to choose this tool over siblings like change_order_create or change_order_delete; the usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_valueRunning contract valueAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | The quote or work order this change order is against, by its id, e.g. Q-2026-0003 or WO-2026-0001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the sparse annotations: pending draft and sent deltas are kept apart, the value is net of VAT, and a reference with no change order is refused. It does not explicitly state whether the operation is read-only, but the content strongly implies a non-mutating value lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences pack in the resource, the value components, VAT treatment, and an error condition without any filler. The structure is front-loaded with the core definition followed by refinements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the essential output semantics, VAT handling, and a key error case. It could be more explicit about the return shape or currency, but nothing critical is missing for a competent agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the reference parameter is already well documented with format and examples. The description contributes little beyond confirming the input is a quote or work order, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (one quote or work order) and the computed output (running value with original, approved deltas, and current value). It is specific enough to distinguish this from change-order CRUD siblings, though it lacks an explicit verb and does not name sibling exclusions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: use this tool when you need the running value of a quote or work order. However, it does not state when not to use it or mention alternatives such as change_order_get or change_order_list, leaving routing partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
license_activateActivate licenseAInspect
Turn Pro on for this connection with key, an MCPL1.. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | License key from checkout, MCPL1.<payload>.<signature> |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only and not destructive, and the description adds useful behavioral detail: existing data under the token stays, and a wrong or expired key changes nothing. This goes beyond the annotation hints by explaining failure semantics and safety of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core action, then gives the key format and safety guarantees, and closes with the verification tool. Every sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter activation tool with annotations covering the safety profile, the description is complete: it states what the tool does, what input is needed, what happens on failure, and how to confirm success. There is no missing critical information for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the key parameter and its format with 100% coverage. The description adds meaning by specifying that the key must be issued at checkout for this server or the bundle, which clarifies validity requirements not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it 'turns Pro on' for the connection using a license key. It also distinguishes itself from the sibling license_status tool by saying license_status confirms the activation. This leaves no ambiguity about what the tool accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: the key must be an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. It does not explicitly list exclusions or alternative tools, but it does reference license_status as the confirmation path, giving the agent a sense of the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
license_statusLicense statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful context beyond annotations by specifying the JSON response contents and stating 'nothing changes,' reinforcing the read-only nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences cover output, purpose, usage context, and side-effect guarantee. Every sentence earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description sufficiently describes the return value. With no parameters, annotations covering safety, and a clear use case, nothing essential is missing for an agent to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema already fully documents that fact. The description explicitly says 'No arguments,' which is accurate and reinforces the schema without needing further elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb ('Report') and a precise resource ('this endpoint's licence state for your token'), and enumerates the exact output fields: product, tier, reason, and checkout URL. This clearly distinguishes it from sibling tools like license_activate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to call it: 'Call it to explain a free-tier refusal.' This is clear contextual guidance, though it does not name alternatives or explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
- First observed
change_order_add_line - First observed
change_order_create - First observed
change_order_delete - First observed
change_order_document - First observed
change_order_get - First observed
change_order_invoice_payload - First observed
change_order_list - First observed
change_order_status - First observed
contract_value - First observed
license_activate - First observed
license_status
Related MCP Connectors
Change orders against a quote or work order: deltas, approval, running contract value.
Project controls for construction schedules: approved changes, look-aheads, briefs, signed records.
Freelance business manager — clients, proposals, invoices, time tracking, scope, and follow-ups.
Job orders for trades and field work: parts, labour, status, completion report, invoice payload.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables managing daily change logs with automatic formatting, intelligent monitoring, and client-ready output, helping developers document work and generate professional reports.-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to read structured project context and propose task changes that require explicit human approval, with scoped permissions, idempotency, and a full audit trail.MIT
- AlicenseNot gradedqualityCmaintenanceProject memory and scoping engine for AI coding agents. It gives any agent persistent project state, bounded work packages, and cross-session continuity.6MIT
- AlicenseAqualityCmaintenanceEvery agent action is recorded in a SHA-256 hash chain. Prove to clients that your agent did what it said it did. Record, query, verify, and export agent activity.336 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.