Skip to content

Kubova — 3D Container Loading

by kubova.com · remote · no sign-in to list tools · v1.0.0 · published by com.kubova

Pack cargo into containers & onto pallets; a verifiable 3D loading plan. Free tier + REST API.

Changes · 4

4 tools: 4 change things.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http container-loading https://kubova.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "generate_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_report" says "generate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Changes things 4Claude Code: ask
  • estimate_capacityHow many complete SETS of one product fit in a single container?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Estimate container capacity
    • readOnlyHint: true
    • openWorldHint: false
  • generate_reportGenerate a CAD-style PDF + 3D PNG report for a packing job.1 finding

    Why it is in this group

    • The name "generate_report" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_report" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Generate PDF report
    • readOnlyHint: true
    • openWorldHint: false
  • pack_containersPack a list of cargo SKUs into one or more shipping containers using the Kubova solver.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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, 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.

    Annotations the server declares

    • title: Pack containers
    • readOnlyHint: true
    • openWorldHint: false
  • verify_keyVerify the connection.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Verify the connection. Returns the authenticated account identity and plan.

    Annotations the server declares

    • title: Verify connection
    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http container-loading https://kubova.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__container-loading__pack_containers",
      "mcp__container-loading__generate_report",
      "mcp__container-loading__estimate_capacity",
      "mcp__container-loading__verify_key"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as container-loading. Review it before you use it.