@analitikisler/ai-tag-debugger

MCPattested
v0.18.0Analitik İşlerMITUpdated 4d agonpmGitHub

Open-source AI agent that QA-tests your website's analytics, ad and consent tracking (GA4, GTM, Google Ads, Meta, TikTok). Bring your own model (Claude, OpenAI, Gemini) or use it from your chat app over MCP.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
2kDownloads/wk
1GitHub stars
4d agoLast update
Package
AuthorAnalitik İşler
LicenseMIT
Version0.18.0
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · b6c89d5
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface8 tools · none privileged
Security scan✓ Cleanv0.18.0 · 2d agoHow well does this scan work?
EvalsNone
IndexedOct 22, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

8 tools · none privileged
Statically extracted from the published packagev0.18.0 · 2d ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

browser_actionPerform one action in the browser. Returns the updated page. Actions: goto (url, absolute or relative to the current page), click (ref or text), fill (ref or text, value), select (ref or text, value = option value), scroll (value = down or up, default down), wait (value = milliseconds).

Perform one action in the browser. Returns the updated page. Actions: goto (url, absolute or relative to the current page), click (ref or text), fill (ref or text, value), select (ref or text, value = option value), scroll (value = down or up, default down), wait (value = milliseconds).

No input schema was published for this tool.

finishEnd the journey. Call when the goal is reached, or when it cannot be reached.

End the journey. Call when the goal is reached, or when it cannot be reached.

No input schema was published for this tool.

start_auditOpens a fresh browser on a website and starts recording every analytics and ad tracking request (GA4, Google Ads, Meta, TikTok) and dataLayer push. Tracking requests are answered locally, so no test data reaches the real analytics or ad accounts. Returns an audit_id and the first page view. Then us…

Opens a fresh browser on a website and starts recording every analytics and ad tracking request (GA4, Google Ads, Meta, TikTok) and dataLayer push. Tracking requests are answered locally, so no test data reaches the real analytics or ad accounts. Returns an audit_id and the first page view. Then us…

No input schema was published for this tool.

get_pageReturns the current page view of an open audit without doing anything.

Returns the current page view of an open audit without doing anything.

No input schema was published for this tool.

finish_auditCloses the browser, checks every captured hit against the plan (missing events, missing parameters, duplicates, hits before consent, Consent Mode defaults, emails sent in plain text, unplanned events) and writes the report with the event timeline. Returns the findings. The plan is what should be tr…

Closes the browser, checks every captured hit against the plan (missing events, missing parameters, duplicates, hits before consent, Consent Mode defaults, emails sent in plain text, unplanned events) and writes the report with the event timeline. Returns the findings. The plan is what should be tr…

No input schema was published for this tool.

make_planExplores a website and drafts its measurement plan: the events, parameters and user properties it should track. Same as `aitd plan --site`. The plan is saved (use its ID as against in finish_audit to check an audit against it) and the events are returned. Uses the AI provider configured on the comp…

Explores a website and drafts its measurement plan: the events, parameters and user properties it should track. Same as `aitd plan --site`. The plan is saved (use its ID as against in finish_audit to check an audit against it) and the events are returned. Uses the AI provider configured on the comp…

No input schema was published for this tool.

what_changedReturns only the "since last run" diff for a site: which problems were fixed and which are new in its newest saved run (`aitd run`) compared with the run before it. Compares plan coverage when both runs were checked against a plan, health findings otherwise. Does not browse or use an AI. Use it to…

Returns only the "since last run" diff for a site: which problems were fixed and which are new in its newest saved run (`aitd run`) compared with the run before it. Compares plan coverage when both runs were checked against a plan, health findings otherwise. Does not browse or use an AI. Use it to…

No input schema was published for this tool.

run_auditRuns every journey in a ai-tag-debugger config file and writes the report. With against, the run is checked against a saved plan and, if the config has no journeys, walks the journeys derived from that plan. With scripted true, it replays each journey's fixed steps and needs no API key. Otherwise t…

Runs every journey in a ai-tag-debugger config file and writes the report. With against, the run is checked against a saved plan and, if the config has no journeys, walks the journeys derived from that plan. With scripted true, it replays each journey's fixed steps and needs no API key. Otherwise t…

No input schema was published for this tool.

8 of 8 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Open-source AI agent that QA-tests your website's analytics, ad and consent tracking (GA4, GTM, Google Ads, Meta, TikTok). Bring your own model (Claude, OpenAI, Gemini) or use it from your chat app over MCP.

Keywords
analyticsga4google-tag-managertrackingqaconsent-modeai-agentmcpmcp-serverclaudeopenaigeminiplaywrighttag-debuggergtm-debugger
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-22 — observed resolution, not a publisher declaration.

60 packages resolved · 6 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

50 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+38 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies, optionalDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in analytics & dashboards