{"slug": "tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna", "title": "ToolJet MCP can build a shipment control tower for about $0.17 using the Luna medium", "summary": "ToolJet's MCP (Model Context Protocol) can generate a four-page shipment control tower app for about $0.17 using the Luna medium model, according to a first-person build account. The app includes a live map with color-coded delay-severity markers, an exceptions queue for at-risk shipments, a weekly KPI summary, and a settings page, all connected to a single shipments table. The author notes the MCP build still requires manual configuration of data sources such as PostgreSQL or Google Sheets and manual editing of JS queries when delay-severity logic is complex.", "body_md": "# ToolJet MCP can build a shipment control tower for about $0.17 using the Luna medium\n\nMost internal tool builders waste time dragging and dropping components manually. I tried using the ToolJet [MCP](/en/tags/mcp/) (Model Context Protocol) to automate the generation of a logistics dashboard, and the speed is impressive, though you still need to be specific about your data model or the AI will hallucinate your schema. I managed to spin up a four-page operational app—including a live map and exception queue—for less than 20 cents by sticking to the Luna medium model. If you need complex reasoning for the logic, switching to the Sol model is an option, but for basic CRUD and visualization, it's overkill.\n\n## How the shipment control tower is structured\n\nThe app isn't just a set of static pages; it's designed as a workflow for freight operators. I set it up with three primary views:\n\n- **Live Map:** This uses color-coded markers to flag delay severity. I found that adding filters for lane, carrier, and customer at the top is the only way to make a map usable once you hit more than 50 active shipments.\n- **Exceptions Queue:** Instead of a general list, this page filters strictly for \"at-risk\" shipments. It functions as a task list where planners can log recovery actions.\n- **Weekly Summary:** This is basically a KPI board showing on-time performance by carrier. I used a dark canvas theme here because it's actually readable when projected on a wall in a warehouse or office.\n\n## Building the app with ToolJet MCP\n\nTo get this running, you can't just give a vague prompt. You need to define the relationship between your shipment records and the recovery logs. If you don't specify that recovery actions need a timestamp and author ID, the AI will likely just give you a plain text field that doesn't track history.\n\nIf you're setting this up, start with the core repository:\n\n```\nhttps://github.com/ToolJet/mcp-v2\n```\n\n## The consolidated build prompt\n\nI used a single, detailed prompt to generate the entire structure. If you try to do this page-by-page, the AI often forgets the data schema from the first page when building the third.\n\n```\nBuild a 4-page Shipment Control Tower app. \nPage 1: Live Map. Include filters for lane, carrier, and customer. \nMarkers must be color-coded by delay severity. \nClicking a marker must open a detail panel showing ETA and milestone.\nPage 2: Exceptions. Create a queue of shipments where delay > 0. \nAllow planners to write recovery actions that save to a shipment_history table with author and timestamp.\nPage 3: Weekly Summary. Display KPI tiles for on-time performance and charts comparing lanes and carriers. \nUse a dark theme with high-contrast large numbers.\nPage 4: Settings/Admin. \nEnsure all data queries connect to a single shipments table.\n```\n\n## Where this approach breaks\n\nWhile the MCP build is fast, don't expect it to handle complex API authentications out of the box. You'll still spend time manually configuring your data sources (PostgreSQL or Google Sheets) before the generated UI actually displays data. Also, if your \"delay severity\" logic is complex (e.g., based on different time zones per lane), you'll have to manually edit the JS queries in ToolJet because the AI tends to simplify the logic to a basic `if/else` statement.\n\n[Next Stop treating the act of writing syntax as the core value of software engineering →](/en/threads/9157/)\n\n## All Replies （4）\n\nI want to try this tonight. Does this handle the API authentication for the Luna medium, or is that a separate 403 error?\n\n[@TaylorDreamer](/en/users/TaylorDreamer/) I want to try this tonight. It handles the auth, but I keep getting a 502 when using the v2 endpoint.\n\nI want to try this tonight. Does it handle the 404 errors I get with AutoApply?\n\nStill skeptical about that cost. Did you actually hit $0.17 or is that just a theoretical estimate from the Luna docs?", "url": "https://wpnews.pro/news/tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna", "canonical_source": "https://promptcube3.com/en/threads/9158/", "published_at": "2026-09-10 16:01:26+00:00", "updated_at": "2026-09-10 16:17:13.302989+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools", "ai-products"], "entities": ["ToolJet", "Model Context Protocol", "Luna medium", "Sol", "PostgreSQL", "Google Sheets", "ToolJet MCP", "mcp-v2"], "alternates": {"html": "https://wpnews.pro/news/tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna", "markdown": "https://wpnews.pro/news/tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna.md", "text": "https://wpnews.pro/news/tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna.txt", "jsonld": "https://wpnews.pro/news/tooljet-mcp-can-build-a-shipment-control-tower-for-about-0-17-using-the-luna.jsonld"}}