OffenderSearch MCP¶
Search all 58 US sex-offender registries - every state, DC and the territories - from any MCP client in one tool call, with scored, de-duplicated, provenance-tagged records built on a continuously updated national dataset with 100% US coverage. One call returns matchConfidence, matchBasis (why it matched), DOB verification state, aliases, addresses, offense detail, and a per-source citation with lastCheckedAt - so an agent can cite exactly which registry said what.
Server type: Local stdio or remote (Streamable HTTP, self-hostable)
Auth: API key (free tier: 25 searches, no card required)
Tools: 3 (search_offenders, batch_search, get_registry_coverage)
Pricing: metered, $0.15 per call, volume tiers (offendersearch.app/pricing)
Built with: official Python MCP SDK (FastMCP)
Category: Compliance / Screening
Built by: Offendersearch (offendersearch.app)
Why This Matters for Operators¶
A nationwide background check across 58 registries is normally either a slow manual grind or an enterprise contract. OffenderSearch collapses it to one tool call with a scored result set: per-registry outcomes (sourceStatus), plain-language warnings, and citations that name the registry and when it was checked. For staffing firms, property managers, healthcare providers and screening platforms, that turns "run a check" into something an agent can do inside an existing workflow - with the compliance boundary stated up front: results are public-record data and not a consumer report, and must not be used for FCRA-covered decisions without appropriate process.
The batch tool is the operator feature: up to 1,000 lookups in one call, row-in row-out, each through the same engine as a single search - the difference between screening one applicant and screening an applicant pool.
Tools & Capabilities¶
| Tool | What it does |
|---|---|
search_offenders |
Search every registry for one person or location - name, DOB, age, city/state/ZIP, street address, GIS radius, or free text. Returns scored matches with per-registry outcome and plain-language warnings |
batch_search |
Up to 1,000 lookups in one call, row-in/row-out, same engine as single search |
get_registry_coverage |
Public coverage catalog: every registry code, scope, legal status and health; no API key needed |
Installation¶
# Local stdio (from the repo)
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
claude_desktop_config.json:
{
"mcpServers": {
"offendersearch": {
"command": "python",
"args": ["/path/to/services/mcp-server/server.py"],
"env": { "OFFENDERSEARCH_API_KEY": "os_live_..." }
}
}
}
Configuration¶
For a self-hosted remote instance (per-request key, multi-tenant by design):
MCP_TRANSPORT=streamable-http OFFENDERSEARCH_API_KEY="os_live_..." python server.py
Keys are free to create at offendersearch.app/sign-up and work immediately (25 free searches, no card). The hosted endpoint setup is documented on the vendor's MCP server page (offendersearch.app/mcp-server); API reference and OpenAPI at offendersearch.app/docs.
Business Relevance¶
- Staffing and property-management operators run registry checks inside existing agent workflows instead of a separate tab per candidate.
- Healthcare and screening providers get a documented API and MCP surface with HIPAA-aware enterprise options (BAA available).
- Volume screeners use
batch_searchfor pools up to 1,000 lookups per call at metered pricing. - Compliance teams get citations per record - registry, status, and last-checked date - for defensible screening logs.