@kubova/mcp
OfficialProvides tools for packing cargo into shipping containers, returning placements, utilization, and weight.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@kubova/mcppack 5 pallets of books into a 20ft container"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@kubova/mcp
Model Context Protocol server for the Kubova container loading calculator.
Lets Claude, Cursor, Cline, ChatGPT, n8n, and any other MCP-aware AI agent pack shipping containers as a tool call.
Install
# Get an API key first at
# https://kubova.com/dashboard/api-keys
# (Pro plan; 14-day trial available.)Related MCP server: CargoEffe MCP Server
Configure
Claude Code / Claude Desktop
Add to ~/.claude/settings.json (or the Claude Desktop config file):
{
"mcpServers": {
"kubova": {
"command": "npx",
"args": ["-y", "@kubova/mcp@latest"],
"env": {
"KUBOVA_API_KEY": "kbv_..."
}
}
}
}Cursor / Cline / Codex
Same JSON shape — point your MCP-aware client at the package via npx.
Tools exposed
Tool | Purpose |
| Pack a list of cargo SKUs into one or more shipping containers. Returns placements, utilization, weight, and any unplaced pieces. |
| Sanity-check the configured API key. Returns identity, scopes, and rate limit. |
Input schema (pack_containers)
{
cargos: [
{
id: string,
name: string,
shape?: "box" | "cylinder",
lengthCm: number,
widthCm: number,
heightCm: number,
quantity: number,
weightKg: number,
color?: string,
includeInLoading?: boolean,
allowStacking?: boolean,
allowRotation?: boolean
}
],
container?: {
id: string,
name: string,
innerLengthCm: number,
innerWidthCm: number,
innerHeightCm: number,
doorWidthCm: number,
doorHeightCm: number,
maxPayloadKg: number
},
containers?: [ /* multiple types — Kubova picks the best mix */ ],
options?: {
loadingDirection?: "floor-to-top" | "right-to-left",
maxContainers?: number
}
}Env
Variable | Default | Notes |
| — | Required. Generated from the dashboard. |
License
MIT.
Available Tools
4 toolsestimate_capacityARead-only
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, 40' HC.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | ||
| containers | No | Containers to evaluate. Omit for the standard 20' DC, 40' DC, 40' HC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds behavioral details: real 3D packing, all cartons in same container, reports binding limit. No contradictions. Adds value beyond 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 paragraph of four sentences, front-loaded with the main purpose, and every sentence adds value. No unnecessary 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 tool with two parameters (one nested object) and no output schema, the description covers product structure, container behavior, and reports the binding limit. It is complete for effective use.
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 description explains product structure (cartons with qtyPerSet) and containers omission, supplementing schema with example and constraint that all cartons go together. Some schema properties have descriptions, and description enhances understanding.
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 estimates how many complete sets of one product fit in a container, using real 3D packing, and reports the binding limit. It distinguishes from siblings by specificity and operational detail.
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 guidance on omitting containers for standard containers, but does not explicitly contrast with siblings or state when not to use. It gives some usage context but lacks comprehensive guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportA
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 (which can differ run-to-run). If result is omitted, it packs from cargos + containers. Returns base64-encoded PDF + PNG per container plus the pack result.
| Name | Required | Description | Default |
|---|---|---|---|
| cargos | Yes | ||
| container | No | Single container to pack into. Use this OR containers[]. | |
| containers | No | Multiple container types — Kubova picks the best mix. | |
| options | No | ||
| result | No | OPTIONAL but strongly recommended: the exact `result` object returned by a prior pack_containers call. Pass it here so the report renders THAT plan instead of repacking — this guarantees the PDF matches the packing you already showed the user. Omit only if you have not packed yet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description properly discloses that omitting result causes repacking (which may differ), and describes the output format. However, it does not mention potential side effects or constraints like rate limits, though none are expected for a report generator.
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 with three well-structured sentences: purpose, critical usage guideline, and output summary. Every sentence provides necessary information without redundancy.
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 moderately complex tool with nested parameters and no output schema, the description covers purpose, key usage nuance, and return format. It is adequate but could be enhanced by explaining 'CAD-style' or detailing the options parameter.
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 description adds significant meaning only for the result parameter, explaining its role in ensuring consistency. For other parameters (cargos, containers, options), it adds no value beyond the schema, which has 60% coverage, so the description does not fully compensate.
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'. It specifies the output format and the resource, effectively distinguishing it from sibling tools like estimate_capacity and pack_containers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use the result parameter and why, including the alternative behavior if omitted. This guides the agent to maintain consistency with prior packing plans, which is a critical usage nuance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pack_containersA
Pack a list of cargo SKUs into one or more shipping containers using the Kubova solver. Returns per-container placements with x,y,z coordinates in cm, volume utilization, weight, and any unplaced pieces.
| Name | Required | Description | Default |
|---|---|---|---|
| cargos | Yes | ||
| container | No | Single container to pack into. Use this OR containers[]. | |
| containers | No | Multiple container types — Kubova picks the best mix. | |
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return format (coordinates, volume utilization, weight, unplaced pieces) and solver used, but does not explain behavioral traits like whether it modifies state, handles special shapes (box/cylinder), or applies stacking/rotation defaults. No annotations to supplement, so description bears full burden.
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 front-loaded with action and result. Every word serves a purpose; no 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?
Adequate for a tool with nested parameters and no output schema, but missing details on container vs. containers options, shape handling, and option defaults. Could be more complete given 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 coverage is 50% (some fields have descriptions). Description adds output context but does not explain input parameters like shape, includeInLoading, allowStacking, allowRotation, loadingDirection, or container options. Without compensation, this leaves agents uncertain about key inputs.
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?
Clearly states verb 'pack', resource 'cargo SKUs into shipping containers', and solver used ('Kubova solver'). Distinct from siblings (estimate_capacity, generate_report, verify_key) which focus on capacity estimation, reporting, and verification.
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?
Implies usage for packing cargos into containers but does not explicitly state when to use vs. alternatives (e.g., estimate_capacity for capacity checks). No exclusion criteria or prerequisites provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_keyARead-only
Verify the configured API key. Returns the key identity, scopes, and rate limit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds value by specifying the exact return fields (identity, scopes, rate limit). However, it does not disclose any behavioral traits beyond what annotations imply, such as what happens if the key is invalid or if network issues occur.
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, focused sentence that immediately states the action and return value. There is no extraneous information, making it highly efficient for an agent to parse.
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 simplicity (no parameters, no output schema, and sibling tools indicating different domains), the description covers the essential purpose and output. It could be more complete by stating the precondition that an API key must be configured, but overall it is sufficient for a verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage, so the description has no parameter details to add. By the baseline rule for 0-parameter tools, a score of 4 is appropriate, as the description correctly implies no input is needed beyond the configured key.
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 (verify) and the resource (configured API key), and specifies what it returns (identity, scopes, rate limit). This distinct purpose is well differentiated from sibling tools like estimate_capacity, generate_report, and pack_containers.
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 no guidance on when to use this tool versus alternatives, no context about prerequisites (e.g., having a configured API key), and no mention of when not to use it. The agent must infer usage from the tool name and description alone.
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. Dates show when Glama detected each change.
4 tool updates
v0.1.6- First observed
estimate_capacity - First observed
generate_report - First observed
pack_containers - First observed
verify_key
TDQS
Each tool has a clearly distinct purpose: capacity estimation, container packing, report generation, and API key verification; no overlap in functionality.
All tool names follow a consistent verb_noun snake_case pattern: estimate_capacity, generate_report, pack_containers, verify_key.
With 4 tools, the server is well-scoped for its packing optimization domain; each tool serves a core function without redundancy.
Covers the main workflow (estimate, pack, report) but lacks tools for managing containers or cargo definitions, though these may be handled via parameters.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Pack cargo into containers & onto pallets; a verifiable 3D loading plan. Free tier + REST API.
Plan optimal container & truck loads: 3D layouts, utilization, centre of gravity, crush checks.
Plain-English shipment input for freight & logistics: containers your cargo fits, 3D load plan.
Calculate shipment volume (CBM/CFT), weight, and how cargo fits standard shipping containers.
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.16MIT
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants to CargoEffe for automated cargo loading plan design, offering tools to manage containers, cargo items, and load plans.MIT
- AlicenseAqualityCmaintenanceEnables 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.319MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to query and manage logistics shipment data, supporting operations like tracking, quoting, and performance analysis via nine tools backed by a demo dataset or a REST API.9253MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kubova-com/kubova-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server