isBusinessEmail
Server Details
Let AI agents check whether an email is a real person's work address or a personal, disposable, relay or shared team inbox (info@, sales@, support@), and see which stack the company runs: Google Workspace or Microsoft 365 with tenant ID and identity provider. Every verdict comes with reason codes and an allow / review / block recommendation. Docs: https://isbusinessemail.com/docs/mcp
- Status
- Healthy
- Uptime
- 99.9% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
The core intent tools are mostly distinct: check_email classifies business vs personal, verify_email tests SMTP deliverability, and check_domain targets domains rather than addresses. check_email and verify_email both operate on an email and could be momentarily confused, and check_batch overlaps with the single-item tools, but the descriptions clearly separate their purposes (speed vs accuracy, single vs list).
All six names follow a consistent snake_case verb_noun pattern (check_batch, check_domain, check_email, get_usage, report_wrong_verdict, verify_email). The verb prefixes (check/get/report/verify) are chosen to match distinct operations rather than randomly mixed, so the surface reads predictably.
Six tools is well-scoped for an email verification/classification service, with no redundant entries. Each tool covers a distinct facet (single check, batch, domain, deliverability, usage, feedback).
The surface covers the full lifecycle of an email-validation domain: single and batch classification, domain-level inspection, SMTP deliverability verification, quota/usage introspection, and a correction/feedback channel. No obvious gaps or dead ends for a business-email classifier.
Available Tools
6 toolscheck_batchCheck up to 100 addresses or domainsARead-onlyIdempotentInspect
Check up to 100 email addresses and/or domains in one call, for lists, CRM exports and lead qualification. Results come back in input order. Each item counts as one check.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Email addresses or bare domains | |
| policy | No | Business rules for the recommendation: b2b (default), strict or lenient. | b2b |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: results are returned in input order and each item consumes one check, which hints at quota/billing accounting. It stops short of explaining error behavior for malformed items or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the batching constraint and limit front-loaded, and every clause carries information (use cases, ordering, per-item counting). The opening clause partly duplicates the title's 'up to 100' phrasing, a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should carry more of the return-value burden; it states ordering but not what a result per item looks like (verdict values the sibling report_wrong_verdict implies) or how invalid entries are reported. The basic call contract is clear, but an agent lacks the full picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both items and policy are already documented in the schema, including the enum values and default for policy. The description only restates the items limit, adding no syntax or format detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (check up to 100 email addresses and/or domains) and its batching nature implicitly separates it from the single-item siblings check_email and check_domain. It never names those siblings, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names concrete scenarios (lists, CRM exports, lead qualification), which implies bulk use, but gives no explicit guidance on when to prefer this over check_email/check_domain or when a batch is inappropriate. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domainCheck a company domainARead-onlyIdempotentInspect
Classify a domain (e.g. acme.io): company domain or shared/free provider, disposable, relay, education or government; its mail provider and MX records; and whether it runs Google Workspace or Microsoft 365.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain, e.g. acme.io | |
| policy | No | Business rules for the recommendation: b2b (default), strict or lenient. | b2b |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description still adds useful behavioral context by disclosing the scope of analysis (live MX records and Workspace/M365 detection), which explains why openWorldHint is set; it does not mention rate limits or lookup latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence led by the verb, with the outputs packed into a clean list. No filler, no restatement of the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden and enumerates what comes back (category, mail provider, MX, Workspace/M365). The main gap is the 'policy' parameter's effect on the result, which neither the description nor an output schema clarifies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'domain' and the 'policy' enum fully documented in the schema, so the baseline is 3. The description repeats the acme.io example but adds nothing about how policy values change the verdict, leaving that entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('Classify') on a specific resource ('a domain') and enumerates the classification buckets plus derived signals (mail provider, MX records, Workspace/M365). It is clearly domain-scoped, which inherently separates it from check_email and check_batch, but it never names those siblings to make the boundary explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus check_email or check_batch, and no prerequisites or exclusions. The only usage hint is the 'policy' enum's reference to 'the recommendation', which is incidental rather than real guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_emailCheck an email addressARead-onlyIdempotentInspect
Is this a work email or a personal one? Returns category (business, personal, disposable, relay, education, government, invalid, unknown), is_business, an allow/review/block recommendation, reasons, typo suggestion, mail provider and Google Workspace / Microsoft 365 detection.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address, e.g. jane@acme.io | ||
| policy | No | Business rules for the recommendation: b2b (default), strict or lenient. | b2b |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds genuine value beyond that by disclosing the full response payload (category set, is_business, allow/review/block recommendation, reasons, typo suggestion, provider and Workspace/M365 detection), which matters because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the decision question and followed by the return enumeration; every clause carries information and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the enumerated return values are essential and present, making the definition largely self-sufficient for a single-address classifier. The remaining gap is the undocumented policy parameter and the absence of routing guidance toward check_batch for volume use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the baseline is 3. The description never mentions the policy parameter or how b2b/strict/lenient shape the recommendation, so it adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource framed as a decision question ('Is this a work email or a personal one?') and enumerates the classification outputs, so an agent knows exactly what the tool produces. It does not explicitly contrast itself with siblings like check_domain or check_batch, leaving that differentiation implicit in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The framing question implies the use case (classifying a single address), but there is no statement of when to use this versus check_domain or check_batch, nor any prerequisites or exclusions. Guidance is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageShow quota and usageARead-onlyIdempotentInspect
The account's tier, rate limits, checks used and remaining in the current quota period (a day on the free tier, a month on paid plans), and the last 30 days of usage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered without the description. The description does add genuinely non-obvious behavioral context: the quota period resets daily on the free tier versus monthly on paid plans. It stops there, offering no note on data freshness, caching, or latency, so it is useful-but-thin rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no preamble or filler; the tier and rate limits lead, and the quota-period parenthetical is placed exactly where it disambiguates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a read-only profile, the description must carry the return-value burden, which it does by enumerating the reported fields and the reset period. The enumeration is good but not exhaustive enough to guarantee nothing else is returned (e.g., per-key or per-endpoint breakdowns).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The implicit scope is the authenticated account's own quota, which the description makes clear by referring to 'The account's tier'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and enumerates exactly what it reports: account tier, rate limits, checks used/remaining, quota period, and last 30 days of usage. It is unambiguous what the tool does, though it never explicitly distinguishes itself from the check_* siblings (the distinction is inferable only because this tool's output is account-level rather than per-domain/email).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing tells the agent to call this before a batch of checks to confirm remaining quota, or how it relates to check_batch/check_domain/check_email. The agent must infer the usage context from the field list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_wrong_verdictReport a wrong verdictAInspect
Tell isBusinessEmail that an address or domain was classified wrongly. A person reviews every report before any list changes.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The email address or domain that was misclassified | |
| comment | No | ||
| expected_category | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The line 'A person reviews every report before any list changes' is genuinely additive: it discloses human moderation, that the effect is deferred, and that the call itself does not mutate the classification list. This complements the non-readOnly/non-destructive/idempotent=false annotations rather than repeating them. It still omits what the call returns or whether submitter identity auth is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the one behavioral fact that matters. No filler and nothing that merely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no output schema and thin schema descriptions, the description covers the key behavioral risk (human review) but leaves parameter usage and expected response shape unexplained. Adequate to call correctly, but the low schema coverage leaves visible gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must carry more of the burden. It does clarify the 'input' parameter as 'an address or domain', but says nothing about 'expected_category' (which drives the whole report) or the optional 'comment', leaving the enum of seven categories and the comment's purpose/limit unexplained in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: submitting a correction report to isBusinessEmail about a wrongly classified address or domain. This clearly separates it from the sibling check_* tools, which query classifications rather than dispute them. It stops short of naming those siblings as the pre-requisite path, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should call this after check_email/check_domain returns a classification it believes is wrong. There is no explicit when-to-use condition, no statement about whether a prior check is required, and no note on duplicate or repeated reports.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_emailVerify that a mailbox existsARead-onlyIdempotentInspect
Does this exact email address accept mail? Asks the domain's mail server over SMTP (no email is sent) and tests for catch-all. Returns status deliverable, undeliverable, risky (catch-all, full mailbox, disposable) or unknown (greylisted, probe refused), a reason, confidence, and the category. Slower than check_email (up to ~30 s); use it before sending, not for every sign-up.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address, e.g. jane@acme.io |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds meaningful behavior beyond them: it probes the domain's SMTP server directly, sends no email, tests for catch-all, and warns about up to ~30 s latency. It stops short of stating failure/rate-limit behavior, so a 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core question, then mechanism and return values, then the routing/latency advice. No filler or restated metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return contract and does so fully: statuses (deliverable/undeliverable/risky/unknown), their sub-causes, plus reason, confidence, and category. Combined with the latency warning and no-email-sent guarantee, an agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter, so the baseline is 3. The description adds semantic weight by stressing 'this exact email address', implying exact-match lookup rather than fuzzy or domain-level checks, which meaningfully complements the schema's format example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening question 'Does this exact email address accept mail?' states a specific verb (verify/deliverability check) and resource (email address) with scope. It is clearly distinguishable from siblings check_domain and check_email, which operate on different targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with the alternative: 'Slower than check_email (up to ~30 s); use it before sending, not for every sign-up.' This gives both a when-to-use (before sending) and a when-not-to-use (routine sign-up validation), naming the alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
verify_email
5 tool updates
- First observed
check_batch - First observed
check_domain - First observed
check_email - First observed
get_usage - First observed
report_wrong_verdict
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.