{"ok":true,"site":{"host":"meridian-webmcp.vercel.app","url":"https://meridian-webmcp.vercel.app/","type":"live","desc":"A car configurator where the agent and the human edit the same build. Nine WebMCP tools registered on document.modelContext, including a constraint solver.","tools":[{"name":"get_configuration","kind":"answer","impl":"imperative","description":"Read the car the user is currently configuring: every selected option, the price, the estimated range, the 0-60 time, and whether the build is valid. Call this first, and call it again after the user changes something by hand.","title":"Get the current build","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_available_options","kind":"answer","impl":"imperative","description":"List every option the Meridian Voyager offers, with prices and range impact. Optionally filter to one category. Use this to discover valid option ids before calling set_option.","title":"List catalog options","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["trim","powertrain","wheels","paint","interior","package"],"description":"Restrict the listing to a single category."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_compatibility","kind":"answer","impl":"imperative","description":"Ask whether adding an option to the current build would be valid, without changing anything. When it is not valid, the response explains which rule blocks it and why, so you can offer the user a real alternative.","title":"Check whether an option can be added","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"option_id":{"type":"string","enum":["trim-voyager","trim-sport","trim-ultra","pt-rwd","pt-awd","pt-performance","wheel-aero18","wheel-sport19","wheel-turbine21","paint-glacier","paint-midnight","paint-cinder","paint-ember","paint-fern","int-slate","int-linen","int-cognac","pkg-tow","pkg-offroad","pkg-sportsusp","pkg-audio","pkg-autopilot","pkg-tow-prep"],"description":"The option to test."}},"required":["option_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_price_breakdown","kind":"answer","impl":"imperative","description":"Itemised pricing for the current build: base vehicle plus every paid option, sorted most expensive first. Use this when the user asks what is driving the price or wants to find something to cut.","title":"Get an itemised price breakdown","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"find_cheapest_build","kind":"answer","impl":"imperative","description":"Find the cheapest valid configuration that includes all of the given options. This searches the full option space and respects every compatibility rule, so it answers questions like \"the cheapest build with all-wheel drive and a tow hitch\". Returns the winning build without applying it -- follow up with apply_build if the user wants it.","title":"Solve for the cheapest valid build","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"required_options":{"type":"array","items":{"type":"string","enum":["trim-voyager","trim-sport","trim-ultra","pt-rwd","pt-awd","pt-performance","wheel-aero18","wheel-sport19","wheel-turbine21","paint-glacier","paint-midnight","paint-cinder","paint-ember","paint-fern","int-slate","int-linen","int-cognac","pkg-tow","pkg-offroad","pkg-sportsusp","pkg-audio","pkg-autopilot","pkg-tow-prep"]},"description":"Option ids that must be present in the result."},"max_price":{"type":"number","description":"Optional budget ceiling in USD, used to report whether it fits."}},"required":["required_options"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_option","kind":"act","impl":"imperative","description":"Select an option on the build. Choosing a trim, powertrain, wheel, paint or interior replaces the current pick in that category; packages are added. Refuses the change if it would make the build invalid, and explains why.","title":"Select an option","inputSchema":{"type":"object","properties":{"option_id":{"type":"string","enum":["trim-voyager","trim-sport","trim-ultra","pt-rwd","pt-awd","pt-performance","wheel-aero18","wheel-sport19","wheel-turbine21","paint-glacier","paint-midnight","paint-cinder","paint-ember","paint-fern","int-slate","int-linen","int-cognac","pkg-tow","pkg-offroad","pkg-sportsusp","pkg-audio","pkg-autopilot","pkg-tow-prep"],"description":"The option to select."}},"required":["option_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_option","kind":"act","impl":"imperative","description":"Remove an optional package from the build. Only packages can be removed, since every other category always has exactly one selection.","title":"Remove a package","inputSchema":{"type":"object","properties":{"option_id":{"type":"string","enum":["pkg-tow","pkg-offroad","pkg-sportsusp","pkg-audio","pkg-autopilot","pkg-tow-prep"],"description":"The package to remove."}},"required":["option_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_build","kind":"act","impl":"imperative","description":"Replace the entire build with the given set of option ids in one step. Use this to apply a result from find_cheapest_build. Rejects invalid combinations.","title":"Apply a complete build","inputSchema":{"type":"object","properties":{"option_ids":{"type":"array","items":{"type":"string","enum":["trim-voyager","trim-sport","trim-ultra","pt-rwd","pt-awd","pt-performance","wheel-aero18","wheel-sport19","wheel-turbine21","paint-glacier","paint-midnight","paint-cinder","paint-ember","paint-fern","int-slate","int-linen","int-cognac","pkg-tow","pkg-offroad","pkg-sportsusp","pkg-audio","pkg-autopilot","pkg-tow-prep"]},"description":"The complete set of options for the new build."}},"required":["option_ids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reset_build","kind":"act","impl":"imperative","description":"Reset the configurator back to the standard Voyager.","title":"Reset to the standard car","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","favicon":"/favicons/meridian-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":9}}