Kras-Trans: CMR, WZ and interest note generator
CMR consignment notes in 25 EU languages, Polish WZ and interest notes: link to a ready PDF.
Should I use this
Quality & Safety
Findings (1)
- LOWin calculate_late_payment_interest
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cmr": {
"url": "https://kras-trans.eu/cmr/mcp"
}
}
}Remote endpoints
https://kras-trans.eu/cmr/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟡create_cmr_consignment_note(carriage_charges, carrier, carrier_reservations, cash_on_delivery, consignee, ...)
Creates an international road consignment note CMR (Geneva Convention 1956, standard IRU layout with 24 fields) on kras-trans.eu and returns a short link where the user reviews it and downloads a free PDF with 4 colour copies (sender, consignee, carrier, archive). The generator works in 25 languages. Use for: CMR, road waybill, consignment note, list przewozowy CMR, CMR-Frachtbrief, lettre de voiture CMR, lettera di vettura CMR, carta de porte CMR, nákladní list CMR, міжнародна товарно-транспортна накладна CMR. Ask only for missing essentials: sender, consignee, places of loading and delivery, goods. Signatures and stamps (fields 22–24) are added on paper after printing.
Input Schema
{
"type": "object",
"properties": {
"carriage_charges": {
"description": "Field 14 — e.g. carriage paid / carriage forward",
"type": "string"
},
"carrier": {
"description": "Field 16 — carrier; leave out if not known yet",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"trailer_plate": {
"description": "Registration number of the trailer",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
},
"vehicle_plate": {
"description": "Registration number of the truck / van",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"carrier_reservations": {
"description": "Field 18 — carrier's reservations about goods or packaging",
"type": "string"
},
"cash_on_delivery": {
"description": "Field 15 — cash-on-delivery amount and currency, if any",
"type": "string"
},
"consignee": {
"description": "Field 2 — consignee (receiver)",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"date_of_loading": {
"description": "Field 4 — date of taking over, YYYY-MM-DD",
"type": "string"
},
"documents_attached": {
"description": "Field 5 — e.g. commercial invoice no. …, packing list",
"type": "string"
},
"established_in": {
"description": "Field 21 — place where the note is made out",
"type": "string"
},
"established_on": {
"description": "Field 21 — date, YYYY-MM-DD",
"type": "string"
},
"goods": {
"description": "Fields 6–12 — one entry per line of goods",
"items": {
"properties": {
"gross_weight_kg": {
"description": "Field 11 — gross weight in kg including packaging",
"type": "string"
},
"marks_and_numbers": {
"description": "Field 6",
"type": "string"
},
"method_of_packing": {
"description": "Field 8, e.g. EUR pallets, cartons",
"type": "string"
},
"nature_of_goods": {
"description": "Field 9, e.g. wooden furniture",
"type": "string"
},
"number_of_packages": {
"description": "Field 7",
"type": "string"
},
"statistical_number": {
"description": "Field 10 — HS/CN code",
"type": "string"
},
"volume_m3": {
"description": "Field 12 — volume in m³",
"type": "string"
}
},
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"language": {
"description": "Language of the generator page — use the user's language",
"enum": [
"pl",
"en",
"de",
"fr",
"it",
"es",
"cs",
"nl",
"ro",
"hu",
"sk",
"pt",
"uk",
"bg",
"hr",
"da",
"et",
"fi",
"el",
"lv",
"lt",
"sl",
"sv",
"tr",
"ru"
],
"type": "string"
},
"place_of_delivery": {
"description": "Field 3 — place designated for delivery: city, country",
"type": "string"
},
"place_of_loading": {
"description": "Field 4 — place of taking over the goods: city, country",
"type": "string"
},
"reference": {
"description": "Own reference number (optional)",
"type": "string"
},
"sender": {
"description": "Field 1 — sender (shipper)",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"sender_instructions": {
"description": "Field 13 — customs and other formalities",
"type": "string"
},
"special_agreements": {
"description": "Field 19",
"type": "string"
},
"successive_carriers": {
"description": "Field 17",
"type": "string"
}
},
"required": [
"language",
"sender",
"consignee"
]
}🟡create_wz_goods_issue_note(dispatch_date, document_number, invoice_reference, issue_date, items, ...)
Creates a Polish warehouse goods issue note WZ (wydanie zewnętrzne, classic form 351-8) on kras-trans.eu and returns a short link where the user reviews it and prints or saves a free PDF. Prices in PLN; the value of each line is calculated exactly (quantity × unit price). Use for: WZ, druk WZ, dokument WZ, wydanie zewnętrzne, wydanie z magazynu, goods issue note, delivery note of a Polish company.
Input Schema
{
"type": "object",
"properties": {
"dispatch_date": {
"description": "Date the goods left the warehouse, YYYY-MM-DD",
"type": "string"
},
"document_number": {
"description": "e.g. WZ/12/09/2026",
"type": "string"
},
"invoice_reference": {
"description": "Related invoice number and date",
"type": "string"
},
"issue_date": {
"description": "YYYY-MM-DD, default today",
"type": "string"
},
"items": {
"items": {
"properties": {
"code": {
"description": "Product code / index",
"type": "string"
},
"name": {
"type": "string"
},
"quantity": {
"description": "Quantity issued, e.g. 12 or 2.5",
"type": "string"
},
"quantity_ordered": {
"description": "Quantity ordered, default = quantity",
"type": "string"
},
"unit": {
"description": "e.g. szt., kg, m, pal. — default szt.",
"type": "string"
},
"unit_price_pln": {
"description": "Optional unit price in PLN, e.g. 12.50",
"type": "string"
}
},
"required": [
"name",
"quantity"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"means_of_transport": {
"description": "e.g. registration number of the truck, courier",
"type": "string"
},
"notes": {
"type": "string"
},
"order_number": {
"type": "string"
},
"purpose": {
"description": "e.g. sale, transfer to a subcontractor",
"type": "string"
},
"recipient": {
"description": "Recipient of the goods",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"shipping_paid_by": {
"description": "Who pays for the shipment",
"type": "string"
},
"warehouse": {
"description": "Warehouse number or name",
"type": "string"
}
},
"required": [
"recipient",
"items"
]
}🟡create_interest_note(annual_rate_percent, bank_account, creditor, currency, debtor, ...)
Calculates Polish late-payment interest for overdue invoices (statutory rate under art. 481 of the Civil Code by default; commercial-transactions rate or a custom rate on request), creates an interest note (nota odsetkowa) on kras-trans.eu and returns a short link to review and download the PDF together with the calculation, exact to the grosz. Statutory rates come from the current National Bank of Poland reference rate. Unpaid invoices: interest is counted up to today.
Input Schema
{
"type": "object",
"properties": {
"annual_rate_percent": {
"description": "Annual rate in percent when rate_type is custom, e.g. 12.5",
"type": "string"
},
"bank_account": {
"description": "IBAN for the payment of the note",
"type": "string"
},
"creditor": {
"description": "Creditor — who issues the note and receives the interest",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"currency": {
"description": "ISO 4217 code of the amounts, default PLN",
"type": "string"
},
"debtor": {
"description": "Debtor — who paid late",
"properties": {
"address": {
"description": "Street and number, postcode, city",
"type": "string"
},
"country": {
"description": "Country name or ISO code",
"type": "string"
},
"name": {
"description": "Company or person name",
"type": "string"
},
"vat_id": {
"description": "VAT / NIP number, e.g. PL7262662303 — only if the user gave it",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"invoices": {
"description": "Invoices or other amounts paid late / still unpaid",
"items": {
"properties": {
"amount": {
"description": "Amount paid late or still outstanding, e.g. 12300.50",
"type": "string"
},
"document": {
"description": "Invoice number and date",
"type": "string"
},
"due_date": {
"description": "Payment deadline, YYYY-MM-DD",
"type": "string"
},
"payment_date": {
"description": "Date of payment, YYYY-MM-DD; omit when still unpaid — interest is then counted up to today",
"type": "string"
}
},
"required": [
"amount",
"due_date"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"issue_date": {
"description": "YYYY-MM-DD, default today",
"type": "string"
},
"note_number": {
"description": "Number of the note, e.g. NO/1/09/2026",
"type": "string"
},
"payment_days": {
"description": "Days to pay the note, default 14",
"type": "string"
},
"place": {
"description": "Place of issue (city)",
"type": "string"
},
"rate_type": {
"description": "statutory = Polish statutory late-payment interest (art. 481 Civil Code, default); commercial = rate for transactions between businesses; custom = contractual rate given in annual_rate_percent",
"enum": [
"statutory",
"commercial",
"custom"
],
"type": "string"
}
},
"required": [
"creditor",
"debtor",
"invoices"
]
}🟢calculate_late_payment_interest(annual_rate_percent, currency, invoices, rate_type)
Calculates Polish late-payment interest for one or more overdue amounts — statutory (art. 481 Civil Code), commercial-transactions or a custom rate — using the current National Bank of Poland reference rate, exact to the grosz. Returns days late, the rate and the interest. To issue a formal interest note use create_interest_note.
Input Schema
{
"type": "object",
"properties": {
"annual_rate_percent": {
"description": "Annual rate in percent when rate_type is custom, e.g. 12.5",
"type": "string"
},
"currency": {
"description": "ISO 4217 code of the amounts, default PLN",
"type": "string"
},
"invoices": {
"description": "Invoices or other amounts paid late / still unpaid",
"items": {
"properties": {
"amount": {
"description": "Amount paid late or still outstanding, e.g. 12300.50",
"type": "string"
},
"document": {
"description": "Invoice number and date",
"type": "string"
},
"due_date": {
"description": "Payment deadline, YYYY-MM-DD",
"type": "string"
},
"payment_date": {
"description": "Date of payment, YYYY-MM-DD; omit when still unpaid — interest is then counted up to today",
"type": "string"
}
},
"required": [
"amount",
"due_date"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"rate_type": {
"description": "statutory = Polish statutory late-payment interest (art. 481 Civil Code, default); commercial = rate for transactions between businesses; custom = contractual rate given in annual_rate_percent",
"enum": [
"statutory",
"commercial",
"custom"
],
"type": "string"
}
},
"required": [
"invoices"
]
}Community
Evidence