When a local business website is not usable by AI agents (ChatGPT, Gemini, Google AI Mode), it makes interactable website elements invisible in 2027. These 3 basic WebMCP tools I created can make your local business bookable directly inside AI answers.
What is WebMCP and Why Does Your Local Business Need It?
In 2027, customers no longer click your website. They ask AI: “Find a plumber open now near Melbourne who fixes hot water”. Google AI Mode and ChatGPT don’t scrape your footer, they call WebMCP tools on your site.
If you don’t have these 3 tools, AI can’t see you, price you, or book you. If you do, AI books customers for you while you sleep.
Basic setup: One <script> in your WordPress footer via WPCode plugin. No plugin to buy.
Tool #1: get_services — What Do You Do and How Much?
Problem: AI asks “What services does this plumber offer?” Your homepage says “We do everything” useless for AI.
Solution: get_services returns structured services, prices, and links.
Basic Example Code:
mc.registerTool({
name: "get_services",
description: "Returns local business services, prices, and booking links.",
inputSchema: {
type: "object",
properties: {
category: { type: "string", enum: ["all", "plumbing", "emergency"], default: "all" }
}
},
execute: async ({ category = "all" }) => {
const allServices = [
{ id: "hot_water", name: "Hot Water System Repair", price: "From $180", duration: "1-2 hours", url: "/services/hot-water" },
{ id: "blocked_drain", name: "Blocked Drain Clearing", price: "From $150", duration: "1 hour", url: "/services/blocked-drain" },
{ id: "emergency", name: "24/7 Emergency Callout", price: "$0 callout fee", duration: "30 min response", url: "/emergency" }
];
const filtered = category === "all" ? allServices : allServices.filter(s => s.id.includes(category));
return {
business: "Example Plumbing Melbourne",
services_count: filtered.length,
services: filtered
};
}
}); //Basic demo version. For production use you need secure backend, spam protection, and WordPress saving — that's included in my installation package.
What AI sees: 3 services with prices AI can now answer “How much to fix hot water?” with YOUR price.
Tool #2: book_appointment — Let AI Book For You (The Money Tool)
Problem: Customer asks AI to book. AI says “Go visit their contact page.” Customer leaves.
Solution: book_appointment lets AI book directly inside ChatGPT, no form.
Basic Example Code (Demo Version):
mc.registerTool({
name: "book_appointment",
description: "Books an appointment. Requires name, phone, service.",
inputSchema: {
type: "object",
properties: {
customer_name: { type: "string" },
phone: { type: "string" },
service: { type: "string", enum: ["hot_water", "blocked_drain", "emergency", "general"] },
preferred_date: { type: "string", description: "YYYY-MM-DD" },
preferred_time: { type: "string", enum: ["morning", "afternoon", "evening"] }
},
required: ["customer_name", "phone", "service"]
},
execute: async ({ customer_name, phone, service, preferred_date }) => {
const bookingId = "BK-" + Date.now().toString().slice(-6);
return {
status: "booked",
booking_id: bookingId,
message: `Booking ${bookingId} received. We will call ${phone} within 15 mins to confirm.`,
next_steps_url: "https://example.com.au/booking-confirmation?id=" + bookingId
};
}
});
Tool #3: get_hours_location — Are You Open Now?
Problem: AI Mode query “plumber open now near me” Google Gemini checks your tool, not your footer hours.
Solution: get_hours_location returns live open status.
Basic Example Code:
mc.registerTool({
name: "get_hours_location",
description: "Returns open status, hours, address, phone.",
inputSchema: {
type: "object",
properties: {
check_now: { type: "boolean", default: true }
}
},
execute: async ({ check_now = true }) => {
const now = new Date();
const hour = now.getHours();
const isOpen = hour >= 7 && hour < 18;
return {
business: "Example Plumbing Melbourne",
is_open_now: isOpen,
current_day: now.toLocaleDateString('en-AU', { weekday: 'long' }),
hours: {
monday: "7am - 6pm",
tuesday: "7am - 6pm",
wednesday: "7am - 6pm",
thursday: "7am - 6pm",
friday: "7am - 6pm",
saturday: "8am - 4pm",
sunday: "Emergency only"
},
address: "123 Main St, Melbourne VIC 3000",
phone: "03 1234 5678",
emergency_phone: "0400 123 456 (24/7)",
google_maps_url: "https://maps.google.com/?q=Melbourne+Plumbing",
emergency_available: true
};
}
});
Full Combined Script (Copy-Paste Ready)
Paste this entire script into WordPress > WPCode > Footer > Site Wide. Replace example data with your client's real data.
<script>
(function initLocalBusinessWebMCP() {
let attempts = 0;
const checkInterval = setInterval(() => {
const mc = window.modelContext || document.modelContext || navigator.modelContext;
if (mc && typeof mc.registerTool === 'function') {
clearInterval(checkInterval);
// Paste Tool 1, 2, 3 here (see above)
} else {
attempts++;
if (attempts >= 50) clearInterval(checkInterval);
}
}, 100);
})();
</script>
Full working example with all 3 tools combined is available as a downloadable file in my WebMCP implementation package.
Is Your Local Business Ready for 2027?
Basic version shows services. Full client version:
- Saves bookings to WordPress database
- Sends instant email + SMS to owner
- Blocks AI spam with rate limiting
- Shows confirmation page to customer
- Works in ChatGPT Atlas, Comet, Dia, Gemini, Google AI Mode
I install the full version for local businesses in about 1 hour.
Get Your 3 WebMCP Tools Installed Free AI Visibility Auditor
Video Tutorial: See It Live
Watch how Gemini calls these tools live in terminal: How to Add WebMCP to WordPress in 5 Minutes (Make Your Site Usable by AI Agents) — coming soon.
