License Verify Mcp

io.github.lmanirarutaPublished by GitHub account lmanirarutav0.1.3Updated Oct 24, 2026

Verify US contractor license + surety bond + insurance from official state data. WA live, CA beta.

VerifiedSTDIODesktop onlyBusiness & Commerce

Overview

AI-generated overview

A local MCP server that lets an assistant verify US contractor licenses, surety bonds and insurance against official state data.

What you can do
Verify a contractor's license status using official state records, with Washington live and California in beta. Check surety bond and insurance details alongside the license. Results come from official state data sources rather than a general web search.
When to use it
Useful when you need to check whether a US contractor is licensed, bonded and insured before hiring or contracting with them, especially in Washington and, with lower confidence, California.
Requirements
Runs as a local process installed from the npm package license-verify-mcp over stdio, so Node.js is needed. No authentication, environment variables or headers are declared. Network access is implied by the reliance on official state data.
Before you install
Coverage is limited: only Washington is live and California is in beta, so results for other states or for California may be incomplete or unverified. Confirm important findings against the official state source before relying on them.

Installation

In SourceWeft

  1. Open License Verify Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Contractor License + Bond + Insurance Verify (MCP, agent-payable)

The only MCP-native license check that returns official SURETY BOND + INSURANCE from state data — not just active/inactive status. Pay-per-success: $0.03 full result, $0.01 status-only, FREE on a miss. WA live (official L&I), CA beta (CSLB).

Tools: verify_license, list_supported_jurisdictions.

Quickstart

json
// Call{ "tool": "verify_license", "jurisdiction": "WA", "license_number": "ECOSTSC758NN" }
json
// Response (abridged){  "found": true,  "result": {    "status": "active",    "bonded":  { "is_bonded": true, "details": "Surety: NORTH RIVER INSURANCE COMPANY THE; Amount: $30,000" },    "insured": { "has_insurance": true, "details": "Carrier: State National Ins Co Inc; Coverage: $1,000,000" }  }}
ResultPrice
Full (status + bond + insurance)$0.03
Status-only (no bond/insurance match, or statusOnly: true)$0.01
Miss (found: false)FREE

Jurisdictions

StateStatusSourceBond + Insurance
WA✅ LiveWA L&I open data (data.wa.gov)✅ Real data (bzff-4fmt + ciwg-agsx datasets)
CA⚠️ BetaCSLB HTML (cslb.ca.gov)✅ Parsed when CSLB is up

Washington is the reliable, production-ready jurisdiction. Official WA L&I open data is served via Socrata JSON — no scraping, no rate limits, bond and insurance data included from dedicated datasets.

California is beta. CSLB does not publish an open API; the provider fetches the HTML detail page directly. CSLB rate-limits or 503s automated requests intermittently. When unavailable, verify_license returns a clean SESSION_ERROR — you are never charged on source failures. Do not rely on CA for production workflows until a stable server-side CSLB run is confirmed.


Apify Actor

Agentic-payments eligible — pay-per-event pricing + limited permissions + no Standby mode.

Pricing

EventPrice
license-verification$0.03 — full result (status + bond + insurance)
status-only-result$0.01 — status found, no bond/insurance match (or statusOnly: true)

Charged only on found: true. Validation errors, not-found results, and source failures are not charged.

Input

json
{  "jurisdiction": "WA",  "license_number": "ECOSTSC758NN"}
FieldTypeRequiredNotes
jurisdiction"WA" | "CA"✅WA = live; CA = beta
license_numberstringone of ↓WA: alphanumeric. CA: numeric, ≤8 digits
business_namestringone of ↑WA only. Partial match, may return matches[]

Output (default dataset)

json
{  "found": true,  "jurisdiction": "WA",  "query": { "license_number": "ECOSTSC758NN" },  "result": {    "license_number": "ECOSTSC758NN",    "business_name": "!ECO STAR C G CONSTRUCTION LLC",    "status": "active",    "license_type": "CONSTRUCTION CONTRACTOR",    "bonded": {      "is_bonded": true,      "details": "Surety: NORTH RIVER INSURANCE COMPANY THE; Bond #: 46CF842686; Amount: $30,000; Effective: 2025-08-05; Expires: Until Canceled"    },    "insured": {      "has_insurance": true,      "details": "Carrier: State National Ins Co Inc; Policy: NXT9PTHTLT-01-GL; Coverage: $1,000,000; Agency: Next Insurance Inc; Effective: 2026-06-12; Expires: 2027-06-12"    },    "effective_date": "2025-08-15",    "expiration_date": "2027-08-15"  },  "source_url": "https://data.wa.gov/resource/m8qx-ubtq",  "retrieved_at": "2026-06-26T01:34:37.598Z",  "raw": { ... }}

status is always one of: active | expired | suspended | revoked | unknown.

On failure: { "found": false, "error": "SESSION_ERROR|NETWORK_ERROR|...", "message": "..." } — never a crash, never a charge.

Local test

bash
npm installnpm run buildecho '{"jurisdiction":"WA","license_number":"ECOSTSC758NN"}' \  > storage/key_value_stores/default/INPUT.jsonnpx apify run

MCP Server (stdio)

For use with Claude Desktop, Smithery, or any MCP-compatible agent.

Tools

verify_license — verify a contractor's license status.

  • jurisdiction (required): "WA" or "CA"
  • license_number and/or business_name (at least one required)

list_supported_jurisdictions — list all states with their status and data source.

Config (Claude Desktop)

json
{  "mcpServers": {    "license-verify": {      "command": "node",      "args": ["/absolute/path/to/license-verify-mcp/dist/index.js"]    }  }}

Run

bash
npm install && npm run buildnpm run start:mcp   # stdio MCP servernpm run smoke       # hit real WA + CA endpoints, must be 8/8 PASS

Adding a State

  1. Create src/providers/<CODE>.ts implementing the Provider interface ({ info, verify() })
  2. Register it in src/providers/index.ts

No other changes needed in server or Actor.

License

MIT

Source: README.md at commit 2a7ed90

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts