MCP TOOLcubeshell.email.find

Find Work Email

Finds the work email address of one named person at one known company. Give it the person's name and their employer, and it returns one work email with employment and deliverability evidence, or a not_found result when no email exists for that person. It does not verify an email you already have, search for people by role, or return personal email addresses. To check whether an address you already have is deliverable, use cubeshell.email.verify instead.

i
Naming the person and the company
Every call needs a name and an employer. The name is either first_name plus last_name, or full_name. The employer is either domain, which is preferred, or company_name. Sending a name with no employer, or an employer with no name, is rejected as INVALID_INPUT before anything is charged.

Request

Workspace identity comes from the authenticated MCP connection, not from the call arguments. There is no workspace field to set.

ParameterTypeDescription
request_idrequiredstringStable idempotency key, 1 to 200 characters. Replaying the same request_id with the same input returns the original result without a second charge.
quote_onlyrequiredfalseMust be false. Quote-only preview is not available in this version.
input.first_namestringGiven name, up to 200 characters. Send it together with last_name, or send full_name instead.
input.last_namestringFamily name, up to 200 characters. Send it together with first_name, or send full_name instead.
input.full_namestringWhole name in one field, up to 200 characters. Use this in place of first_name and last_name.
input.domainstringBare company domain such as example.com, up to 253 characters. Not a URL. This is the preferred way to name the employer.
input.company_namestringCompany name, up to 200 characters. Use it to name the employer when you do not have the domain.
max_microcreditsintegerOptional ceiling. If the authoritative price is higher, the call is rejected before anything is charged.
tools/call
{
  "name": "cubeshell.email.find",
  "arguments": {
    "request_id": "find-work-email-001",
    "quote_only": false,
    "input": {
      "full_name": "Ada Lovelace",
      "domain": "example.com"
    }
  }
}

Result

On status: "succeeded", the result field holds the match.

ParameterTypeDescription
result.emailstringThe work email address found for that person.
result.employment_verifiedbooleanWhether the person was confirmed as employed at that company.
result.domain_has_mxbooleanWhether the email domain has a mail-exchange record, so it can receive mail.
result.companyobjectCompany context for the match, such as name, industry, size and profile URL.

When no email exists

When no work email exists for that person, the response comes back with status: "not_found" and no result.email. This is a real terminal status, not an error. The input was valid and the lookup ran to completion. It simply found no email for that person, and a not_found result is not charged.

Agents should treat not_found as the answer and move on. Retrying the same person and employer will not produce a different result.