Skip to main content
Glama

Precleared Contact Check

Server Details

Cold email compliance check for outreach agents: GDPR, PECR, CAN-SPAM, CASL verdict, signed receipt.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
gabrielaoimevbore-beep/precleared-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

2 tools
contact_checkContact CheckInspect

Check whether a cold or unsolicited marketing email to one recipient is allowed under UK PECR and GDPR, US CAN-SPAM, Canadian CASL, German UWG or French rules. Use it before the first email to a new contact, one call per address. Not needed for transactional emails such as invoices, receipts or password resets. Returns the verdict, confidence, the rule quoted with its source, what the email's footer must include, the next step and the facts used. Each check uses one check from your allowance and is saved as a signed receipt. It does not send anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
pitchNoWhat the email offers, in a few words, for example 'bookkeeping software for dental practices'. Used to judge relevance to the recipient's role.
suppressedNoTrue if the recipient is on your own do-not-contact list.
address_sourceNoWhere the address came from: published (on their website, profile or a directory), bought (a purchased list), scraped (collected by a tool), given (the person gave it to you) or unknown. It affects the verdict, so do not assume published.
company_numberNoUK company number if known (8 characters), so the register can confirm the company.
pitch_relevantNoTrue if the pitch relates to the recipient's job or business, false if it does not.
sender_countryNoCountry the sending business is based in, GB or US. Not the recipient's country. Default GB.
recipient_emailNoThe recipient's email address. Give this or recipient_domain.
recipient_domainNoThe recipient's domain when you have no email address, for example acme.co.uk.
existing_customerNoTrue if the recipient has bought from you before. Default false.
recipient_countryNoTwo-letter country code of the recipient if known, for example GB or DE. Otherwise it is worked out from the domain and company records.

Output Schema

ParametersJSON Schema
NameRequiredDescription
factsNoFacts gathered about the recipient.
usageNoAllowance left for the caller.
reasonsNoThe rule that matched, with its text and source, then any notes.
receiptNoSigned receipt for this check.
verdictYesThe answer for this recipient.
next_stepNoWhat to do next.
confidenceNohigh, medium or low.
disclaimerNoFixed disclaimer line.
footer_textNoWhat the email's footer must include, if the rule sets requirements.
rules_appliedNoRule keys used.
rules_versionNoVersion of the rule set used.
verify_receiptVerify receipt
Read-onlyIdempotent
Inspect

Fetch a Precleared receipt by its id (cc_rcpt_...) to show what was checked, when, and the verdict, with the hashes, Ed25519 signature and public key needed to verify it. Use it when a person or an audit asks for proof of a check.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReceipt id, such as cc_rcpt_0123456789ABCDEF.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesReceipt id.
verdictNoVerdict given.
algorithmNoSignature algorithm.
signatureNoEd25519 signature, base64.
confidenceNoConfidence given.
created_atNoWhen the check was made.
public_keyNoPublic key, base64 SPKI DER.
key_versionNoSigning key version.
request_hashNoSHA-256 of the request.
response_hashNoSHA-256 of the response.
rules_appliedNoRule keys used.
rules_versionNoRule set version.
sender_countryNoSender country.
recipient_domainNoRecipient domain.
recipient_email_maskedNoMasked recipient address.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedcontact_check1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "confidence": {
        +      "description": "high, medium or low.",
        +      "type": "string"
        +    },
        +    "disclaimer": {
        +      "description": "Fixed disclaimer line.",
        +      "type": "string"
        +    },
        +    "facts": {
        +      "additionalProperties": {},
        +      "description": "Facts gathered about the recipient.",
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "footer_text": {
        +      "description": "What the email's footer must include, if the rule sets requirements.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "next_step": {
        +      "description": "What to do next.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "reasons": {
        +      "description": "The rule that matched, with its text and source, then any notes.",
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {},
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "receipt": {
        +      "additionalProperties": {},
        +      "description": "Signed receipt for this check.",
        +      "properties": {
        +        "id": {
        +          "type": "string"
        +        },
        +        "verify_url": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "rules_applied": {
        +      "description": "Rule keys used.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rules_version": {
        +      "description": "Version of the rule set used.",
        +      "type": "string"
        +    },
        +    "usage": {
        +      "additionalProperties": {},
        +      "description": "Allowance left for the caller.",
        +      "properties": {
        +        "credits_remaining": {
        +          "type": "number"
        +        },
        +        "free_remaining_today": {
        +          "type": "number"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "verdict": {
        +      "description": "The answer for this recipient.",
        +      "enum": [
        +        "ok_to_email",
        +        "consent_needed",
        +        "blocked",
        +        "unknown"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "verdict"
        +  ],
        +  "type": "object"
        +}
    • Changedverify_receipt1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "algorithm": {
        +      "description": "Signature algorithm.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "confidence": {
        +      "description": "Confidence given.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "created_at": {
        +      "description": "When the check was made.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "id": {
        +      "description": "Receipt id.",
        +      "type": "string"
        +    },
        +    "key_version": {
        +      "description": "Signing key version.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "public_key": {
        +      "description": "Public key, base64 SPKI DER.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "recipient_domain": {
        +      "description": "Recipient domain.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "recipient_email_masked": {
        +      "description": "Masked recipient address.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "request_hash": {
        +      "description": "SHA-256 of the request.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "response_hash": {
        +      "description": "SHA-256 of the response.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "rules_applied": {
        +      "anyOf": [
        +        {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Rule keys used."
        +    },
        +    "rules_version": {
        +      "description": "Rule set version.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "sender_country": {
        +      "description": "Sender country.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "signature": {
        +      "description": "Ed25519 signature, base64.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "verdict": {
        +      "description": "Verdict given.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
  2. 1 tool update
    • Changedcontact_check10 fields changed
      • changedInput schema / properties / address_source / description
        Previous value: -"Where the address came from. Default published."New value: +"Where the address came from: published (on their website, profile or a directory), bought (a purchased list), scraped (collected by a tool), given (the person gave it to you) or unknown. It affects the verdict, so do not assume published."
      • changedInput schema / properties / company_number / description
        Previous value: -"UK company number, if known. Speeds up UK checks."New value: +"UK company number if known (8 characters), so the register can confirm the company."
      • changedInput schema / properties / existing_customer / description
        Previous value: -"Whether the recipient is already a customer. Default false."New value: +"True if the recipient has bought from you before. Default false."
      • changedInput schema / properties / pitch / description
        Previous value: -"A short description of what the email offers."New value: +"What the email offers, in a few words, for example 'bookkeeping software for dental practices'. Used to judge relevance to the recipient's role."
      • changedInput schema / properties / pitch_relevant / description
        Previous value: -"Whether the pitch relates to the recipient's role or business."New value: +"True if the pitch relates to the recipient's job or business, false if it does not."
      • changedInput schema / properties / recipient_country / description
        Previous value: -"ISO 3166 two-letter country of the recipient, if known."New value: +"Two-letter country code of the recipient if known, for example GB or DE. Otherwise it is worked out from the domain and company records."
      • changedInput schema / properties / recipient_domain / description
        Previous value: -"Recipient domain, used when there is no email address."New value: +"The recipient's domain when you have no email address, for example acme.co.uk."
      • changedInput schema / properties / recipient_email / description
        Previous value: -"Recipient email address. Give this or recipient_domain."New value: +"The recipient's email address. Give this or recipient_domain."
      • changedInput schema / properties / sender_country / description
        Previous value: -"Where the sender is based. GB or US. Default GB."New value: +"Country the sending business is based in, GB or US. Not the recipient's country. Default GB."
      • changedInput schema / properties / suppressed / description
        Previous value: -"Set true if the recipient is on your own suppression list."New value: +"True if the recipient is on your own do-not-contact list."
  3. 2 tool updates
    • First observedcontact_check
    • First observedverify_receipt

Publisher details

Operator
Precleared · Publisher source
Operator website
https://precleared.dev
Vendor relationship
First-party
Trust center
Not available
Restrictions
Free without a key: 100 checks a day over MCP, shared by everyone on the same IP address. A free key gives you your own 100 a day over MCP, or 25 over the REST API. A pack is £39 for 2,000 checks, which never expire. It covers recipients in the UK, US, Canada, Germany and France, and the sending business must be based in the UK or US. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides rules, checklists, and audits for cold outreach deliverability across email, LinkedIn, Instagram, and X, helping ensure messages land in inboxes rather than spam folders.
    6
    40 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    EMEA sales + employment compliance for AI agents across 7 countries (UK, Germany, France, Spain, Italy, Netherlands, Sweden). GDPR, IR35, CNIL, B2B opt-out rules, cultural buyer psychology. Built by an ex-Deel ($12B) compliance + sales operator.
    7
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to find leads, read buying signals, write and send email and LinkedIn outreach, handle replies, and report results, with built-in safety gates, approvals, limits, and compliance controls.
    3
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with tools for structuring and auditing cold outreach messages, building follow-up sequences, handling replies, and detecting red flags.
    7
    39 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.