Contractor Licence Changes
Server Details
Did this contractor's licence change? Observed lapses and reinstatements, not a snapshot.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- modelcontextprotocol/registry
- GitHub Stars
- 6,314
Available Tools
2 toolscheck_license_historyAInspect
Has this contractor's licence changed? Returns every status transition observed in the state board's own published file since 2026-07-17 -- suspensions, expirations, reinstatements and first appearance -- with the date each was seen. This is change over time, not a current-status lookup: use it after a snapshot check, to find out whether the licence you are about to rely on lapsed and came back. Distinguishes 'no change observed' from 'this source is not observed for that change', which are not the same answer. Only public, unsuppressed directory records are returned. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state code. Covered: AZ, CA, CO, CT, DE, FL, IA, NV, NY, OR, TX, UT, VA, WA | |
| license_number | Yes | The licence number as the board prints it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does so thoroughly. It explicitly states the operation is read-only, only public and unsuppressed records are returned, and it distinguishes 'no change observed' from 'this source is not observed for that change'. It also explains the data source and the date threshold, giving an agent strong behavioral expectations.
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 dense but well-structured, with a clear front-loaded statement of purpose, followed by usage guidance, a critical semantic distinction, and a read-only caveat. Every sentence earns its place and no unnecessary filler is present.
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?
Given the tool has no output schema or annotations, the description explains what will be returned, the kinds of transitions, the source data, and the important caveats. It sufficiently covers likely agent questions about current status, data availability, and observation semantics. No critical operational context appears to be missing.
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 baseline is 3. The description does not add significant parameter-level meaning beyond the schema; it provides useful context about relying on a licence but does not further explain state or license_number semantics. This is acceptable because the schema already documents both parameters clearly.
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: it returns every status transition observed in a state board file for a specific contractor's licence, with examples of transition types. It distinguishes itself from a current-status lookup, though it does not explicitly reference the sibling tool 'recent_license_changes'. Overall, the resource and scope are specific and 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?
The description gives explicit guidance on when to use this tool: after a snapshot check, to determine whether a licence lapsed and came back. It also clearly says this is not a current-status lookup. However, it does not name or contrast the sibling tool directly, so the alternatives guidance is slightly incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recent_license_changesAInspect
What changed lately across a state: licences that lapsed, were reinstated, or appeared for the first time, newest first, optionally narrowed to one trade. Answers the monitoring question a single lookup cannot -- which contractors lost standing this month, or who is newly licensed in this trade. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look back 1 to 365 days (default 30) | |
| limit | No | Max rows, clamped to 1 through 100 (default 25) | |
| state | Yes | Two-letter state code. Covered: AZ, CA, CO, CT, DE, FL, IA, NV, NY, OR, TX, UT, VA, WA | |
| trade | No | Optional trade filter, e.g. electricians, plumbers | |
| change_type | No | lapse = active to suspended/expired/inactive; new_license = first observed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly states 'Read-only,' discloses the change categories, the 'newest first' ordering, and the optional trade narrowing. This is good behavioral disclosure for a read-only monitoring tool, though it does not describe response shape, pagination, or edge cases like unknown states.
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 three sentences with no filler. It front-loads the core behavior, then gives a motivating use case, and ends with a clear safety signal. Every sentence earns its place.
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?
Given the moderate complexity and no output schema, the description covers the main behavior, ordering, filtering, and read-only nature. It omits the 'status_change' enum value from the prose and gives no example of returned rows, but the schema already documents the enum and all parameters. This is nearly complete for an agent to decide whether to call the tool.
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 baseline is 3. The description adds context linking categories to real monitoring questions ('which contractors lost standing', 'who is newly licensed'), which helps map meaning, but it does not add significant parameter-level detail beyond what the schema already 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 clearly states a specific resource ('licences that lapsed, were reinstated, or appeared for the first time') and a specific verb/resource ('what changed lately across a state'), distinguishing it from a single-lookup history tool. It also defines the ordering and optional filtering. This is specific enough for an agent to understand exactly what the tool returns.
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 says when to use it: 'Answers the monitoring question a single lookup cannot -- which contractors lost standing this month, or who is newly licensed in this trade.' This gives clear use-case guidance and indirectly contrasts with the sibling check_license_history, though it does not explicitly name the alternative or say when not to use it.
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. Dates show when Glama detected each change.
2 tool updates
- First observed
check_license_history - First observed
recent_license_changes
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Is this NSW builder licensed, insolvent or disciplined? 178k+ licences from official registers.
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.
Verify a contractor, real estate or cosmetology license in 12 US states from the boards' own files.
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.461MIT
- AlicenseAqualityBmaintenanceVerifies 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.259MIT
- FlicenseNot gradedqualityCmaintenanceEnables searching and retrieving 126 Canadian contractor forms with verified regulatory citations, determining needed forms from plain-language situations, and estimating 2026 provincial trades taxes, required hourly rates, and HST quick method comparisons.-
- FlicenseNot gradedqualityCmaintenanceProvides read-only MCP tools to query building construction approval lifecycle data, covering project discovery, bidding, contracts, drawing review, permits, and completion records.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
check_license_history is explicitly per-contractor and returns the full observed transition timeline, while recent_license_changes is a statewide, newest-first monitoring query. They operate at different granularities and answer different questions, so an agent should not have trouble selecting between them.
Both names are readable and use snake_case, but they do not follow the same pattern: check_license_history is verb-object while recent_license_changes is an adjective-noun phrase. With only two tools, this inconsistency is noticeable even though neither name is ambiguous.
Two tools is on the low end, but the server's stated scope is narrowly limited to licence-change monitoring and the two tools cover the two natural views: individual history and statewide recent changes. The count feels lean rather than bloated or insufficient.
For the stated change-monitoring domain, the surface is largely complete: one tool answers 'did this contractor change?' and the other answers 'what changed across the state?'. Current-status lookup is intentionally outside scope, and export or cross-contractor search is a minor omission rather than a core gap.