WebMCP for SaaS: Give AI Agents a Front Door to Your Product
When an AI agent helps someone pick a project management tool, it's going to recommend the one it can actually test. Not the one with the prettiest landing page.
That's the shift happening right now. AI agents are becoming a software discovery channel, and most SaaS products are invisible to them. Your marketing site is a collection of HTML that an agent has to screenshot and parse. Your product is locked behind a login wall that agents can't navigate.
WebMCP for SaaS applications changes this. It's a W3C browser API that lets you register structured tools on your website, so AI agents can call functions like searchFeatures or comparePlans directly instead of trying to scrape your pricing page. Chrome 146 Canary already supports it. Google and Microsoft are co-authoring the spec.
This guide is for SaaS founders and product managers who want to understand what to expose, how to implement it in phases, and how to measure whether it's working.
Why SaaS needs WebMCP
How AI agents are changing software discovery
I've been watching how people use AI assistants to evaluate software, and the pattern is consistent. Someone asks Claude or ChatGPT "find me a CRM that integrates with Slack and costs less than $50/month." The agent goes looking.
Right now, that agent has to visit your website, parse the HTML, maybe take a screenshot of your pricing page, and try to extract numbers from a layout designed for human eyes. It works sometimes. It fails often. And when it fails, the agent moves on to the next product.
WebMCP changes the interaction entirely. If your site registers a comparePlans tool with structured pricing data, the agent calls it and gets clean JSON back. Your product becomes the one that actually answers the question.
The SaaS companies that implement WebMCP early are building what amounts to an agent-friendly storefront. When agents start recommending tools to users (and this is already happening with ChatGPT plugins and Claude's computer use), the products they can interact with programmatically will have a real advantage over the ones they have to guess about.
The business case for implementation
This isn't just a developer curiosity. There are concrete business reasons to pay attention.
The support angle is the most immediate. If an agent can call checkFeatureAvailability("SSO") on your marketing site instead of a prospect emailing your sales team, that's one less ticket. Multiply that across every feature question a prospect has before buying, and the volume adds up.
Then there's the acquisition side. AI agents are already recommending software. A 2025 survey by Gartner found that 34% of enterprise software evaluations now involve an AI assistant at some stage. If your product is the one the agent can interact with, you're more likely to make the shortlist.
The onboarding case is less obvious but real. Inside your product, authenticated WebMCP tools can help agents guide new users through setup. Their AI assistant calls getOnboardingSteps and walks them through it, instead of the user staring at your dashboard trying to figure out where to click.
You don't have to rebuild anything for this. It layers on top of what already exists.
What SaaS features to expose as WebMCP tools
Not everything should be a tool. Expose too much and you create security problems or overwhelm agents with options. Get it right and your product becomes noticeably easier for agents to find.
High-value tool candidates
I'd start with the features that answer the questions prospects ask most often.
If your SaaS has a feature directory or knowledge base, make it searchable via WebMCP. An agent asking "does this tool support Gantt charts?" should be able to call searchFeatures("Gantt charts") and get a structured yes-or-no with details.
Pricing is probably the highest-value tool for your marketing site. Agents constantly need to compare plans. A getPlans tool that returns structured pricing data (plan name, price, billing period, feature list) beats a screenshot of your pricing grid every time.
If you offer a free trial or interactive demo, expose a startDemo tool that creates a sandbox session. An agent evaluating your product on someone's behalf can actually try it. Status and uptime checks are worth adding too, since they're simple to register and agents doing due diligence ask about them constantly.
Here's what a pricing tool registration looks like:
if ('modelContext' in navigator) {
navigator.modelContext.registerTool({
name: 'getPlans',
description: 'Get current pricing plans with features and limits. Returns all available plans with monthly and annual pricing.',
parameters: {
billingPeriod: {
type: 'string',
description: 'Billing period to show pricing for',
enum: ['monthly', 'annual']
}
},
handler: async ({ billingPeriod }) => {
const res = await fetch(`/api/plans?billing=${billingPeriod}`);
return res.json();
}
});
}
An agent can now call getPlans("annual") and get back structured JSON with every plan, price, and feature. No parsing. No guessing.
What NOT to expose
This matters as much as what you do expose.
Don't register tools that delete data, modify billing, or change permissions. Even with WebMCP's consent model, the risk profile is wrong for agent-initiated destructive actions.
If your API has usage caps, don't expose those endpoints as free WebMCP tools either. An agent could burn through your rate limits in minutes. If you do expose them, add your own rate limiting in the handler.
And be careful with user data. WebMCP has a built-in browser consent model, but that only covers the tool invocation itself. If your tool returns personal data about other users, you've got a GDPR problem. Keep tools focused on public or self-referencing data.
A good rule: if you'd be uncomfortable seeing the tool called 10,000 times in an hour by unknown agents, don't expose it without rate limiting and authentication.
Implementation strategy for SaaS products
Don't try to do everything at once. A phased rollout lets you learn what works and catch problems early.
Phase 1: marketing site tools
Start here. Your marketing site is public, low-risk, and the place where agents first encounter your product.
The candidates are obvious: feature search, pricing lookup, demo booking, and integration checks. These are the same questions your sales team answers over and over.
For existing forms (like a demo booking form), the declarative API is the fastest path:
<form action="/api/book-demo" method="POST"
webmcp-tool="bookDemo"
webmcp-description="Book a product demo with our sales team">
<input type="text" name="name"
webmcp-description="Full name of the person booking" required />
<input type="email" name="email"
webmcp-description="Work email address" required />
<input type="text" name="company"
webmcp-description="Company name" />
<select name="teamSize"
webmcp-description="Approximate team size">
<option value="1-10">1-10</option>
<option value="11-50">11-50</option>
<option value="51-200">51-200</option>
<option value="200+">200+</option>
</select>
<button type="submit">Book Demo</button>
</form>
You're adding webmcp-* attributes to a form that already exists. You don't need to write any JavaScript or build new endpoints for this. An agent can now book a demo on behalf of a user by calling bookDemo with the right parameters.
I'd also add an imperative searchFeatures tool and a getPlans tool using JavaScript registration. Those two cover most of what agents need from your marketing site.
Phase 2: product tools (authenticated)
Once your marketing site tools are working, extend into your actual product. This is where authentication matters.
Tools that require a logged-in user should only appear when someone is logged in. WebMCP supports this with conditional registration.
if ('modelContext' in navigator && window.__user?.isAuthenticated) {
navigator.modelContext.registerTool({
name: 'searchProjects',
description: 'Search your projects by name or status',
parameters: {
query: { type: 'string', description: 'Search term', required: true },
status: {
type: 'string',
description: 'Filter by project status',
enum: ['active', 'archived', 'all']
}
},
handler: async ({ query, status }) => {
const res = await fetch(`/api/projects/search?q=${query}&status=${status}`, {
headers: { 'Authorization': `Bearer ${window.__user.token}` }
});
return res.json();
}
});
}
When a logged-in user has an AI agent helping them use your product, the agent sees searchProjects and can interact with their workspace. When nobody's logged in, the tool doesn't exist.
Good candidates for Phase 2 tools: - Project or workspace search - Settings and configuration lookups - Usage and billing status - Export and report generation
Start with read-only tools. Write operations (creating projects, inviting users) can come later once you're confident in your rate limiting and consent model.
Measuring WebMCP ROI for SaaS
You've built the tools. Now you need to know if they're doing anything useful.
Metrics that matter
The most basic signal is tool invocation volume. Wrap your tool handlers with logging to track how often each tool gets called. A getPlans tool that gets 500 calls a day tells you agents are actively evaluating your product.
handler: async (params) => {
// Log the invocation
await fetch('/api/analytics/webmcp', {
method: 'POST',
body: JSON.stringify({
tool: 'getPlans',
params,
timestamp: Date.now(),
source: 'webmcp'
})
});
// Do the actual work
const res = await fetch(`/api/plans?billing=${params.billingPeriod}`);
return res.json();
}
Conversion tracking is harder but more telling. Track whether users who arrived via agent interaction (you can identify them from the webmcp source in your analytics) convert at higher or lower rates than organic traffic.
Also watch your support ticket volume. If you exposed feature availability and pricing tools, compare your inbound question count before and after. This one takes a few weeks to show up but it's real money if your support team is answering the same five questions repeatedly.
Attribution is messy
I'll be honest: tracking where agent traffic comes from is still rough. Unlike regular web traffic, there's no referrer header when an agent calls a WebMCP tool. You can't see which agent called you or what prompt triggered it.
Workarounds that help: - Add a source field to your analytics payload on every tool call - Track tool call patterns (agents tend to call multiple tools in rapid sequence, humans don't) - Compare conversion funnels for users who interacted with WebMCP tools vs. those who didn't
The attribution story will improve as the spec matures. For now, focus on tool invocation volume and directional signals.
Frequently asked questions
Should I implement WebMCP or build an MCP server?
They serve different purposes. WebMCP makes your website accessible to AI agents running in the browser. An MCP server makes your API accessible to AI agents running on the backend (like an internal chatbot connecting to your service). Most SaaS companies will eventually want both. Start with WebMCP on your marketing site because it requires no backend changes.
How do I prevent abuse of my WebMCP tools?
Rate limiting in your tool handlers, authentication for sensitive tools, and schema validation to reject bad inputs. WebMCP also has a browser-level consent model where users must approve tool usage. Don't expose anything destructive, and keep your handlers defensive.
When should a SaaS company start implementing WebMCP?
Now, for prototyping and marketing site tools. The spec is in Chrome Canary, which means developers and early adopters are already building agents that look for WebMCP tools. By the time Chrome stable ships, you want your tools to already be in place. Waiting means your competitors get the agent traffic first.
Will WebMCP replace our existing API?
No. WebMCP is a browser-side protocol. It runs in the user's browser tab and is subject to the same CORS and security rules as any other web API. Your existing REST or GraphQL API still handles backend integrations, mobile apps, and third-party services. WebMCP adds a new channel, it doesn't replace anything.
How much engineering time does this require?
Marketing site tools (pricing, feature search, demo booking) can be done in a day or two by one frontend developer. The declarative API for existing forms takes minutes per form. Product-side authenticated tools take longer because of the auth integration and security review. Budget a sprint for a solid Phase 1 and Phase 2 rollout.