Skip to main content
Glama

Detect email provider

detect_email_provider
Read-onlyIdempotent

Inspect a customer's email domain via Microsoft's public getuserrealm.srf endpoint to figure out whether their Microsoft 365 is bought direct from Microsoft or resold through GoDaddy. Use this IMMEDIATELY after the customer gives you their email domain in a migration conversation, BEFORE asking "is it Microsoft Direct or GoDaddy?" — the answer should come from this tool, not from the customer.

Returns { likelyProvider: "microsoft-direct" | "godaddy", confidence: "high" | "medium" | "low", ... }. Pass likelyProvider straight to start_email_migration as the source argument. You do NOT need to mention the detection step to the customer — just proceed. The source field only affects post-migration UX (which URL we point the customer to for cancelling their old subscription), so a wrong guess is easily corrected mid-flow. NEVER respond to a "you tell me?" question with "I can't tell" — call this tool instead.

Idempotent + side-effect-free (just an outbound HTTP GET to login.microsoftonline.com); safe to call multiple times.

Input Schema

NameRequiredDescriptionDefault
domainYesThe customer's email domain (e.g. "acme.com").

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive, but the description adds real context beyond them: the concrete endpoint called, that a wrong guess only affects post-migration UX and is easily corrected, and how to consume the result downstream. Some phrasing ('idempotent + side-effect-free, safe to call multiple times') merely restates the annotation hints, which keeps it out of 5 territory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and trigger timing, then return shape and downstream usage. It runs long and includes some conversational coaching with heavy capitalization, but nearly every sentence carries operational value rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of describing the return shape ({likelyProvider, confidence, ...}) and how to use it, plus a note on the consequence of an incorrect result. Only a slight gap remains on error/failure behavior when the endpoint cannot classify a domain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is self-evident, so the baseline is 3; the description earns above baseline by explaining the value chain — take likelyProvider and pass it to start_email_migration as `source` — which is semantics the schema cannot express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (inspect a customer's email domain via getuserrealm.srf) and a precise decision outcome (Microsoft direct vs. GoDaddy resale). An agent can distinguish it from every sibling check_* tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit timing ('IMMEDIATELY after the customer gives you their email domain'), explicit precondition ('BEFORE asking is it Microsoft Direct or GoDaddy'), and an explicit anti-pattern ('NEVER respond to a you tell me? question with I can't tell'). This is textbook when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources