Skip to main content
Glama

service-report

Server Details

Field service reports: hours, materials, sign-off, and the invoice the visit turns into.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL
Repository
theluckystrike/mcp-servers
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

Each tool has a distinct resource/action, but completion_report_pdf and completion_report_text are deliberate format twins, and work_order_list vs work_orders_report could be misread without checking descriptions. Overall, the descriptions resolve the remaining ambiguity well.

Naming Consistency3/5

Work-order tools mostly share the work_order_ prefix, but the action style is inconsistent: create/delete/get are verbs, status and invoice_payload are nouns, and reports are split across work_order_list, work_orders_report, and completion_report_*. The names are readable but do not follow one uniform convention.

Tool Count5/5

Twelve tools is well-scoped for a work-order server with reporting, document output, and license management. Each tool has a clear purpose, and the count is neither bloated nor too thin.

Completeness3/5

The main lifecycle is covered: create, list, get, add lines, move status, generate reports, and build invoice payloads. However, there is no way to update a work order's details, remove or correct an added line, and deletion only works on empty drafts, which can create dead ends after mistakes.

Available Tools

12 tools
completion_report_pdfCompletion report as a PDFA
Read-onlyIdempotent
Inspect

Call this tool to render the A4 completion report of one work order and return a download link valid for one hour: the lines, the hours, the materials, the totals and the sign-off block. Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
out_pathNoName for the downloaded file, e.g. harbour-cafe-report. Defaults to the work order id; the report comes back as a download link valid for one hour
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context by disclosing the one-hour link validity and the exact contents of the report, which are not in the annotations. No contradictions with annotations are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is concise and front-loaded with the action and main details. The list of report contents is helpful but slightly redundant with the phrase 'completion report'; nonetheless, it adds value. The trailing 'Pro.' is extraneous and unclear, slightly reducing the score from 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, idempotent tool with two well-documented parameters and no output schema, the description covers the essential behavior: what it renders, return type, and validity period. It does not mention potential errors, permissions, or how the download link is consumed, but these are likely beyond what is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for both parameters, so the baseline is 3. The description itself does not add significant parameter-level meaning beyond what the schema already states (e.g., it calls work_order 'one work order', but the schema already describes the ID or client name). No extra constraints or examples are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('render'), a specific resource ('A4 completion report of one work order'), and a concrete output ('download link valid for one hour'). It also lists the report contents (lines, hours, materials, totals, sign-off block), making it easy to distinguish from the sibling completion_report_text (which would be text-based) and work_orders_report (plural reports).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when a one-work-order completion report in PDF format is needed. However, it does not explicitly mention alternatives or state when not to use it (e.g., 'use completion_report_text for text'). This is adequate but lacks explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

completion_report_textCompletion report as plain textA
Read-onlyIdempotent
Inspect

Turn a work order into a plain-text completion report: what was done, the labour hours, the materials, the totals and a sign-off block, ready to paste into an email. The same text also comes back as a .txt download link valid for one hour. Free on every tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: the output is ready to paste into an email, a .txt download link is also returned, and the link is valid for one hour. It also states 'Free on every tier', which is a pricing/availability behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first explains the output and its contents, the second adds the download link behavior, the third states pricing. Front-loaded with the core purpose. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with full schema coverage and no output schema, the description is nearly complete. It explains what the output contains, the format, the download link validity, and pricing. The only minor gap is not describing the exact structure of the returned text or whether the download link is in the response body, but the description says 'the same text also comes back as a .txt download link', which is sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the work_order parameter. The description adds meaning by explaining that the parameter can be either a work order id or a client name when only one job is theirs, which is valuable disambiguation beyond the schema's example. This exceeds the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Turn a work order into'), a specific resource ('a plain-text completion report'), and enumerates the content (what was done, labour hours, materials, totals, sign-off block). It also distinguishes itself from the sibling completion_report_pdf by explicitly saying 'plain text' and 'ready to paste into an email'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when you need a plain-text report for email. It doesn't explicitly say 'use completion_report_pdf for PDF', but the sibling list and the phrase 'plain text' make the alternative obvious. It also notes the .txt download link is valid for one hour, which is a usage constraint. Missing an explicit 'when not to use' statement, but the context is clear.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesLicense key from checkout, MCPL1.<payload>.<signature>

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 statusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

work_order_add_lineAdd a parts or labour lineAInspect

Add one line: parts with quantity, unit_cost_minor in whole MINOR units and optional markup, or labour with hours and rate_minor. A line on an invoiced order, or dated before the request, is refused.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoThe day this line was worked or fitted, YYYY-MM-DD
kindYesparts for materials, labour for time on the job
noteNo
hoursNolabour only: hours worked, e.g. 3.5
quantityNoparts only: how many. A negative or zero quantity is refused
rate_minorNolabour only: the hourly rate in whole minor units. Omit only once the shared business profile carries a default rate
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs
descriptionYesWhat it is, e.g. 3kW immersion element, or Second fix and test
markup_percentNoparts only: percent added to the UNIT cost before billing. Default 0
unit_cost_minorNoparts only: what one costs YOU, in whole minor units. 1299 is EUR 12.99

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only generic hints (not read-only, not idempotent, not destructive), so the description carries most of the behavioral burden. It adds useful constraints: refusal on invoiced orders or backdated lines, and clarifies MINOR units. However, it does not describe what happens on success, side effects like order totals, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core behavior and a clear constraint. Every clause contributes, and the parts/labour distinction is efficiently packed. Slightly dense but well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with no output schema and unhelpful annotations, the description covers the core behavior and important refusal rules. Yet it omits expected return values, whether the line appends to existing lines, and the nature of errors on refusal. Acceptable but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 90%, so the schema already documents each parameter with descriptions. The description repeats the parts/labour grouping and MINOR-unit semantics that are already present in the schema. It adds little new meaning beyond a concise summary; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: add a line (parts or labour) to a work order. It distinguishes parts vs labour branches and is clearly distinct from siblings like work_order_create or work_order_get. The purpose is unambiguous and identifiable even without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (adding a line to an existing work order) but does not explicitly route to alternatives. It states refusal conditions (invoiced order, date before request) but offers no guidance such as 'use work_order_create instead' or 'do not use for new orders'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_createRaise a work orderBInspect

Raise a job order and return its WO-YYYY-NNNN number: the client, the site address, the date it was asked for, what the job is and how urgent. Free tier: 5 open orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
clientYesA client name or id from the invoice server's client records. An unknown name needs client_address as well, so a typo is not filed as a new customer
currencyNoISO code the job is priced in. Defaults to the shared business profile's currency
priorityNoHow urgent the job is. Default normal
descriptionYesWhat the job is, e.g. Replace immersion heater and test
client_emailNo
duplicate_okNoRaise it even though an identical work order exists, for a genuinely repeated visit. Default false
site_addressYesWhere the work happens. This is the site, not the billing address
client_vat_idNo
client_addressNoThe client's billing address, for a client that is not in the invoice records yet
requested_dateYesThe date the work was asked for, YYYY-MM-DD

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false and destructiveHint=false, so the description does not need to re-state mutation. It adds the free-tier open-order limit and the return format. However, it does not disclose duplicate-handling behavior (duplicate_ok) or failure conditions, which are material to a create operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and return value, then lists the key fields. It is compact and wastes no words, though the colon-list format is a little dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter create operation with no output schema, the description names the return format and the free-tier limit, but omits the duplicate handling, prerequisite client_address behavior for unknown clients, and any error or rejection conditions. It is acceptable but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description merely recites parameter names already present in the schema ('client, site address, date, job, urgency') without adding new semantic detail. Schema coverage is 73% and the schema already documents client, priority, and duplicate_ok. The description adds no extra meaning to any parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact action ('Raise a job order') and the returned identifier format. The list of fields clarifies scope, and the create action is clearly distinct from siblings like work_order_get or work_order_add_line.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool instead of work_order_add_line or work_order_status. The 'Free tier' note is a constraint, not a selection rule. An agent must infer that creation is the right call from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_deleteDelete a draft work orderA
Destructive
Inspect

Delete a DRAFT work order with no lines, freeing an open slot. One past draft is refused, naming the date it got there, and so is one carrying lines. The WO number is never reissued. work_order_status moves it on.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already provide destructiveHint=true, and the description adds meaningful behavioral context: freeing a slot, never reissuing the WO number, and refusing past drafts or drafts with lines. This goes beyond what the annotations alone communicate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three compact sentences with no filler. The primary purpose is front-loaded, followed by constraints and a pointer to the related sibling, with every sentence contributing useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter destructive tool, the description is complete enough: it covers valid inputs, refusal conditions, a key side effect (slot freed), and irreversibility of the WO number. The annotations provide the safety profile, and the schema covers parameter format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully documented in the schema with format examples and fallback behavior ('or the client name when only one job is theirs'). Since schema description coverage is 100%, the description does not need to repeat parameter details, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: deleting a DRAFT work order with no lines, and it explicitly ties this to freeing an open slot. It also distinguishes the tool from work_order_status by noting that status moves a work order onward, which prevents confusion with sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit conditions for valid use: only draft work orders with no lines may be deleted. It also states clear exclusions (past drafts and drafts carrying lines are refused) and points to work_order_status as the tool that moves a work order on instead of deleting it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_getShow one work orderBInspect

Return one work order in full by WO number or client: the site, every parts and labour line with the unit billed, hours, materials, net and VAT, and the status history. Reads only. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

B3.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly claims 'Reads only. Free.' while the annotations set readOnlyHint to false, indicating the tool is not marked as read-only. This is a direct contradiction. No other behavioral context beyond 'Free' is provided, and the safety profile is therefore unreliable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense sentence that front-loads the main purpose, lists the return contents, and appends two short qualifiers. It avoids filler and is appropriately compact, though the field list makes it slightly longer than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 compensates by detailing the return contents (site, parts/labour lines, billing units, hours, materials, net/VAT, status history). It does not mention error cases or ambiguity handling beyond the schema, but for a single-work-order read with one well-documented parameter, the coverage is largely sufficient aside from the read-only contradiction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single parameter's schema already explains that work_order can be an ID like WO-2026-0001 or a client name when only one job is theirs. The description mostly restates this ('by WO number or client') without adding new semantic depth.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Return'), a specific resource ('one work order'), and a complete scope ('in full by WO number or client'). It enumerates the included fields (site, lines, unit billed, hours, materials, net, VAT, status history), which clearly distinguishes it from siblings like work_order_list and work_order_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when you need the full detail of a single work order identified by WO number or client. However, it does not explicitly contrast with alternatives such as work_order_list (for multiple) or work_order_status (for status only), nor does it state any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_invoice_payloadInvoice payload for a work orderBInspect

Build an invoice_create-ready payload from the lines, with VAT at the shared profile rate. Writes nothing and marks nothing: raise the invoice in the invoice server, then set this order invoiced. Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
tax_rateNoVAT percent per line, overriding the shared business profile's default rate
issue_dateNoThe invoice issue date, YYYY-MM-DD. Default today
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Writes nothing and marks nothing', implying the tool has no side effects and is effectively read-only. However, the annotations set readOnlyHint to false, which typically indicates the tool may modify state. This is a direct contradiction. The description's behavioral claim conflicts with the annotation, so a score of 1 is required per the rubric.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two sentences that front-load the primary purpose. It efficiently conveys the action and the follow-up steps. The trailing 'Pro.' is unclear and adds noise, but overall the structure is tight and easily digestible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and all annotations false (so no safety hints), the description must fully explain behavior and return value. It clearly states the tool builds a payload and has no side effects, but it does not describe the structure of the returned payload or any error conditions. Given the simplicity of the tool, this is a moderate gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and all parameters have descriptions in the schema (e.g., tax_rate, issue_date, work_order). The tool description adds minimal extra meaning beyond restating the VAT rate and the default date behavior, which are already covered by the schema. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Build an invoice_create-ready payload from the lines'. It also specifies the VAT behavior and distinguishes this tool as a preparation step before raising an invoice, setting it apart from sibling tools like work_order_create or work_order_add_line.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear usage context by describing the sequence: build payload, raise invoice in the invoice server, then mark the order invoiced. This implies when to use the tool, though it does not explicitly name alternatives or exclusions. The context is sufficient for an agent to infer the intended placement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_listList work ordersAInspect

List work orders newest requested first: status, priority, client, site, hours, labour, materials and net value, with totals per currency. Filter by status, client and requested-date range. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoLatest requested_date, YYYY-MM-DD
fromNoEarliest requested_date, YYYY-MM-DD
limitNoMaximum rows returned, default and ceiling 500
clientNoOnly jobs whose client name contains this text
statusNoOne status, or open for draft, scheduled and in_progress together

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide no read-only or behavioral hints, so the description carries the transparency burden. It usefully discloses ordering, returned fields, totals per currency, and filtering, but it does not mention pagination, empty results, access prerequisites, or the meaning of the trailing 'Free.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is one efficient, front-loaded sentence that communicates ordering, output, totals, and filters. The trailing 'Free.' is ambiguous and does not clearly contribute, but overall the description is compact and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does a good job of listing the returned fields and summarizing behavior. It is adequately complete for a simple filtered list tool, though it leaves pagination and exact result shape to be inferred.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented. The description restates that filtering is by status, client, and requested-date range, but adds no meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List work orders'), the sort order, the fields returned, and the available filters, making the tool's purpose specific. It does not explicitly differentiate itself from sibling tools like work_order_get or work_orders_report, so it stops short of the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the list/filter wording but does not state when to prefer this tool over alternatives such as work_order_get or work_orders_report. There are no explicit when-not-to-use instructions or named sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_orders_reportReport the boardAInspect

Report the whole board: how many work orders sit at each status, the hours logged this month, and the value not yet invoiced per currency, with the oldest open jobs named. Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum oldest-open rows listed, default and ceiling 500
monthNoThe month for the hours figure, YYYY-MM. Default the current month

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the report's contents and output categories, which is useful. But annotations provide no read-only or idempotency assurances, and the description does not say whether this is purely read-only, whether it generates an artifact, or what permissions are needed. 'Report' suggests read-only but does not explicitly commit to it, so there is no direct contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the main content enumerated in a single dense sentence. The trailing 'Pro.' is cryptically unnecessary and slightly detracts, but the overall structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter report tool with no output schema, the description adequately covers the main return sections and parameter intent. It lacks an explicit output format or a clearer usage scenario, but the essential invocation information is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: limit and month both have clear descriptions. The description loosely aligns 'this month' and 'oldest open jobs' with those parameters but adds no format, constraints, or default information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete deliverable: report the whole board, including status counts, monthly hours, uninvoiced value per currency, and oldest open jobs. The verb 'Report' plus the explicit resource scope clearly distinguishes this from the sibling completion reports and single-work-order tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it โ€” when a board-wide aggregate is needed โ€” by spelling out what it covers. However, it does not mention alternatives such as completion_report_text/pdf or state exclusions, leaving some selection ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

work_order_statusMove a work order alongAInspect

Move one work order exactly one step: draft, scheduled, in_progress, done, invoiced, stamping date and note. A skipped, backwards or backdated step is refused and nothing is written. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoThe day it reached this status, YYYY-MM-DD. Default today
noteNoWhat happened, e.g. Booked for Tuesday morning, or Signed off by the tenant
statusYesThe status to move to. It must be the next one along
work_orderYesThe work order id, e.g. WO-2026-0001, or the client name when only one job is theirs

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only minimal annotations, the description carries the behavioral burden well: it discloses the ordered status chain, the single-step constraint, rejection of backward/skipped/backdated moves, and atomicity ('nothing is written'). It also implies non-idempotency, since a second successful move would be refused.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences front-load the core action and constraints. The refusal sentence earns its place; the final 'Free.' is minor extra context but not distracting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with no output schema, the description covers the essential transition rules, refusal conditions, and what is stamped. It does not specify behavior when the requested status equals the current status or what the success response looks like, but those are not required for a correct basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents parameters clearly, so the baseline is 3. The description adds value by connecting the status parameter to the ordered pipeline and by warning that the date parameter must not be backdated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific operation: 'Move one work order exactly one step', and enumerates the full status pipeline (draft, scheduled, in_progress, done, invoiced). This clearly distinguishes it from sibling create/list/get/delete tools, and the title reinforces the behavior without being tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly scopes usage to one work order at a time, moving exactly one step, and defines refusal conditions ('skipped, backwards or backdated step is refused'). This gives an agent a clear sense of when not to call, though it does not explicitly name sibling alternatives or suggest checking current status first.

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.

  1. 12 tool updates
    • First observedcompletion_report_pdf
    • First observedcompletion_report_text
    • First observedlicense_activate
    • First observedlicense_status
    • First observedwork_order_add_line
    • First observedwork_order_create
    • First observedwork_order_delete
    • First observedwork_order_get
    • First observedwork_order_invoice_payload
    • First observedwork_order_list
    • First observedwork_order_status
    • First observedwork_orders_report

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables trades and field service work to be tracked per job: logging labor hours at worker rates and materials used, keeping running totals in integer cents per currency, and moving each job through a status machine from open to invoiced or archived. It also produces daily or weekly summaries of hours and value, and renders a printable card with a signature line for client sign-off.
    11
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to manage field service operations through natural language, including call handling, job dispatch, estimates, invoicing, and reporting via the AutoRev platform.
    11 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.