{"apiVersion":"v1","directorySlug":"williamsburgauto-mcp-2618916df3","title":"Williamsburg Auto","description":"Welcome to the Williamsburg Auto.","pageUrl":"https://www.mcpbundles.com/skills/williamsburgauto-mcp-2618916df3","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://williamsburgauto.com/mcp","hostedMcpUrl":null,"toolCount":25,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.williamsburgauto/williamsburgauto-mcp-2618916df3","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_inventory","description":"Find specific vehicles in Williamsburg Auto inventory by free-text query and/or structured filters, sorted however the shopper asked. Returns matching vehicles with price, specs, availability and links. Use structured filters, not a vague query string. `sort` answers the superlative questions: sort='price_asc' for 'cheapest car you have', 'price_desc' for 'most expensive', 'year_desc' for 'newest', 'mileage_asc' for 'lowest miles', 'savings_desc' for 'biggest discount off MSRP'. Never answer a s","inputSchema":{"type":"object","properties":{"make":{"type":"string"},"sort":{"enum":["price_asc","price_desc","year_desc","year_asc","mileage_asc","mileage_desc","savings_desc"],"type":"string"},"trim":{"type":"string"},"year":{"type":"integer"},"color":{"type":"string"},"limit":{"type":"integer","default":20},"model":{"type":"string"},"query":{"type":"string"},"year_max":{"type":"integer"},"year_min":{"type":"integer"},"body_type":{"type":"string"},"condition":{"enum":["new","used","certified"],"type":"string"},"fuel_type":{"type":"string"},"max_price":{"type":"number"},"min_price":{"type":"number"},"drivetrain":{"type":"string"},"in_transit":{"type":"boolean"},"mileage_max":{"type":"number"},"exterior_color":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_inventory","displayName":"search_inventory","title":"search_inventory"},{"name":"get_vehicle","description":"Get the full structured record for one vehicle by its 17-character VIN. Use when you already have a VIN and need price, specs, offers, photos and availability together. Do not use it to FIND a vehicle: it needs an exact VIN and will not search. Use search_inventory or match_by_budget to find one first. For a single yes-or-no on whether a car is still available, check_availability is cheaper. Fields that are absent are genuinely unknown for this vehicle, not withheld, so say so rather than estima","inputSchema":{"type":"object","required":["vin"],"properties":{"vin":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_vehicle","displayName":"get_vehicle","title":"get_vehicle"},{"name":"get_vehicle_details","description":"THE deep-dive tool for ONE vehicle. Returns everything we hold on that VIN in a single object: full specs, the parsed FACTORY WINDOW STICKER (base price, destination, itemized options with their real prices, packages), the factory VIN build record (assembly plant, GVWR, restraint systems, driver assistance), the photo gallery, EPA fuel economy, the pricing story (MSRP, discount off MSRP, any price drop), advertised manufacturer offers, and every deal path the engine will quote (finance, lease wh","inputSchema":{"type":"object","required":["vin"],"properties":{"vin":{"type":"string"},"zip":{"type":"string"},"down":{"type":"number"},"term":{"type":"integer","default":72},"credit_band":{"type":"string"},"include_payments":{"type":"boolean","default":true}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_vehicle_details","displayName":"get_vehicle_details","title":"get_vehicle_details"},{"name":"get_value_props","description":"This dealership's OWN documented reasons to buy here: certification, inspection process, warranty coverage, guarantees, upfront pricing. Returns verbatim text with the source page. Call this before you tell a shopper why to buy pre-owned here. If it returns nothing, say NOTHING about certification or warranty: never invent a program.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":8},"topic":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_value_props","displayName":"get_value_props","title":"get_value_props"},{"name":"list_inventory","description":"Raw pagination over the feed in load order. Use ONLY when you already need to walk the whole list page by page (offset/limit crawling, an export, a sitemap). NOT for shopper questions. It is NOT an answer to 'what do you have', 'show me your inventory', 'what's on the lot' or 'what do you carry': call get_inventory_stats for those. It is NOT an answer to 'cheapest', 'newest' or 'lowest mileage' either: call search_inventory with sort=. The rows come back in feed order, so they are not ranked, no","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":50,"minimum":12},"offset":{"type":"integer","default":0}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_inventory","displayName":"list_inventory","title":"list_inventory"},{"name":"get_oem_offers","description":"Every incentive we can evidence on a vehicle: APR programs, lease programs, bonus cash and discount off MSRP, for one VIN or across a make/model. CALL THIS whenever you are about to name a specific vehicle, so the shopper hears the offer alongside the price instead of the price alone. Offers sourced from the feed are advertised; offers with source 'offer_engine' are computed estimates carrying `provenance`, `program_code` and a `caveat` you must repeat. `lowest_apr` and `finance_aprs_available`","inputSchema":{"type":"object","properties":{"vin":{"type":"string"},"make":{"type":"string"},"limit":{"type":"integer","default":50},"model":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_oem_offers","displayName":"get_oem_offers","title":"get_oem_offers"},{"name":"get_dealer_specials","description":"Dealer-advertised specials from our own specials page, each with terms, expiry and a link. Call it for 'any deals right now'. Some rooftops have none ingested and return count 0: say plainly that we have no advertised specials posted, then pivot to what IS real (get_oem_offers for programs, get_inventory_stats `savings` for how many vehicles are priced below MSRP). Never invent a special to fill the gap.","inputSchema":{"type":"object","properties":{"make":{"type":"string"},"limit":{"type":"integer","default":50},"model":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_dealer_specials","displayName":"get_dealer_specials","title":"get_dealer_specials"},{"name":"search_offers","description":"Search every offer we hold by model, family (apr/lease/cash/special) or free text. It understands rate questions: '0 percent', 'zero percent', '0% APR' and 'no interest' all return only genuine 0.00% programs, and 'low apr' returns 2.99% or better. The result carries `lowest_apr`, `finance_aprs_available` and `matching_vehicles`. Use it for 'do you have 0% financing', 'any lease deals', 'what rebates are running'. A count of 0 means nothing matched THAT query: never conclude from it that we offe","inputSchema":{"type":"object","properties":{"type":{"enum":["apr","lease","cash","special"],"type":"string"},"limit":{"type":"integer","default":30},"model":{"type":"string"},"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_offers","displayName":"search_offers","title":"search_offers"},{"name":"get_window_sticker","description":"Monroney MSRP and a fetch link for one VIN, and nothing else. PREFER get_vehicle_details: it returns the FULLY PARSED window sticker for the same VIN (base price, destination, itemized options with their real prices, packages) plus specs, offers and every deal path, in one call. Use this thin tool only when you want the sticker link alone and nothing more.","inputSchema":{"type":"object","required":["vin"],"properties":{"vin":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_window_sticker","displayName":"get_window_sticker","title":"get_window_sticker"},{"name":"decode_vin","description":"Decode a 17-character VIN into make, model, year, trim, body style, engine and drivetrain. Use for a VIN this dealer may not stock, such as a shopper's own car or trade-in. Do not use it for a vehicle in this inventory: get_vehicle already returns the decode plus real price, offers and availability, so calling this instead loses all of that. Decoding describes what a VIN means; it never implies the dealer has the car.","inputSchema":{"type":"object","required":["vin"],"properties":{"vin":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"decode_vin","displayName":"decode_vin","title":"decode_vin"},{"name":"get_dealer_info","description":"Dealership identity: name, address, geo, phone, website, franchise brands and hours. Use it for 'where are you', 'what is your number', 'are you open'. It is NOT the answer to 'what makes do you carry': `brands` is the franchise list, not what is on the ground today, so call get_inventory_stats and quote `by_make` with real counts. If `hours` is a placeholder rather than real hours, say we would rather have someone confirm the hours than guess, and give the phone number.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_dealer_info","displayName":"get_dealer_info","title":"get_dealer_info"},{"name":"get_inventory_stats","description":"THE tool for any question about the lot as a whole. Call it FIRST for 'what do you have', 'show me what you have', 'show me your inventory', 'what's on the lot', 'what do you carry', 'what makes do you sell', 'what brands do you have', 'do you have SUVs / trucks / minivans', 'how many cars do you have', 'how big is your selection', and for any opening browse where the shopper has not named a vehicle yet. Returns the total, a ready-to-say `overview` line, counts by condition, by make (with `top_m","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_inventory_stats","displayName":"get_inventory_stats","title":"get_inventory_stats"},{"name":"compare_vehicles","description":"Compare two or more VINs side by side across price, specs and offers. Use when a shopper is choosing between specific vehicles they have already narrowed to. Pass every VIN in one call rather than calling get_vehicle repeatedly, so the comparison is built on one consistent snapshot. Do not use it to browse: find candidates with search_inventory or match_by_budget first. Two to five VINs is the useful range; beyond that a shopper is still searching, not comparing.","inputSchema":{"type":"object","required":["vins"],"properties":{"vins":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"compare_vehicles","displayName":"compare_vehicles","title":"compare_vehicles"},{"name":"check_availability","description":"Live availability for one VIN: in stock, in transit, or no longer listed. Call this before telling a shopper a specific car is available, and before booking or submitting a lead against it, because inventory moves faster than any cached answer. It is the cheapest tool here, so prefer it over re-fetching the whole record when availability is the only thing in question. In transit means the dealer expects it but does not have it on the lot today; say that plainly rather than calling it available.","inputSchema":{"type":"object","required":["vin"],"properties":{"vin":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_availability","displayName":"check_availability","title":"check_availability"},{"name":"rag_search","description":"Keyword/substring RAG search over the full corpus (inventory + store-page Markdown). Returns matching chunks with source links.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10},"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"rag_search","displayName":"rag_search","title":"rag_search"},{"name":"corpus_health","description":"What the knowledge corpus contains, how it is composed by document type, what the admission policy refused and why, and which shopper topics have no document yet. Call this to judge whether a question is answerable from the corpus before answering it.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"corpus_health","displayName":"corpus_health","title":"corpus_health"},{"name":"get_reviews","description":"Customer reviews the store has published, each with its star rating, author and date. Quote them as written. The set is the reviews the store chose to publish, so never present it as an overall rating or average. If status is coming_soon, say review data is not published through this interface yet, never that the dealer has no reviews.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_reviews","displayName":"get_reviews","title":"get_reviews"},{"name":"get_store_faq","description":"Questions shoppers ask about this store, answered by the store itself: policies, services, what to expect on a visit, anything the store has chosen to answer. Also returns store facts (description, services, hours) the store confirmed. Pass `query` to filter. Quote the answer text rather than paraphrasing it, and link `url` so the shopper can see it on the store's page. A count of 0 means the store has not answered that question: say so and offer to connect the shopper with the store.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10},"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_store_faq","displayName":"get_store_faq","title":"get_store_faq"},{"name":"get_started","description":"START HERE for a shopper. Returns this assistant's capability menu and the recommended conversational flow (estimate trade -> capture payoff -> compute equity -> match vehicles to a monthly budget with window-sticker features -> submit a lead). Call it first so you can introduce yourself and guide the buyer.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_started","displayName":"get_started","title":"get_started"},{"name":"estimate_trade_in","description":"Value the shopper's CURRENT / trade-in vehicle. Use this whenever they mention a car they own or want to trade in (for example a Tesla Model 3). Provide either a vin, OR year + make + model (trim optional), plus mileage (required); condition and zip optional. Returns trade_low / trade_mid / trade_high and a confidence level. ALWAYS present it as a RANGE and say it is an estimate, not a firm offer; then ask the customer if they want to proceed with this estimated value.","inputSchema":{"type":"object","required":["mileage"],"properties":{"vin":{"type":"string"},"zip":{"type":"string"},"make":{"type":"string"},"trim":{"type":"string"},"year":{"type":"integer"},"model":{"type":"string"},"mileage":{"type":"number"},"condition":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"estimate_trade_in","displayName":"estimate_trade_in","title":"estimate_trade_in"},{"name":"capture_payoff","description":"Capture the loan payoff on the customer's trade so equity can be computed. Use mode='provided' with provided_amount when the customer knows their payoff. Use mode='estimate' with original_amount, apr, term_months and start_date (YYYY-MM-DD) to approximate the remaining balance via amortization. Returns payoff_amount and source. Equity = trade value minus payoff.","inputSchema":{"type":"object","properties":{"apr":{"type":"number"},"mode":{"enum":["provided","estimate"],"type":"string","default":"provided"},"start_date":{"type":"string"},"term_months":{"type":"integer"},"monthly_payment":{"type":"number"},"original_amount":{"type":"number"},"provided_amount":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"capture_payoff","displayName":"capture_payoff","title":"capture_payoff"},{"name":"calculate_payment","description":"Calculate a real, penny-accurate monthly payment for a specific vehicle (by vin, preferred, or price). Optional down, term (default 72), credit_band (excellent/good/fair/poor or a score), trade_value, payoff, zip. Trade equity (trade_value minus payoff) is applied to reduce the amount financed. Returns finance {monthly_payment, apr, term, down_payment, amount_financed, sales_tax, total_of_payments, credit_tier} plus a disclaimer; set include_lease for a lease option too. Always show the disclaim","inputSchema":{"type":"object","properties":{"vin":{"type":"string"},"zip":{"type":"string"},"down":{"type":"number"},"term":{"type":"integer","default":72},"price":{"type":"number"},"payoff":{"type":"number"},"lease_term":{"type":"integer"},"credit_band":{"type":"string"},"trade_value":{"type":"number"},"annual_miles":{"type":"integer"},"payment_type":{"type":"string"},"include_lease":{"type":"boolean","default":false}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"calculate_payment","displayName":"calculate_payment","title":"calculate_payment"},{"name":"recalc_payment","description":"Data-only payment recompute used by the deal-builder widget when the shopper adjusts the down payment, credit band, or ZIP. Returns the same finance/lease/cash figures as calculate_payment but does NOT render the interactive widget. Use calculate_payment to open the deal-builder; this exists so in-widget input changes update the numbers in place.","inputSchema":{"type":"object","properties":{"vin":{"type":"string"},"zip":{"type":"string"},"down":{"type":"number"},"term":{"type":"integer","default":72},"price":{"type":"number"},"payoff":{"type":"number"},"lease_term":{"type":"integer"},"credit_band":{"type":"string"},"trade_value":{"type":"number"},"annual_miles":{"type":"integer"},"payment_type":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"recalc_payment","displayName":"recalc_payment","title":"recalc_payment"},{"name":"match_by_budget","description":"THE core shopping tool: find the best REAL in-stock vehicles for a shopper's budget, needs, and trade-in. Route broad 'which SUV / truck fits me', 'what can I afford', or 'find me a vehicle for my budget' questions here. Finds real in-stock vehicles that fit the customer's budget and computes an estimated monthly payment for each. Give target_monthly (e.g. 500) and/or target_price, plus optional down, trade_value, payoff (equity is applied), credit_band, term, and filters (body_type like 'truck'","inputSchema":{"type":"object","properties":{"zip":{"type":"string"},"down":{"type":"number","default":0},"make":{"type":"string"},"term":{"type":"integer","default":72},"model":{"type":"string"},"payoff":{"type":"number"},"min_year":{"type":"integer"},"body_type":{"type":"string"},"condition":{"enum":["new","used","certified"],"type":"string"},"fuel_type":{"type":"string"},"max_price":{"type":"number"},"drivetrain":{"type":"string"},"credit_band":{"type":"string"},"max_results":{"type":"integer","default":10},"trade_value":{"type":"number"},"target_price":{"type":"number"},"target_monthly":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"match_by_budget","displayName":"match_by_budget","title":"match_by_budget"},{"name":"submit_lead","description":"Send the customer's info to the dealer as an ADF/XML lead so a human can follow up or schedule a visit. lead_type: 'regular' or 'general' (interested in an inventory vehicle), 'payment' or 'finance' (inventory vehicle + finance figures), 'lease' (inventory vehicle + lease figures: annual_mileage, money_factor, residual_value, due_at_signing in deal{}), 'trade' (customer's trade vehicle only), 'service' (service appointment on the customer's own vehicle; optional service{} with service_types[], p","inputSchema":{"type":"object","required":["contact","consent"],"properties":{"vin":{"type":"string"},"deal":{"type":"object"},"trade":{"type":"object"},"consent":{"type":"object","properties":{"text":{"type":"string"},"agreed":{"type":"boolean"}}},"contact":{"type":"object","properties":{"email":{"type":"string"},"phone":{"type":"string"},"last_name":{"type":"string"},"first_name":{"type":"string"}}},"service":{"type":"object"},"vehicle":{"type":"object"},"comments":{"type":"string"},"lead_type":{"enum":["regular","general","payment","finance","lease","trade","service","parts"],"type":"string","default":"regular"}}},"logicalName":"submit_lead","displayName":"submit_lead","title":"submit_lead","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Williamsburg-Auto&config=eyJ1cmwiOiAiaHR0cHM6Ly93aWxsaWFtc2J1cmdhdXRvLmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Williamsburg-Auto%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwilliamsburgauto.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Williamsburg-Auto%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwilliamsburgauto.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Williamsburg+Auto&connectorUrl=https%3A%2F%2Fwilliamsburgauto.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Williamsburg-Auto\" --url \"https://williamsburgauto.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/williamsburgauto-mcp-2618916df3","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/williamsburgauto-mcp-2618916df3/tools/{tool}","mcpServerUrl":"https://williamsburgauto.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/williamsburgauto-mcp-2618916df3?live=1"}