Scores a website's Google Ads and GA4 conversion setup from its public tags and lists the leaks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns aggregate counts from scans run on fireshift.ai and through this server: total scans, distinct sites, scans in the last 7 days, the most common findings in the last 7 days with their share of scored sites, and the grade mix. Never returns domain names. Updated every 5 minutes.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http leak-score https://mcp.fireshift.ai/mcp
Returns aggregate counts from scans run on fireshift.ai and through this server: total scans, distinct sites, scans in the last 7 days, the most common findings in the last 7 days with their share of scored sites, and the grade mix. Never returns domain names. Updated every 5 minutes.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Reads the public homepage of a domain, finds its Google Tag Manager and Google tag container IDs, loads those containers from googletagmanager.com and scores the conversion setup from 0 to 100 (grade A to F). Findings include Google Ads conversions that fire on every page load, on plain page views, on login, on button clicks or when a trial ends, GA4 key events on page_view, duplicate conversions, conversions without a value, and more than one GA4 property. Same checks and score as https://fireshift.ai/scan/. Reads only what the site serves publicly; no login, no forms. It cannot see whether an Ads conversion is primary or secondary. Tags loaded server-side or only after cookie consent are not visible, so a site with no public container gets no score. Takes 2 to 20 seconds.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to scan, e.g. example.com (no path, no IP). |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Domain to scan, e.g. example.com (no path, no IP)."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 11, 2026.