Bannerproof
app.bannerproof/bannerproofVersion 1.1.1EU cookie-consent audit: trackers before consent, Reject all, Consent Mode v2, TCF; evidence + fixes
Status
Responds183 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 13:36 UTC
- Latency
- 183 ms
- Remotes responding
- 2 of 2
- Sign-in
- OAuth sign-in, No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.bannerproof.app/mcpSign-in required183 msOAuth sign-in
Claude Code
This server asks for sign-in. Your client opens the sign-in when it connects.
claude mcp add --transport http bannerproof https://api.bannerproof.app/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: bannerproof
Remote MCP server URL: https://api.bannerproof.app/mcpCursor
{
"mcpServers": {
"bannerproof": {
"url": "https://api.bannerproof.app/mcp"
}
}
}VS Code
code --add-mcp '{"name":"bannerproof","type":"http","url":"https://api.bannerproof.app/mcp"}'Streamable HTTP
https://api.bannerproof.app/mcp/freeResponds221 msNo sign-in
Claude Code
claude mcp add --transport http bannerproof https://api.bannerproof.app/mcp/freeClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: bannerproof
Remote MCP server URL: https://api.bannerproof.app/mcp/freeCursor
{
"mcpServers": {
"bannerproof": {
"url": "https://api.bannerproof.app/mcp/free"
}
}
}VS Code
code --add-mcp '{"name":"bannerproof","type":"http","url":"https://api.bannerproof.app/mcp/free"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
18 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
account_infoShows the connected Bannerproof account: plan, how many monitored domains it allows and uses, and the remaining audit credits. | Not declared | Yes | Not declared | Not declared |
add_domainAdds a domain to weekly monitoring in the connected account (within the plan's domain limit) and runs its first scan. Requires a plan with a free domain slot; otherwise it returns an error that names the plan needed. | No | No | Yes | Yes |
audit_domainFull audit of any website (for example a client's or a prospect's site) that is NOT monitored in the account. Spends 1 audit credit, so it is marked destructive and runs only with confirm=true. If the same site was audited in the last 24 hours, the earlier result is returned without spending a credit unless force_new=true. If the site can't be scanned, the credit is returned automatically. | Yes | No | No | Yes |
audit_domainsAudits up to 10 websites at once (e.g. an agency's client list or prospects). Spends 1 audit credit per new audit and runs only with confirm=true; sites audited in the last 24 hours are reused without spending. If the account doesn't have enough credits for the whole list, nothing starts (no partial batch). A site that can't be scanned (down, blocking bots, too slow) is not charged — its credit is returned automatically. Returns a job_id per site — follow up with get_audits_status for all of them, then get_findings per domain. | Yes | No | No | Yes |
compare_scansCompares the latest scan of a monitored domain with the previous one (or with the newest scan on or before a given date): new issues, resolved issues, score change, banner and reject option changes. Use it to confirm a fix worked or to see what a site update broke. | Not declared | Yes | Not declared | Not declared |
explain_findingExplains one finding in plain language: what it is, why it is a problem, how to fix it and which rule it relates to. Pass the tracker name exactly as get_findings returned it. Free, no account needed. | Not declared | Yes | Not declared | Not declared |
get_audits_statusStatus of several audits at once (e.g. the job_ids audit_domains returned): which are done with their score and issue count, which are still running, and which failed — with the reason. Failed scans are not charged: their audit credit goes back to the account automatically. | Not declared | Yes | Not declared | Not declared |
get_capabilitiesDescribes what Bannerproof checks, what each tool does, what needs an account and what it costs. Call this first when the user asks what this server can do or which tool to use. | Not declared | Yes | Not declared | Not declared |
get_evidenceEvidence pack of the latest scan of a domain: every tracker request in order with its phase (before consent / after Reject) and time, plus the cookies and consent signals. Returns a summary and download links (CSV and JSON, open without a login) for a client, a developer or a dispute. Works for monitored domains and audited sites. | No | No | Yes | Not declared |
get_findingsFull findings of the latest scan of a domain: which trackers and third-party requests fired before consent or kept running after 'Reject', the cookie banner's reject option, Google Consent Mode v2 signals, what happens after 'Accept', IAB TCF consent after Reject, Global Privacy Control, and a concrete fix and legal reference for each issue. Works for domains monitored in the account and for sites audited with audit_domain(s). For one finding in more depth use explain_finding. | Not declared | Yes | Not declared | Not declared |
get_quick_check_resultGets the result of a quick_check that was still running, by the job_id that quick_check returned. | Not declared | Yes | Not declared | Not declared |
get_report_linkCreates (or returns the existing) private link to the latest report of a domain, for sending to a client or developer — opens without a login. Works for monitored domains and audited sites. | No | No | Yes | Not declared |
get_scan_statusGets the status of a scan_domain or audit_domain that was still running, by the job_id it returned. | Not declared | Yes | Not declared | Not declared |
get_upgrade_linkReturns a direct checkout link on bannerproof.app for a plan or audit credits (payment happens there, never in the chat). goal: 'audit' = one-off full report for one domain (€19), 'solo' = monitoring for 1 domain (€11/month), 'monitoring' = up to 7 domains (€49/month), 'agency' = up to 25 domains with white-label reports (€139/month), 'credits' = audit credits for checking any site (5 for €79, 15 for €199, 40 for €449). Prices include VAT; the checkout shows the final price. | Not declared | Yes | Not declared | Not declared |
list_domainsLists the domains monitored in the connected Bannerproof account, with the latest score and whether issues were found. | Not declared | Yes | Not declared | Not declared |
quick_checkFree check, no account needed: opens a public website like a first-time visitor and reports whether trackers or third-party requests fire before the visitor consents (GDPR/ePrivacy), with a 0–100 score. Returns only yes/no and the score; the full findings (which trackers, the exact requests, how to fix each one) are available with a connected Bannerproof account (get_findings). Results are cached for up to 7 days. This is an automated technical check, not legal advice. | Not declared | Yes | Not declared | Yes |
scan_domainRuns a fresh scan of a domain monitored in the connected account (e.g. to check a fix). Waits up to about 40 seconds; if the scan is still running it returns a job_id for get_scan_status. A manual scan can be run once every 15 minutes per domain. | No | No | No | Yes |
scan_historyScore and issue count over time for a domain monitored in the account (newest first, up to 30). | Not declared | Yes | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Oct 30, 2026
- Updated
- Oct 30, 2026
- Categories (suggested)
- SecuritySuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared