Kubova — 3D Container Loading
Server Details
Pack cargo into containers & onto pallets; a verifiable 3D loading plan. Free tier + REST API.
- Status
- Healthy
- Uptime
- 100.0% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool has a distinct role: estimating max set capacity, packing a given cargo list, rendering a report, and verifying auth. The only potential overlap is estimate_capacity vs pack_containers, since both invoke 3D packing, but the descriptions make clear one answers 'how many fit' and the other 'where does this cargo go', and generate_report's dependency on a prior pack_containers result reinforces the boundary.
All four names follow a consistent snake_case verb_noun pattern (estimate_capacity, pack_containers, generate_report, verify_key) with no mixed conventions or vague verbs.
Four tools is lean but well matched to a focused container-loading domain; every tool earns its place. estimate_capacity is arguably derivable from repeated pack_containers calls, but packaging it separately is a reasonable convenience rather than bloat.
The core lifecycle is covered: verify auth, estimate capacity, pack cargo (bulk and pallet modes), and export a visual report from a prior result. Minor gaps exist around persistence/retrieval of past packing jobs and a container-type catalog lookup, but agents can work around these via estimate_capacity's defaults.
Available Tools
4 toolsestimate_capacityARead-onlyInspect
How many complete SETS of one product fit in a single container? A product is 1+ carton types with qtyPerSet each (e.g. a table shipping as 2 cartons: top + legs). All cartons of a set ride in the SAME container. Uses real 3D packing (not just volume math) and reports the binding limit (dimension / weight / volume) per container. Omit containers to evaluate the standard 20' DC, 40' DC and 40' HC.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | ||
| containers | No | Containers to evaluate. Omit to use the standard catalogue (20' DC, 40' DC, 40' HC). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the readOnlyHint annotation by disclosing that it uses real 3D packing rather than simple volume math and reports the binding limit (dimension/weight/volume). It also clarifies the constraint that all cartons of a set must be in the same container, which is not evident from the schema.
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 and front-loaded, with five sentences that each contribute substantive information without redundancy. It efficiently communicates the core question, product concept, packing behavior, and default container behavior.
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 adequately covers the tool's logic and output (binding limit per container) for a complex tool with no output schema. However, it could be more explicit about the exact return format (e.g., a list of results per container) and how rotation/stacking flags affect results, but the given context is largely 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?
With 50% schema coverage, the description compensates by explaining the product/carton relationship (qtyPerSet) and the significance of the containers parameter (defaulting to standard container types). It adds meaning beyond the schema's field descriptions, though it does not detail every parameter like allowRotation or allowStacking.
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 purpose with a specific verb ('fit') and resource ('container'), and elaborates on the concept of sets and carton types. It distinguishes itself from likely siblings by emphasizing real 3D packing and reporting the binding limit, which aligns with an estimation rather than actual packing tool.
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 on when to use the tool (to estimate capacity in complete sets) and includes practical usage guidance like omitting containers to use standard container types. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportARead-onlyInspect
Generate a CAD-style PDF + 3D PNG report for a packing job. IMPORTANT: to keep the report consistent with a plan you already produced, pass the result object from your previous pack_containers call — the report then renders that exact plan instead of recomputing. Returns base64-encoded PDF + PNG per container.
| Name | Required | Description | Default |
|---|---|---|---|
| cargos | Yes | ||
| pallet | No | The pallet to stack onto. Required when loadingMode is "pallet". | |
| result | No | OPTIONAL but strongly recommended: the exact `result` object returned by a prior pack_containers call, so the report renders THAT plan instead of repacking. | |
| options | No | ||
| container | No | ||
| containers | No | ||
| loadingMode | No | 'bulk' (default) loads cartons straight into the container. 'pallet' first stacks cartons onto pallets, then loads the pallets — requires the `pallet` field. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds valuable behavioral context: it returns base64-encoded PDF/PNG per container, and it has the option to render a previously computed plan instead of recomputing. This goes beyond the basic read-only hint without contradicting it.
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 (two sentences), front-loads the core purpose, and includes a clearly flagged important usage note and return format. Every sentence contributes meaningful information without 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?
The description gives a solid overview of the tool's purpose, key usage guidance (pass previous result), and return format, which is sufficient for a complex tool with a detailed schema. It lacks a few details such as fallback behavior when no `result` is passed, but the schema covers most parameter specifics.
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 schema coverage at 43%, the description needed to compensate for undocumented top-level parameters, but it only highlights the `result` parameter, which is already described in the schema. Other important parameters like `cargos`, `pallet`, and `loadingMode` are not addressed in the description, so it adds little semantic value 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 clearly states the tool generates a 'CAD-style PDF + 3D PNG report for a packing job,' using a specific verb and resource. It distinguishes itself from siblings like estimate_capacity and pack_containers by focusing on report output rather than estimation or packing.
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 usage context by emphasizing the IMPORTANT step of passing the `result` object from a previous pack_containers call to ensure consistency. It implies this tool is used after packing rather than as a standalone packing tool, but does not explicitly state when not to use it or name alternative reporting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pack_containersARead-onlyInspect
Pack a list of cargo SKUs into one or more shipping containers using the Kubova solver. Supports bulk loading (cartons straight into the container) and pallet loading (loadingMode:"pallet" + a pallet — cartons are stacked onto pallets first, then the pallets loaded). Per-SKU you can set allowed orientations, no-overstack/no-understack, and loading order. Returns per-container placements with x,y,z coordinates in cm, listed in the order to load them (each piece after the pieces it rests on, rear-order cargo before door-order cargo, back wall to door), volume utilization, weight, a weightBalance object (centre of gravity + front/back & left/right weight split, flags an unbalanced load) for bulk loads, and any unplaced pieces.
| Name | Required | Description | Default |
|---|---|---|---|
| cargos | Yes | ||
| pallet | No | The pallet to stack onto. Required when loadingMode is "pallet". | |
| options | No | ||
| container | No | ||
| containers | No | ||
| loadingMode | No | 'bulk' (default) loads cartons straight into the container. 'pallet' first stacks cartons onto pallets, then loads the pallets — requires the `pallet` field. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it specifies the return contract (per-container placements with x,y,z in cm, load ordering, volume utilization, weight, weightBalance object, unplaced pieces) and notes that weightBalance applies only to bulk loads and that unbalanced loads get flagged. It also warns that placement order respects support relationships and rear-to-door sequencing, which an agent could not infer otherwise.
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?
Front-loaded with the action and modes, then the return shape; every clause carries information. The single long paragraph is dense and the returns list is run-on, but nothing is filler.
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 does the heavy lifting on return values, which is the main burden for a complex nested-input tool. Remaining gap is that the container/containers relationship and options defaults are not explained, so an agent could mis-set maxContainers or the single-container field.
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 only 33%, and the description compensates for some of it by explaining loadingMode, pallet, orientations, noOverstack/noUnderstack and loadingOrder semantics. But it is silent on the `container` vs `containers` fields and the `options` object (deepOptimize, maxContainers, loadingDirection) entirely, so half the top-level surface is undocumented in both places.
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+resource ('Pack a list of cargo SKUs into one or more shipping containers') and names the solver, then immediately distinguishes the two operational modes (bulk vs pallet). An agent can tell exactly what this does versus estimate_capacity without reading the schema.
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?
Clearly explains when each mode applies ('bulk' loads cartons straight in, 'pallet' stacks onto pallets first and 'requires the `pallet` field'), which is real routing guidance. However, it never mentions the sibling tools (estimate_capacity) or when to prefer a capacity estimate over a full pack, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_keyARead-onlyInspect
Verify the connection. Returns the authenticated account identity and plan.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint to true, so the description does not need to explain safety. It adds value by disclosing the return contents (identity and plan), providing helpful behavioral context beyond the annotations. No conflicting or missing critical behavior is apparent for this simple 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?
The description is two short sentences, front-loaded with the core action and then the return value. Every word earns its place; there is no redundancy 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?
This is a low-complexity tool with no parameters, a read-only annotation, and no output schema. The description covers the purpose and the high-level return values, which is sufficient for an agent to invoke it correctly. Slight improvement could specify the output structure, but the minimal context makes this complete enough.
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 tool has zero parameters, so the input schema is trivially complete (100% coverage). Per the baseline guidance, a 0-parameter tool scores 4 without needing parameter descriptions. The description mentions no parameters, which is appropriate since none exist.
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 ('verify') and resource ('connection'), and clearly states what it returns (authenticated account identity and plan). This distinguishes it from sibling tools like estimate_capacity, generate_report, and pack_containers, which serve different purposes.
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 this tool is used to check the validity of the connection/authentication, which is a distinct and unambiguous purpose. While it does not explicitly mention when not to use it or name alternatives, its role as a verification tool is clear and siblings are unrelated, so the guidance is adequate.
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.
4 tool updates
- First observed
estimate_capacity - First observed
generate_report - First observed
pack_containers - First observed
verify_key
Related MCP Connectors
Plan optimal container & truck loads: 3D layouts, utilization, centre of gravity, crush checks.
How many identical cartons fit in a container or space, where they go, plus a 3D loading plan.
How many identical cartons fit in a container or space, where they go, plus a 3D loading plan.
Load planning for containers, trucks & pallets in Claude & ChatGPT, with a 3D load plan in the chat.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePlan optimal container & truck loads: 3D layouts, right-size the container mix, and check utilization, centre of gravity, crush protection and securing across 200+ equipment types.7 npm1MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to plan container and truck loads from plain-English shipment descriptions, returning fitted containers, utilization, non-fitting items, and interactive 3D load plans.1114 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to pack trucks and shipping containers by generating validated 3D load plans with metrics like LDM, linear feet, and pallet positions through the Hansatic packing API.37 npmMIT

@kubova/mcpofficial
AlicenseAqualityDmaintenanceLets AI agents pack shipping containers using the Kubova calculator, with tools for container loading and API key verification.415 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.