onboarding-goods-receipt-inspection-runs
Server Details
Onboarding and inspection goods-receipts you reuse: dated runs, who ticked what, and a sign-off.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- theluckystrike/mcp-servers
- GitHub Stars
- 0
TDQS
Scored across 11 tools
Most tools map to a distinct GRN/PO action, and the read-only difference between listing GRNs, exporting CSVs, listing discrepancies, and producing a reconciliation report is clear from the descriptions. grn_discrepancy and grn_status_report both touch discrepancies, but one lists non-conforming lines while the other reconciles the whole PO/GRN state, so an agent can tell them apart.
Names consistently use snake_case with resource prefixes like grn_, po_, and license_, and most follow a verb_noun pattern such as grn_add, grn_get, and grn_list. A few names are noun-style instead of verb-first, notably grn_discrepancy and grn_status_report, creating a minor but not confusing inconsistency.
Eleven tools is well-scoped for a goods-receipt server: the GRN lifecycle, PO creation, discrepancy reporting, export, and license checks each have a dedicated tool. There is no obvious redundancy, and the count stays within the comfortable range.
The GRN workflow is well covered with create, add-line, close, get, list, export, discrepancy, and status reporting, but the PO side only has po_add, with no PO get/list/update/delete. GRN lines can also only be added, never corrected or removed, so some repair and adjustment workflows are missing.
Available Tools
11 toolsgrn_addReceive goods against a purchase orderAInspect
Create a goods-receipt note (GRN) against an open purchase order. Give one cell per PO line: the whole units received and/or damaged. received is checked against the line's ordered quantity and the PO's over tolerance; receiving past the over tolerance is refused unless declared damaged. Shortage is recorded automatically (ordered minus received, floored at zero) and shown as a discrepancy. Partial deliveries are fine: raise several GRNs against the same PO. Free tier, full CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| po | Yes | Purchase-order id or reference, e.g. PO-0001 | |
| note | No | Memo for the whole GRN | |
| lines | Yes | Which PO lines you are receiving now | |
| carrier | No | Delivered by | |
| receivedAt | No | ISO date of physical receipt (default today) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining the over-tolerance check, refusal unless damaged, automatic shortage calculation with flooring at zero, discrepancy display, and partial-delivery behavior. It also states 'full CRUD,' clarifying the mutation profile. This adds substantial behavioral context that annotations alone do not provide.
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 moderately sized and front-loaded with the core action. Every sentence contributes useful behavior or constraints, though 'Free tier, full CRUD' is somewhat redundant with annotations and could be trimmed without losing essential invocation guidance.
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 5-parameter mutation tool with no output schema, the description covers the essential validation rules, partial-delivery behavior, and automatic shortage calculation. The main gap is that it does not describe the return value or confirmation response, which would help an agent verify the result of the call.
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 schema already documents every parameter. The description adds meaningful semantics on top: received is checked against ordered quantity and over tolerance, shortage is auto-calculated as ordered minus received floored at zero, and each line gets one cell for received and/or damaged units. This clarifies the relationship between parameters beyond raw field descriptions.
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 opens with a specific verb and resource: 'Create a goods-receipt note (GRN) against an open purchase order.' It clearly distinguishes this from sibling tools by emphasizing creation of a GRN for receiving goods, not closing, listing, or adding lines to an existing GRN.
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?
It gives clear context for when to use the tool: receiving whole units against an open PO, with partial deliveries explicitly supported ('raise several GRNs against the same PO'). It does not explicitly name sibling alternatives or state when not to use it, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_closeClose a goods-receipt noteAInspect
Close an open GRN. A closed GRN can no longer take lines, and its discrepancies are treated as resolved. Closing is free-tier and never mutates the PO.
| Name | Required | Description | Default |
|---|---|---|---|
| grn | Yes | Open GRN id, e.g. GRN-0001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds meaningful behavioral context: a closed GRN can no longer take lines, discrepancies are treated as resolved, and closing never mutates the PO. This goes beyond the annotations and clarifies side effects. It doesn't mention reversibility or whether closing is permanent, but the provided details are valuable.
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, each earning its place: the action, the consequences, and the non-mutation guarantee. Front-loaded with the primary action. No wasted words.
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 action, side effects, and a key non-effect (PO not mutated). It doesn't state whether closing is reversible or what the response contains, but given the simplicity and the annotations, it is reasonably complete.
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 the schema already documents the 'grn' parameter as an open GRN id with an example. The description adds the context that the GRN must be open, which aligns with the schema's 'Open GRN id'. This is a baseline 3 because the schema carries the parameter documentation.
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 states the action ('Close an open GRN') and the resource (GRN), and distinguishes it from siblings by specifying what closing means: no longer takes lines and discrepancies are treated as resolved. This differentiates it from grn_get, grn_list, grn_add, etc.
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 implies when to use it: when a GRN is open and needs to be closed. It also states what closing does (no more lines, discrepancies resolved), which helps an agent decide. It doesn't explicitly name alternatives or say when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_discrepancyList discrepanciesAInspect
List lines that are not as ordered: damaged units, a declared shortage, or received below the PO line's under tolerance. Optionally filter to one PO.
| Name | Required | Description | Default |
|---|---|---|---|
| po | No | Only discrepancies on this purchase order | |
| includeResolved | No | Include GRNs that are closed (resolved) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful domain context by defining what counts as a discrepancy and implies a read-only listing operation. But annotations do not provide a positive safety profile (readOnlyHint=false, destructiveHint=false), and the description doesn't clarify whether closed/resolved GRNs are excluded by default or whether listing has any side effects. There is no direct contradiction with the annotations.
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 earn their place. The first defines purpose and criteria; the second covers the one optional filter. There is no filler, repetition, or unnecessary 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 simple tool with zero required parameters and no nested objects, the description plus schema is nearly sufficient. The main gaps are the absence of an output schema and no explicit note about side effects or resolved-GRN behavior, but these are minor given the low complexity.
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 both parameters are already documented. The description only restates that the PO parameter is an optional filter and adds no new format, default, or interaction details beyond 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 opens with a specific verb and resource: 'List lines that are not as ordered.' It then enumerates concrete discrepancy types (damaged units, declared shortage, under tolerance), which clearly differentiates this tool from siblings like grn_list and grn_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 intended use is clear: surface receiving discrepancies rather than all GRNs. The optional PO filter is stated. However, it doesn't explicitly name sibling alternatives or give when-not-to-use guidance, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_export_csvExport goods receipts as CSVARead-onlyIdempotentInspect
Pro. Export every GRN (or just one PO's GRNs) as CSV with a header row: grn,po,po_reference,received_at,carrier,status,line,sku,received,damaged,shortage,damage_note,shortage_note. Watermark-free and not truncated.
| Name | Required | Description | Default |
|---|---|---|---|
| po | No | Export GRNs for one purchase order only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the description adds meaningful context: 'Pro.' licensing, 'Watermark-free and not truncated' guarantees, and the exact output columns. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Packs purpose, scope, output shape, and behavioral guarantees into a few short clauses. The header-row listing earns its place because there is no output schema to document the return format.
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 simple one-parameter tool without an output schema, the description supplies the full CSV column list, scope, and non-truncation/watermark behavior. The only minor gap is explaining what 'Pro.' implies for licensing, though sibling license tools hint at it.
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% for the single optional po parameter, and the description reinforces its meaning with 'just one PO's GRNs'. The description does not add syntax or constraints beyond the schema, but none are necessary here.
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 exact operation ('Export ... as CSV') and the exact scope ('every GRN or just one PO's GRNs'), and lists the full header row. This clearly distinguishes it from siblings like grn_list or grn_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?
Provides clear context for when to use it: CSV export of all GRNs or filtered to one PO via the optional po parameter. It does not explicitly name alternatives or exclusions, but the scope and optional filter are sufficient for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_getGet one goods-receipt noteARead-onlyIdempotentInspect
Get a single goods-receipt note by id, with its lines, damage and shortage per line.
| Name | Required | Description | Default |
|---|---|---|---|
| grn | Yes | GRN id, e.g. GRN-0001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it returns lines, damage, and shortage per line, which is useful beyond the annotations. The annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the tool is safe. It doesn't mention pagination or other potential behaviors, but the constraints are well-covered by the description.
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, concise sentence that front-loads the core purpose ('Get a single goods-receipt note by id') and adds essential details (lines, damage, shortage). No unnecessary words, ideal length.
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 simple read operation with one parameter and no output schema, the description is quite complete. It tells what will be returned. There's no mention of possible errors or edge cases, but those are not critical for a simple fetch. The annotations cover safety, and the schema covers parameters, so the description fills the remaining gap about the response content.
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 covers the parameter fully (100% coverage), providing description and example. The description adds the additional detail that the response will include lines and damage/shortage, which enhances understanding beyond the schema. The parameter itself is well-documented in the schema, so the description's contribution is modest but positive.
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 states the tool's action: get a single goods-receipt note by id, and its scope. It mentions the included lines and damage/shortage details, which is specific and informative. It distinguishes this from sibling grn_list (which likely returns multiple) by specifying 'a single' and 'by 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 implies the tool is for fetching an individual GRN, which is clear from context. It does not explicitly contrast with grn_list or other siblings, but the purpose is clear enough for an agent to infer when to use it. Lacks explicit 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_line_addAdd a line to an open GRNAInspect
Add another PO line (or more units on a line already open on this GRN) to an existing open goods-receipt note. Useful when one delivery arrives in batches. The over-tolerance gate still applies to the PO line's cumulative received count across every GRN. Free tier, full CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| grn | Yes | Open GRN id, e.g. GRN-0001 | |
| line | Yes | PO line to receive, e.g. L01 | |
| damaged | No | Whole units received but damaged | |
| received | Yes | Whole units of good stock | |
| damageNote | No | What was damaged | |
| shortageNote | No | Why it is short |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are sparse (readOnlyHint false, etc.), so the description carries the behavioral burden. It adds valuable context: the over-tolerance gate applies to cumulative received counts across all GRNs, and it mentions the free tier and full CRUD. This goes beyond the schema and helps the agent understand side effects. However, it doesn't mention whether the operation is idempotent or what happens to existing data, but given the annotations, the provided context is above average.
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 concise: three sentences, no filler, and the key context (batch usefulness, over-tolerance) is front-loaded before the free tier note. 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?
Given the tool's moderate complexity (6 params, 3 required) and rich annotations (though limited), the description covers the purpose, batch usage, and a key constraint (over-tolerance). It lacks explicit mention of return behavior, but there is no output schema, so it might be expected. Still, for an agent to call it, it is mostly complete.
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 output schema is absent. The description does not add detail beyond what the schema provides for parameters, but with complete schema coverage, the baseline is 3. The description's focus is on the action, not on parameter specifics, which is acceptable.
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 action ('Add') and a resource ('line to an existing open GRN'), with a helpful qualification about adding units to an already-open line. It distinguishes the operation from general GRN creation (grn_add) but does not explicitly name sibling tools, so it's clear but lacks explicit sibling differentiation.
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 identifies the use case: handling batches of one delivery. It doesn't explicitly say when not to use it or name alternatives, but the phrase 'Useful when one delivery arrives in batches' provides clear context for when this tool is appropriate versus others like grn_add or grn_close.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_listList goods-receipt notesARead-onlyIdempotentInspect
List goods-receipt notes, newest first, optionally filtered to one purchase order.
| Name | Required | Description | Default |
|---|---|---|---|
| po | No | Only GRNs against this purchase order | |
| includeLines | No | Include line detail |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond annotations by specifying sort order ('newest first') and optional filtering, which are not derivable from the schema or annotations.
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 with no wasted words. It conveys the core action, ordering, and optional filter in minimal space.
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 low-complexity read-only list tool with two optional parameters and complete schema description coverage, the description provides everything an agent needs to invoke it correctly. No output schema exists, but the list semantics are clear from the tool name and description.
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 parameters are fully documented in the input schema. The description restates the PO-filter concept but does not add new meaning beyond the schema, meeting the baseline for high schema coverage.
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—'List goods-receipt notes'—and adds a distinguishing ordering detail ('newest first') and an optional scope ('filtered to one purchase order'). This clearly separates it from siblings like grn_get or grn_status_report.
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 the intended use clear: list GRNs, with optional filtering by one PO. It does not explicitly name alternatives or exclusions, but the straightforward list/read semantics combined with sibling names give sufficient context for an agent to choose it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grn_status_reportGoods-receipt status reportAInspect
Reconcile every purchase order against every GRN: open POs (not yet fully received), POs fully received within tolerance, POs with at least one discrepancy, and per-line open/short/damaged counts. Nothing is written.
| Name | Required | Description | Default |
|---|---|---|---|
| includeOnlyDiscrepancies | No | Only list POs with at least one discrepancy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations showing readOnlyHint=false, the description explicitly states 'Nothing is written,' which is valuable behavioral disclosure beyond the structured metadata. It also describes what gets computed and what report sections will appear, giving an agent a faithful model 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 a single dense sentence that front-loads the core action and expected output categories, followed by a one-sentence safety note. Every word contributes meaning and there is no padding.
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?
The description explains the scope, the output categories, and the side-effect profile, and the input schema covers the only parameter. With no output schema, it would be even stronger if it described the exact return format, but the listed categories give an agent enough context to invoke 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 description coverage is 100% and the single boolean parameter includeOnlyDiscrepancies is already clearly described in the schema. The tool description itself adds no extra parameter detail, 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 uses a specific verb ('Reconcile') with a clear resource scope ('every purchase order against every GRN') and enumerates the report's categories, so an agent can distinguish this from sibling tools like grn_list or grn_discrepancy. It is concrete and informative rather than a restatement of the title.
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 this is a read-only reconciliation/status tool that compares POs and GRNs, which gives strong context for when to invoke it. It does not explicitly name alternatives or exclusions, but the broad scope and report categories make the intended use 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.
| 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.
po_addAdd a purchase orderAInspect
Create a purchase order to receive goods against. Lines carry a sku, a description and an ordered whole-unit quantity. Over/under tolerances are whole percentages allowed above/below ordered before a GRN is flagged. Ids look like PO-0001. Free tier, full CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | Lines on this purchase order | |
| supplier | Yes | Who you ordered from | |
| reference | Yes | Your own purchase-order number | |
| overTolerancePct | No | Whole % extra allowed above ordered (default 10) | |
| underTolerancePct | No | Whole % short allowed below ordered (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With all annotations false, the description carries the burden of explaining behavior. It adds meaningful context: tolerances are percentages allowed before a GRN is flagged, line quantities are whole units, and IDs follow a PO-0001 pattern. It does not cover response shape or auth, but the annotations already flag non-readonly, non-idempotent behavior.
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?
Four short sentences each carry distinct information: purpose, line structure, tolerance semantics, and ID/plan context. There is no filler, repetition of schema defaults, or unnecessary 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?
The description covers the business role, line constraints, tolerance meaning, and ID format, which is strong for a create tool. However, with no output schema it never states what a successful call returns, and the relationship between the user-supplied 'reference' and generated 'PO-0001' IDs is left ambiguous.
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 beyond the schema by explaining that tolerance percentages govern when a GRN is flagged and that ordered quantities are whole units. It does not elaborate on reference or supplier, but the schema already documents those fields.
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 opens with a specific verb and resource, 'Create a purchase order,' and frames the PO as the document goods are received against. It adds concrete details about lines, tolerances, and ID format, making the tool's purpose unmistakable and clearly distinct from the GRN and license 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?
The description gives clear context by positioning the PO as the upstream document for GRN flagging, so an agent can infer when to create one. However, it never explicitly names alternatives like grn_add or states when not to use this tool, leaving usage to be inferred from sibling names and workflow framing.
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
grn_add - First observed
grn_close - First observed
grn_discrepancy - First observed
grn_export_csv - First observed
grn_get - First observed
grn_line_add - First observed
grn_list - First observed
grn_status_report - First observed
license_activate - First observed
license_status - First observed
po_add
Related MCP Connectors
Reusable checklists and dated runs of them: pass, fail, not applicable, and a sign-off.
Verify work against acceptance criteria; signed receipts attest what passed and was earned.
Governed retail, FMCG, and CPG operational tools: runs, cases, approvals, audit-ready execution.
Goods receipt notes vs purchase orders: tolerances, damaged/short units, CSV export.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables creating reusable checklists, running dated instances of them, recording pass/fail/not-applicable results with sign-off, and producing frozen dated records for accountability.16MIT
- AlicenseNot gradedqualityBmaintenanceEnables users to create reusable purchase requisition checklists, run them against individual orders, record step-by-step pass/fail/NA results with attributions, and sign off to freeze a dated, auditable approval record.MIT
- AlicenseNot gradedqualityBmaintenanceEnables recording goods receipt notes against purchase orders, tracking received, damaged, and short units, and generating discrepancy reports.MIT
- FlicenseNot gradedqualityDmaintenanceEnables spec-driven development acceptance gate with structured receipts, audit logs, and reviewer-ready evidence.-
Glama MCP Gateway
Add one secure layer between your agents and this server.