Introduction
When you build a shipment control tower with ToolJet MCP, freight operations teams get one place to watch shipments, spot delays, and log recovery actions as conditions change, and the result is a structured ToolJet application with data, queries, and interface together, which the team keeps running instead of a screen or a code drop. The app in this article sits at the center of ocean and air freight moving across several lanes, carriers, and customers. You get the live map, the exceptions queue, and the weekly summary, plus the data model and recovery flow that connect them. The article shows how the same app holds the live view, the exception log, and the weekly performance readout in one place.
Live Map — every shipment plotted and colour-coded by delay
Exceptions — at-risk shipments sorted by delay severity
Weekly Summary — on-time performance by lane and carrier
You can easily build a 4-page app with ToolJet MCP for as little as $0.17 with a lean model (Luna medium), or pay more for the latest flagship reasoning (Sol) if that's what you're after. The cost is your call, not a floor we set for you.
What We're Building
The first page centers a live map, with lane, carrier, and customer filters pinned above it. Each shipment marker changes color with delay severity, and clicking a marker opens a detail panel with lane, carrier, ETA, milestone, and delay. The exceptions page shows only shipments that need attention, so planners work from a queue instead of scanning the whole network. From that page, a planner opens one record, writes a recovery action, and sees the note appear in the history list for that shipment with name and timestamp. The weekly summary pairs KPI tiles with lane and carrier charts, while the dark canvas, tight spacing, and large numbers keep the page readable from a distance. The map stays the focus, but the layout leaves enough room for the operational context around it, including the markers, the summary, and the current exception state.
- Live map filters narrow shipments by lane, carrier, and customer
- Marker colour shows delay severity and the detail panel shows the shipment context
- Exceptions are a working queue for at-risk shipments, not a separate report
- Recovery actions are logged with author and timestamp for each shipment
- Weekly summary charts compare on-time performance by lane and carrier
Build a Shipment Control Tower with ToolJet MCP and Tune the Pages
Want to build it yourself? Start with the ToolJet MCP repository for setup instructions, supported agents, and everything you need to follow along.
The Consolidated Build Prompt
The build took several passes, and the requirements have been consolidated into one prompt that you could have used from the start. Use the prompt in this article to reproduce the same application in one shot.
Build a 3-page dark command-centre ToolJet app called "Shipment Control Tower" for a freight forwarding company's operations team, moving ocean and air cargo between North America, Europe, and Southeast Asia.
Data model (ToolJet DB): - shipments: shipment_ref (unique), mode, lane, carrier, customer, origin, destination, latitude/longitude (current position), scheduled_arrival, estimated_arrival, delay_hours, risk_status, milestone, updated_at, week_label, on_time. - recovery_actions: shipment_ref, action_text, owner_email, owner_name, created_at. Seed shipments with a realistic spread across all combinations of lane (NA→Europe, Europe→NA, SEA→NA, NA→SEA, Europe→SEA, SEA→Europe), carrier (Maersk, MSC, CMA CGM, Lufthansa Cargo, Singapore Airlines Cargo, Kuehne+Nagel Air), and customer (Apex Retail, Nordic Machines, BrightHome, Vela Pharma, Orion Auto, Vertex Electronics), with most shipments on time and a meaningful minority at risk across Watch/At risk/Critical severity.
Page 1 — Live Map: a live map of every shipment, color-coded by how late it is, with filters for lane, carrier, and customer above it. The map must stay smooth with tens of thousands of points (cluster rather than render one DOM element per point). Clicking a shipment shows its full detail (lane, carrier, ETA, milestone, delay).
Page 2 — Exceptions: a list of only the shipments currently at risk (delay_hours > 0). A planner can open a shipment and write down what they're doing about it (a free-text recovery action), which is logged with their name and timestamp and shown in a history list for that shipment. Only regional planners and the operations manager may log recovery actions; the customer success team can see everything but change nothing.
Page 3 — Weekly Summary: a simple weekly summary of on-time performance by lane and by carrier, plus headline KPIs (network on-time %, shipment count, late count, average delay).
Design: dark command-centre pattern — near-black background (#070B10), one orange accent colour (#F97316) used for alerts and the active/critical states, generous spacing, and KPI numbers large enough to read from across a room.
How ToolJet MCP Builds the App
MCP works through the whole application, not the screen: the shipment data model, the pages, the components, the queries, and the wiring between them land as one structured ToolJet application. Enterprise app building does not end at the interface, because data connectivity, workflows, permissions, deployment, and ongoing change are the rest of the job, and the generated app sits on a runtime that carries those where supported instead of handing the team a codebase to operate themselves. The path stays open, so you can move from AI generation to visual editing, then drop into code when a rule or a data shape needs it.
The One Thing That Broke
A reseed attempt made the shipments table look stuck, but the cause was the protected write path, which refused mutation during test runs, and the browser fallback hit sandbox permissions. The fix was to keep the seeded data and continue through the editor flow the runtime accepted.
Data Created
The app ended up with three tables. shipments stores the core shipment record and its live position, recovery_actions logs each planner follow-up with author and time, and milestone_events keeps the per-shipment timeline used by the detail panel.
| Page | Components | What they cover |
|---|---|---|
| Live Map | 9 | Live route map, KPI tiles, and lane/carrier/customer filters |
| Exceptions | 11 | At-risk shipments table, recovery-action modal and history |
| Weekly Summary | 12 | KPI tiles and four on-time performance charts |
What Got Generated
| Metric | Result |
|---|---|
| Pages | 3 |
| ToolJet DB tables | 3 |
| Queries | 6 |
| Components | 32 |
| Code files to maintain | 0 |
| Repair cycles | 1 |

The components ToolJet MCP created, in the ToolJet inspector
Industries That Run This
Freight forwarding, 3PL and 4PL logistics, ocean and air carriers, port operators, retail and CPG supply chain, automotive inbound logistics.
Who Gets Access To The Built App
Regional planners and the operations manager can log recovery actions on at-risk shipments; the customer success team gets read-only access to the same live map, exceptions queue, and weekly summary.
Enterprise Features for Your Shipment Control Tower
Shipment references, customer details, and recovery actions sit in the app. ToolJet covers that governance at the platform layer, so you configure it once instead of rebuilding it in every app.
- SSO and SCIM: sign in with SAML, OIDC or LDAP, and provision users automatically
- Role-based access control: scope permissions to the app, the data source, and each query
- Audit logs: track every login, edit, and approval decision for compliance review
- Air-gapped deployment: self-host on Docker or Kubernetes so your data stays in your network
- Multiplayer editing: several builders work on the same app, with versioning and Git sync
- ToolJet AI inside your own deployment: run the AI features in your tenancy rather than a shared service
Final Takeaways
This build shows that a single prompt can produce a dark operations console with a live map, an exceptions queue, and a weekly summary that all stay tied to the same shipment records. The useful part is the structured application underneath, because the team keeps editing the app after generation instead of inheriting generated code and owning every downstream change alone. Visual editing covers routine layout changes, code gives you escape hatches for custom rules, and the runtime carries the data model, workflows, access control, and auditing where supported, which is how the app stays part of the platform over time. That is the trade-off this article demonstrates, and it is the reason the generated app stays useful after the prompt is done.
Three to four builds per model across four-page apps. 1 credit = 1 cent. Credits and time are estimates only and will vary with the complexity of what you ask for cost and speed only, not a measure of how complete or polished the result is.
Even averaging across model tiers, ToolJet MCP can turn $10 into a dozen or more working 4-page apps.
Try ToolJet MCP
Build your own shipment control tower with your freight data, then request a ToolJet demo.
FAQs
What does ToolJet MCP build for this shipment control tower?
If you build a shipment control tower with ToolJet MCP, the result is the application structure, not a mockup. In this app, the map, the exceptions queue, and the weekly summary all read from the same shipment records and recovery history, so the planner sees one operating picture instead of separate screens.
What problem does this shipment control tower solve?
It gives planners one working surface for delays, exceptions, and weekly performance checks. The same app shows what is moving, what is late, and what action has already been logged for a shipment that needs attention, so the team does not have to cross-check separate reports.
How do I rebuild this app with my own freight data?
Start with the prompt in this article and map your own freight fields onto the same three tables. Keep the lane, carrier, customer, delay, and recovery-action concepts aligned so the pages stay in sync when the data changes, and use the same prompt as the starting point for your own network.
Do I need to write code to build this app?
You can generate the first version without writing code, then use code only when a rule or data shape needs a custom touch. The visual editor still handles routine changes after generation, which keeps day-to-day updates in one place and avoids scattering small edits across the build.
What happens to the app after the agent finishes?
The app stays in ToolJet as a structured application on the runtime, so your team keeps editing pages, data connections, and workflows in place. That matters when requirements shift, because the app evolves instead of being thrown over the wall as a codebase.
Can I connect existing shipment data sources?
Yes, if the source can supply the route, delay, and recovery fields the app needs. This tutorial uses ToolJet DB, but the same shape can map to another connected source with the same structure and update flow.
Can several people work on the same app at once?
Yes, different people can hold different roles while working on the same application. One person can tune the map while another reviews exceptions without changing the same part of the app, which keeps the build moving without overlap.




Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.