Skip to main content
Glama

Find the ad and analytics pixels a website runs

websites_find_pixels

Find the ad and analytics pixels a website runs. Checks the homepage and every Google Tag Manager container it loads, nested ones included, for meta, tiktok, openai, google_analytics, google_ads, microsoft_ads, linkedin, pinterest, snapchat, x, reddit, hotjar, microsoft_clarity, callrail. Containers that 50 or more websites load belong to a platform or agency and are left out. Answers from the last check when the website was checked before (checkedAt), otherwise checks it during the call, which can take up to 20 seconds. Charges 0.25 credits when the homepage answered, also when it runs no pixels; a homepage that never answers is free.

Input Schema

NameRequiredDescriptionDefault
websiteYesWebsite URL or domain, e.g. "castledental.com"

Output Schema

NameRequiredDescriptionDefault
foundYestrue when the homepage answered and was checked
pixelsYesVendors whose pixel or tag runs on the website, e.g. meta, google_ads
websiteYesThe domain that was checked
pixelIdsYesvendor:id where the markup shows the id, e.g. "meta:1234567890" or "google_ads:AW-123456789"
checkedAtYes
chargedCreditsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the cost model (0.25 credits, charged even on zero-pixel hits, free when the homepage never answers), the latency ceiling (up to 20 seconds), and the caching rule (answers from the last check via checkedAt, otherwise checks live). These are the exact traits an agent needs before committing credits and waiting on a slow call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then scope, then cost/latency caveats in a logical order. The enumeration of fifteen pixel vendors is long but arguably earns its place by defining detection coverage; it could have been condensed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. The description covers the remaining agent-critical unknowns for an open-world, credit-charging check: detection scope, platform-container exclusions, caching, latency, and pricing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter, and the schema already documents it at 100% coverage with an example ("castledental.com"). The description adds no format guidance beyond that, which is acceptable given the schema does the work — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ("Find") and a precise resource ("the ad and analytics pixels a website runs"), then enumerates exactly which pixel vendors are detected. This cleanly separates it from the sibling websites_find_contacts, which looks for people rather than tracking tags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: it inspects the homepage plus every GTM container, and deliberately omits containers loaded by 50+ websites because those belong to a platform or agency. That is an implicit exclusion telling the agent what results will and won't include. It stops short of naming an alternative tool or stating explicit when-not-to-call conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources