Freight calculators (weight, metres, vehicle fit) and authenticated team packing-library tools.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://mcp.kubik.tools/mcp10 tools · 1293mscalculate_chargeable_weightCalculates chargeable (billable) weight -- frachtpflichtiges Gewicht, Frachtgewicht -- for a freight shipment (Stückgut or Sammelgut) from a list of cargo pieces, for one of four transport modes. Answers questions like "wie viel wiegt die Sendung frachtpflichtig" or "was ist das Volumengewicht".
F…Calculates chargeable (billable) weight -- frachtpflichtiges Gewicht, Frachtgewicht -- for a freight shipment (Stückgut or Sammelgut) from a list of cargo pieces, for one of four transport modes. Answers questions like "wie viel wiegt die Sendung frachtpflichtig" or "was ist das Volumengewicht". F…
| Parameter | Type | Description |
|---|---|---|
| pieces | array | List of cargo pieces (up to 100 line items, required, non-empty). Use quantity to combine identical pieces rather than repeating rows. |
| mode | string | Transport mode (required): one of "air" (Luftfracht), "road", "sea_lcl" (Seefracht), "courier". Selects the default volumetric divisor: air=6000 cm³/kg (IATA),… |
| volumetric_divisor | number | Optional positive override of the mode's default divisor. For air/courier this is cm³ per kg (divided into volume); for road/sea_lcl this is kg per m³ (multipl… |
resolve_quantitiesResolves an ordered quantity of a Library article into concrete packed units (boxes/pallets), using that article's own logged packing history -- never a generic guess.
Check resolution_status first: "resolved" means units/tier are a real answer, safe to use directly. "ambiguous" means the article…Resolves an ordered quantity of a Library article into concrete packed units (boxes/pallets), using that article's own logged packing history -- never a generic guess. Check resolution_status first: "resolved" means units/tier are a real answer, safe to use directly. "ambiguous" means the article…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| article_query* | string | The article number or name to search for in the Library, e.g. 'MLB1001' or 'rim holder'. |
| quantity* | number | The ordered quantity to resolve, in whole units of the article. Must be a positive number. |
resolve_prepack_quantitiesResolves an ordered quantity of a CLASS of goods into concrete prepack units (boxes/cartons), using that class's own logged prepack table -- a class-level lookup (e.g. "small metal fittings"), not a single article. Use resolve_quantities instead when you have a specific article number/name.
Check…Resolves an ordered quantity of a CLASS of goods into concrete prepack units (boxes/cartons), using that class's own logged prepack table -- a class-level lookup (e.g. "small metal fittings"), not a single article. Use resolve_quantities instead when you have a specific article number/name. Check…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| article_class_query* | string | Free-text search over the prepack table's own article_class label, e.g. 'small metal fittings' or 'cable ties'. |
| quantity* | number | The ordered quantity to resolve, in whole units of the class. Must be a positive number. |
search_article_profilesSearches your team's kubik.tools Library for article profiles by article number or name (case-insensitive substring match). Returns up to 10 matches: id, article_number, name, supplier.
Leave query empty (or a single common substring) to browse -- this returns whatever matches, sorted however the…Searches your team's kubik.tools Library for article profiles by article number or name (case-insensitive substring match). Returns up to 10 matches: id, article_number, name, supplier. Leave query empty (or a single common substring) to browse -- this returns whatever matches, sorted however the…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| query | string | Article number or name substring to search for, e.g. 'MLB1001' or 'rim holder'. Leave empty to browse the first 10 articles in the Library. |
create_article_profileCreates a new article in your team's kubik.tools Library -- team-scoped from creation, visible to the whole team immediately (not a personal draft).
Two-step by design, never a silent write: call once WITHOUT confirm to get a preview of exactly what would be created (including a check for an exist…Creates a new article in your team's kubik.tools Library -- team-scoped from creation, visible to the whole team immediately (not a personal draft). Two-step by design, never a silent write: call once WITHOUT confirm to get a preview of exactly what would be created (including a check for an exist…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| name* | string | Article name, e.g. 'Rotor hub casting'. Required. |
| supplier* | string | Supplier name. Required. |
| article_number | string | Supplier's own article/SKU number, if known. |
| hs_code | string | HS/tariff code, exactly 8 digits. Format-only check -- not verified against a real tariff database. |
| description_de | string | — |
| description_en | string | — |
| confirm | boolean | Set true, with preview_id, to actually create the article after reviewing the preview. Omit or false for a dry-run preview only. |
| preview_id | string | The preview_id returned by the first (unconfirmed) call. Required when confirm=true. |
log_pack_observationLogs a real, observed consolidation pack -- "these articles, at these quantities, actually packed onto N pallets at these dims/weight" -- against an existing consolidation group in your team's Library. This is ground truth: it becomes a new data point resolve_quantities and the app's own resolve fl…Logs a real, observed consolidation pack -- "these articles, at these quantities, actually packed onto N pallets at these dims/weight" -- against an existing consolidation group in your team's Library. This is ground truth: it becomes a new data point resolve_quantities and the app's own resolve fl…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| consolidation_group_id* | string | The id of an existing consolidation group in your team's Library. Required. |
| member_quantities* | array | The articles and quantities actually packed together, e.g. [{article_number: 'MLB1001', qty: 3}]. |
| pallet_count* | integer | Number of pallets this pack used. |
| length_cm* | number | — |
| width_cm* | number | — |
| height_cm* | number | — |
| weight_kg* | number | Total gross weight, in kg. |
| confirm | boolean | Set true, with preview_id, to actually log the observation after reviewing the preview. Omit or false for a dry-run preview only. |
| preview_id | string | The preview_id returned by the first (unconfirmed) call. Required when confirm=true. |
list_pack_observationsLists the real, observed consolidation packs logged against a consolidation group in your team's Library -- "these articles, at these quantities, actually packed onto N pallets at these dims/weight," the same ground-truth data resolve_quantities/resolve_prepack_quantities and the app's own resolve…Lists the real, observed consolidation packs logged against a consolidation group in your team's Library -- "these articles, at these quantities, actually packed onto N pallets at these dims/weight," the same ground-truth data resolve_quantities/resolve_prepack_quantities and the app's own resolve…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| group_name_query* | string | Free-text search over the consolidation group's own name, e.g. 'pallet mix A' or 'mixed cartons'. |
undo_changeUndoes a create_article_profile or log_pack_observation call, but only within 15 minutes of when it was confirmed, and only if nothing else now depends on it.
For article_profiles: refuses if any packed_forms, consolidation_group_members, or edit-history rows now reference the article (edit it or…Undoes a create_article_profile or log_pack_observation call, but only within 15 minutes of when it was confirmed, and only if nothing else now depends on it. For article_profiles: refuses if any packed_forms, consolidation_group_members, or edit-history rows now reference the article (edit it or…
| Parameter | Type | Description |
|---|---|---|
| api_key* | string | Your team's kubik.tools MCP API key (kubik_mcp_...). Required. |
| table* | string | Which kind of change to undo, matching the undo_token's origin (create_article_profile -> article_profiles, log_pack_observation -> consolidation_pack_observat… |
| undo_token* | string | The undo_token returned by the original confirmed create_article_profile or log_pack_observation call. |
calculate_loading_metresCalculates loading metres (Lademeter, LDM) -- the floor-space unit (Ladefläche) that governs European road freight -- for a list of cargo pieces, plus the equivalent number of pallet places (Palettenstellplätze, Stellplätze). Answers questions like "wie viele Lademeter" or "wieviel Platz brauche ic…Calculates loading metres (Lademeter, LDM) -- the floor-space unit (Ladefläche) that governs European road freight -- for a list of cargo pieces, plus the equivalent number of pallet places (Palettenstellplätze, Stellplätze). Answers questions like "wie viele Lademeter" or "wieviel Platz brauche ic…
| Parameter | Type | Description |
|---|---|---|
| pieces | array | List of cargo pieces (up to 100 line items, required, non-empty). Use quantity to combine identical pieces rather than repeating rows. |
| vehicle_id | string | Optional vehicle profile id (e.g. "semi_136" = Sattelzug 13,6 m, "rigid_75" = 7,5-Tonner). Does not change the LDM calculation (always the fixed 240cm referenc… |
check_truck_fitChecks whether a list of cargo pieces fits a named vehicle. Two capacity limits always checked: loading metres (Lademeter, LDM, Stellplätze) and, if weight is given, payload (Zuladung, Nutzlast). When every piece ALSO carries height_cm, a third, stronger check runs too: a real 3D placement simulati…Checks whether a list of cargo pieces fits a named vehicle. Two capacity limits always checked: loading metres (Lademeter, LDM, Stellplätze) and, if weight is given, payload (Zuladung, Nutzlast). When every piece ALSO carries height_cm, a third, stronger check runs too: a real 3D placement simulati…
| Parameter | Type | Description |
|---|---|---|
| pieces | array | List of cargo pieces (up to 100 line items), optionally omitted entirely to just look up a vehicle's specs (with vehicle_id) or list all vehicles (without). Us… |
| vehicle_id | string | Vehicle profile id to check against or look up (e.g. "semi_136" = Sattelzug 13,6 m, "rigid_75" = 7,5-Tonner). If omitted or not recognized, the response lists… |
10 of 10 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Freight calculators (weight, metres, vehicle fit) and authenticated team packing-library tools.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.