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
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
check_email and check_domain target clearly different inputs (addresses vs domains), and check_batch is explicitly scoped to bulk lists with up to 100 items. There is minor surface overlap since check_batch subsumes single checks, but descriptions make the batch vs single distinction clear.
All five tools follow a consistent snake_case verb_noun pattern (check_batch, check_domain, check_email, get_usage, report_wrong_verdict). The convention is predictable and readable throughout.
Five tools is well-scoped for a focused email/domain classification service. Each tool earns its place: single checks, bulk check, usage introspection, and a feedback mechanism.
The surface covers the full lifecycle: classify individual emails, classify domains, batch-classify lists, retrieve account usage/quota, and report misclassifications. No obvious gaps for the stated verification purpose.
Available Tools
5 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 today, 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, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful payload context absent from the schema and annotations: the specific fields returned and the 'today' vs 'last 30 days' time windows.
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 compact sentence that front-loads the most important content (account tier and rate limits) with no filler or repetition. Nothing could be removed without losing information.
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 burden of describing return values and does so reasonably well by listing the reported fields and their time scopes. It stops short of describing format or granularity, but for a parameterless read-only reporting tool this is close to sufficient.
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 per the rubric the baseline is 4. There is nothing for the description to clarify beyond what the empty schema already conveys.
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 precisely enumerates the resource contents (account tier, rate limits, checks used and remaining today, 30-day usage history), which makes it easy to distinguish from the check_* siblings. However, it is a noun phrase with no verb, so the action (retrieve/report) is only implied 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?
There is no statement of when to call this tool versus alternatives, and no preconditions or exclusions. The usage is inferable from the tool's nature, but nothing in the text guides the agent.
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.
Related MCP Servers
- 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.1622 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs1114 npm40 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

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.