Skip to main content
Glama

Look up a contractor license

lookup_license
Read-onlyIdempotent

Look up a license number in its issuing state across the public board rosters held, with matching contractors. Coverage and as_of dates vary by board. Access and locked_fields identify unavailable fields; a registration is not a license. No contact enrichment.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "license_number": "<license_number>",
      "state": "<state>"
    },
    "name": "lookup_license"
  }
}

Input Schema

NameRequiredDescriptionDefault
stateYes2-letter issuing state
license_numberYesLicence number as issued (spaces, dashes and case are ignored)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real behavior beyond that: coverage and as_of dates vary by board, access and locked_fields flag unavailable fields, and results are not enriched with contact data. The main gap is that it does not say what the response shape looks like when a license is not found.

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 the action and scope, then quickly dispenses the caveats in short sentences. The fragment 'Access and locked_fields identify unavailable fields' introduces field names without explanation, which is slightly cryptic, but nothing is wasted.

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 carries the burden of explaining returns, and it does so reasonably: matching contractors, per-board coverage and as_of variation, locked_fields for unavailable data. A simple two-parameter read tool does not need much more, though the not-found behavior is unstated.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters (2-letter state, license number with ignored case/dashes) are fully documented in the schema itself. The description only restates that the number belongs to its issuing state, adding no format or normalization detail beyond what the schema provides.

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

Purpose4/5

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

States a specific verb and resource ('Look up a license number') plus its scope ('in its issuing state across the public board rosters'), so the agent knows this is a direct license lookup rather than a search. It does not name any sibling tool, so the distinction from get_contractor_licenses or get_certificate must be inferred.

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

Usage Guidelines3/5

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

Adds two useful boundary cues: 'a registration is not a license' and 'No contact enrichment', which tell the agent when this tool is the wrong choice. However, it never names an alternative tool or states the positive condition for selecting it over the sibling license and certificate tools.

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