Inspect a public site's tracking signals, grade consent evidence, and get remediation playbooks.
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.
Compares two supplied RegSentry runtime snapshots of the same domain, phase by phase. Marks missing controls and incomplete observations unresolved. Reports newly observed or no-longer-observed tracker attempts without claiming causation, compliance or a verified fix. Stores nothing and makes no network requests.
Compares two supplied RegSentry runtime snapshots of the same domain, phase by phase. Marks missing controls and incomplete observations unresolved. Reports newly observed or no-longer-observed tracker attempts without claiming causation, compliance or a verified fix. Stores nothing and makes no network requests.
| Argument | Type | Description |
|---|---|---|
| current* | object | |
| baseline* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"baseline",
"current"
],
"properties": {
"current": {
"type": "object",
"required": [
"domain",
"observedAt",
"method",
"observationWindowMs",
"phases",
"limitations"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253
},
"method": {
"type": "string",
"const": "isolated_browser_request_attempts_v1"
},
"phases": {
"type": "array",
"items": {
"type": "object",
"required": [
"phase",
"status",
"trackers",
"blockedRequests",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300
},
"maxItems": 10
},
"phase": {
"enum": [
"before_consent",
"after_reject",
"after_accept"
],
"type": "string"
},
"status": {
"enum": [
"observed",
"control_not_found",
"incomplete"
],
"type": "string"
},
"trackers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"requestAttempts"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"requestAttempts": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100
},
"blockedRequests": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 3,
"minItems": 3
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"limitations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 10
},
"observationWindowMs": {
"type": "number",
"const": 2000
}
},
"additionalProperties": false
},
"baseline": {
"type": "object",
"required": [
"domain",
"observedAt",
"method",
"observationWindowMs",
"phases",
"limitations"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253
},
"method": {
"type": "string",
"const": "isolated_browser_request_attempts_v1"
},
"phases": {
"type": "array",
"items": {
"type": "object",
"required": [
"phase",
"status",
"trackers",
"blockedRequests",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300
},
"maxItems": 10
},
"phase": {
"enum": [
"before_consent",
"after_reject",
"after_accept"
],
"type": "string"
},
"status": {
"enum": [
"observed",
"control_not_found",
"incomplete"
],
"type": "string"
},
"trackers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"requestAttempts"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"requestAttempts": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100
},
"blockedRequests": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 3,
"minItems": 3
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"limitations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 10
},
"observationWindowMs": {
"type": "number",
"const": 2000
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}Formats a supplied RegSentry runtime snapshot as a private plain-text report with its date, method, phase results and limitations. Returns file content without publishing, sharing, or storing it. Does not turn supplied evidence into a compliance certificate or legal opinion.
| Argument | Type | Description |
|---|---|---|
| snapshot* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"snapshot"
],
"properties": {
"snapshot": {
"type": "object",
"required": [
"domain",
"observedAt",
"method",
"observationWindowMs",
"phases",
"limitations"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253
},
"method": {
"type": "string",
"const": "isolated_browser_request_attempts_v1"
},
"phases": {
"type": "array",
"items": {
"type": "object",
"required": [
"phase",
"status",
"trackers",
"blockedRequests",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300
},
"maxItems": 10
},
"phase": {
"enum": [
"before_consent",
"after_reject",
"after_accept"
],
"type": "string"
},
"status": {
"enum": [
"observed",
"control_not_found",
"incomplete"
],
"type": "string"
},
"trackers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"requestAttempts"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"requestAttempts": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100
},
"blockedRequests": {
"type": "integer",
"maximum": 300,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 3,
"minItems": 3
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"limitations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 10
},
"observationWindowMs": {
"type": "number",
"const": 2000
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}Returns deterministic, tracker-specific consent-gating guidance from RegSentry's maintained playbooks. It does not change a website, contact a vendor, or verify that a fix was implemented.
| Argument | Type | Description |
|---|---|---|
| tracker* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tracker"
],
"properties": {
"tracker": {
"type": "string",
"pattern": "^[\\w .()+/&-]+$",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}Visits an authorized public homepage in three isolated browser sessions and records known tracker request attempts before consent and after exact reject-all or accept-all buttons. Blocks non-GET requests, forms, credentials and persistence; reports missing controls and incomplete runs explicitly. Changes only temporary browser consent state. Bounded observations are not proof of transmission, compliance or a violation.
| Argument | Type | Description |
|---|---|---|
| domain* | string | |
| authorizationAcknowledged* | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"authorizationAcknowledged"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 300,
"minLength": 3
},
"authorizationAcknowledged": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}Performs a bounded, non-persisting GET of an authorized public domain's homepage and reports tracker markup, consent setup signals, and runtime-verification gaps. It does not run JavaScript, submit forms, create a RegSentry record, or make a legal determination.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain only, such as example.com. Do not include a path or query. |
| authorizationAcknowledged* | boolean | Must be true to confirm the user owns or is authorized to inspect this domain. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"authorizationAcknowledged"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Public domain only, such as example.com. Do not include a path or query."
},
"authorizationAcknowledged": {
"type": "boolean",
"const": true,
"description": "Must be true to confirm the user owns or is authorized to inspect this domain."
}
},
"additionalProperties": false
}Deterministically grades a redacted set of tracker-request observations by consent phase. It computes from the supplied data only, stores nothing, and returns a technical—not legal—interpretation.
| Argument | Type | Description |
|---|---|---|
| domain* | string | |
| observations* | array | |
| consentBannerPresent* | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"consentBannerPresent",
"observations"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 300,
"minLength": 3
},
"observations": {
"type": "array",
"items": {
"type": "object",
"required": [
"tracker",
"phase",
"requestCount",
"typedValueTransmitted"
],
"properties": {
"phase": {
"enum": [
"before_consent",
"after_reject",
"after_accept",
"unknown"
],
"type": "string"
},
"tracker": {
"type": "string",
"pattern": "^[\\w .()+/&-]+$",
"maxLength": 80,
"minLength": 1
},
"requestCount": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"typedValueTransmitted": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 100
},
"consentBannerPresent": {
"type": "boolean"
}
},
"additionalProperties": false
}