MCP server for contractor license lookups across all 50 US states — 5M+ records from official state licensing boards
TradeProof MCP server demonstrates solid tool design with clear naming conventions (verb_noun pattern: lookup_license, search_contractors, check_batch, check_insurance, get_coverage_info). All 5 tools have descriptions (194 - 250 chars, within baseline 34 - 392 range). Input schemas are present with type definitions and constraints. However, output schemas are not documented in the source code, LLMs cannot see what fields to expect from responses. Parameter descriptions are adequate but lack actionable format guidance (e.g., 'Two-letter state code' should specify 'uppercase, e.g., CA, TX, FL'). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Error handling and recovery guidance are absent from visible code.
Check the status of multiple contractor licenses at once (up to 100). For each license, returns whether it is active or not, along with business name and expiration date. Useful for checking a subcontractor list or all licenses on a project.
Check workers' compensation insurance coverage for an employer in a specific state. Returns whether coverage is active, the insurance carrier, account number, effective/expiration dates. Data sourced from state workers' comp databases. Not all states have WC data — use get_coverage_info to see which states are supported.
Get information about TradeProof's data coverage — which US states have license data, which have workers' comp data, and total record counts. This tool is free and does not consume any API quota. Use it to check whether a particular state is supported before doing a lookup.
Look up a specific contractor license by state and license number. Returns license status, business name, classifications, expiration date, workers comp status, and bond amount. Data is sourced from official state licensing board databases.
Output schemas not documented. LLMs cannot see what fields (status, business_name, expiration_date, etc.) are returned by each tool, forcing them to guess downstream field names and risking broken tool chains.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 5 tools are READ_ONLY but lack explicit annotations. Clients cannot determine safety/idempotency without reading descriptions.
Parameter descriptions lack actionable format constraints. 'Two-letter US state code' should specify 'uppercase letters only, e.g., CA, TX, FL' to prevent LLM errors like 'ca' or 'California'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Search for contractors by business name across all 50 US states (or filtered to a specific state). Returns matching licenses with status, type, city, and expiration. Supports partial name matching. Can also filter by city, classification code, or license status.
No error recovery guidance in tool descriptions. If a license lookup fails or a state is unsupported, LLMs have no guidance on next steps (e.g., 'Call get_coverage_info to check supported states').
search_contractors pagination defaults to page=1, per_page=10 but no guidance on total result count or next_cursor. Large result sets may be truncated without the LLM knowing.