whoislicensed — state license lookup
Server Details
Verify a contractor, real estate or cosmetology license in 12 US states from the boards' own files.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 2 tools
list_license_types is a discovery/metadata tool while verify_license is the actual lookup action. There is no overlap in purpose or output, so an agent can choose unambiguously.
Both tool names use the same verb_noun snake_case pattern: list_license_types and verify_license. The pattern clearly signals what each tool does.
Two tools is lean, but each one is necessary: one for available license types/states and one for verification. The narrow lookup-focused purpose makes this count reasonable, albeit slightly below the typical 3-15 range.
The workflow is complete for the stated purpose: discover what can be checked with list_license_types, then verify a license with verify_license. There are no obvious dead ends or missing operations in the read-only lookup domain.
Available Tools
2 toolslist_license_typesLicense types on file per stateARead-onlyIdempotentInspect
Which states and license types whoislicensed.com carries, with what each license covers and the page URL. Use it to pick a state and an optional license_type for verify_license.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter state code; omit for all states |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds useful behavioral detail by revealing what the result contains (coverage explanations and page URL) and confirming it is a catalog listing rather than a verification action.
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 concise sentences, front-loaded with what the tool returns and followed by the intended usage. There is no redundancy or filler.
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 tool with one optional parameter, no output schema, and annotations already covering safety implications, the description provides enough information to invoke it correctly and understand its role in the workflow with verify_license.
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 schema already fully describes the only parameter: a two-letter state code, omittable for all states. The description adds some downstream context by saying the result helps choose a license_type for verify_license, but it does not significantly expand on the parameter's own semantics.
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 exactly what the tool returns: the states and license types whoislicensed.com carries, what each covers, and the page URL. It also differentiates from the sibling verify_license by framing itself as the preparatory lookup that feeds verification.
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 description explicitly says to use this tool to pick a state and an optional license_type for verify_license, which is clear usage context. It does not list exclusion cases, but with only one sibling tool, this is sufficient direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_licenseVerify a state licenseARead-onlyIdempotentInspect
Look up a contractor, tradesperson, real estate, cosmetology or nursing license in a US state's own published license file by name, business name or license number. Returns up to 25 matching records with type, number, expiration date and status, the issuing board and the date of the copy. Covers 12 states: TX, CA, FL, VA, WA, OR, MN, IL, CT, CO, VT, DE. Always tell the user to confirm on the board's own lookup before hiring.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Name, business name or license number (or the start of one), 2–60 characters | |
| state | Yes | Two-letter state code, e.g. TX | |
| license_type | No | Optional license-type slug from list_license_types to narrow the search, e.g. master-electricians |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds value by disclosing the result limit of 25 records, return fields, issuing board, date of copy, and state coverage. It gives useful behavioral context beyond the annotations, though it does not describe failure modes or empty-result behavior.
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?
The description is compact and well-structured: purpose first, then return details, then coverage and the safety instruction. Every sentence adds substantive information and there is no wasted text.
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 appropriately explains the return fields and record limit, and it covers scope and user guidance. It is slightly incomplete because it never mentions the sibling tool or how to discover valid license_type values, and it omits behavior for unsupported states or no matches.
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 the schema already documents query, state, and license_type. The description adds useful meaning for query (name, business name, or license number) and enumerates supported states, but it does not elaborate on the license_type parameter or its relationship to list_license_types.
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 clearly states what the tool does: look up licenses by name, business name, or license number, and it enumerates license categories and covered states. It is specific about the resource and action, but it does not explicitly differentiate itself from the sibling tool list_license_types, so it misses the top score.
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 description implies when to use the tool—for verifying a license in a supported state—and adds the instruction to tell users to confirm on the board's own lookup. However, it does not mention the sibling list_license_types or explain when to use it, nor does it state any exclusions or alternatives.
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.
2 tool updates
- First observed
list_license_types - First observed
verify_license
Related MCP Connectors
Verify contractor licenses: 50 states + DC + 8 cities — status, expiration, disciplinary history.
Free contractor-license checks from official state records; a no-match never proves unlicensed.
Real-time U.S. medical license verification across all 50 states + DC.
Search licensed US contractors by trade or location, fetch profiles and reviews, and submit leads.
Related MCP Servers
- AlicenseAqualityDmaintenanceReal-time contractor license verification across 45 US states. Verifies license status, expiration, and disciplinary history directly against state licensing board portals.425 npmMIT
- AlicenseAqualityDmaintenance50-state professional license verification for AI agents.38 npmMIT
- AlicenseAqualityCmaintenanceVerifies contractor license status mid-task, returning normalized JSON with active/expired/suspended/revoked status, bond details, and insurance for WA (reliable) and CA (beta) jurisdictions.235 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides Philippine License to Sell (LTS) verification data from official DHSUD records to LLMs. It enables users to search real estate projects, verify license validity, and check developer compliance through natural language queries.5 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.