---
title: "WebMCP: Free Website Tools | Flyweel Docs"
description: Free AI-accessible calculator on flyweel.co. No account, no token, no setup. Uses the WebMCP draft API (document.modelContext).
url: "https://www.flyweel.co/docs/mcp/webmcp"
type: static
generatedAt: "2026-10-08T05:30:40.225Z"
---

![Documentation hero background](https://astro-flyweel-docs.vercel.app/vision-hero.webp)
# WebMCP: Free Website Tools

A free tool on flyweel.co that browser AI agents can use. No Flyweel account needed.

---

## What Is This?[Link to this section](#what-is-this)

Flyweel registers a free tool directly on [flyweel.co](https://www.flyweel.co) using the WebMCP draft API (`document.modelContext`). A supporting browser agent discovers it automatically when visiting the site.

This is **separate from Flyweel MCP**. The MCP server connects to your actual ad accounts and needs a token. WebMCP is just public website tools: no login, no setup.

---

## Available Tools[Link to this section](#available-tools)

| Name | Type | What It Does |
| --- | --- | --- |
| `calculate_ad_reconciliation_cost` | Tool | Calculates the hidden cost of manual ad invoice reconciliation (monthly hours, annual cost, cost per invoice, industry benchmark comparison) |

---

## How It Works[Link to this section](#how-it-works)

 1. Visit any page on [flyweel.co](https://www.flyweel.co)
 1. The page calls `document.modelContext.registerTool()` if the browser supports it
 1. The calculator tool registers automatically
 1. Your AI agent discovers and calls it through the browser

No tokens. No terminal commands. No widget.

WebMCP is not in stable Chrome yet. To try it on flyweel.co, enable the WebMCP testing flag in desktop Chrome. Browsers without the API simply skip registration.

### Cleanup on Page Navigation (SPAs)[Link to this section](#cleanup-on-page-navigation-spas)

The draft has no `unregisterTool()`. Pass an `AbortSignal` to unregister a tool. This matters for SPAs with client-side routing (Swup, Turbo, Next.js and others) to avoid duplicate registrations on navigation:


**

```
const controller = new AbortController();
document.modelContext.registerTool(myTool, { signal: controller.signal });
// Unregister before re-registering on navigation:controller.abort();
```

Flyweel registers once per full page load, so it does not need to unregister. See the [WebMCP specification](https://github.com/webmachinelearning/webmcp) for the `document.modelContext` API.

---

## Calculator Tool Details[Link to this section](#calculator-tool-details)

The `calculate_ad_reconciliation_cost` tool accepts:

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `reconciler_role` | string | Yes | `founder`, `bookkeeper`, `accountant`, or `finance` |
| `platforms` | array | Yes | e.g. `["Google Ads", "Meta"]` |
| `monthly_spend` | number | Yes | Total monthly ad spend in USD |
| `hourly_rate` | number | No | Defaults based on role |

It returns monthly invoices, hours, cost, annual cost, cost per invoice, and a benchmark comparison.

---

## Comparison[Link to this section](#comparison)

|  | Flyweel MCP | WebMCP (Website Tools) |
| --- | --- | --- |
| **Needs account** | Yes | No |
| **Needs token** | Yes | No |
| **Data** | Your live ad accounts | Public calculators |
| **Setup** | Config file + token | None (automatic) |
| **Standard** | MCP protocol | WebMCP draft (document.modelContext) |

---

## Learn More[Link to this section](#learn-more)

 - [WebMCP page on flyweel.co](https://www.flyweel.co/webmcp)
 - [WebMCP draft on GitHub](https://github.com/webmachinelearning/webmcp)
 - [Set up Flyweel MCP](/docs/mcp/setup) (for your actual ad accounts)

### Ready to get started?

Start optimizing your ad spend today with Flyweel.
  [Start Free](https://signup.flyweel.co/?variant=control)