What an AI agent can do with registry search One question, one tool.
| Someone asks the agent | What it calls |
|---|---|
| “Is John Doe, born April 12 1980, on any sex offender registry?” | search_offenders with name and dob — one person, one scored answer with its citation. |
| “Check these 40 volunteers before Saturday’s event.” | batch_search over the list, returning a row per volunteer the agent can summarise. |
| “Who is registered within a mile of 123 Main St, Springfield?” | search_offenders with a radius, returning registrants and their distances. |
| “Which registries did you actually check for Texas?” | get_registry_coverage — the agent cites the sources instead of guessing. |
| “How many registered addresses are in this part of Columbus, and who is at this pin?” | map_viewport for the view, then map_open_record for the one marker the user picks. |
The tools sit on top of the sex offender search API, so anything an agent does can be reproduced with a plain HTTP call. The open-source client and setup notes are on GitHub. Building your own tool definition instead? See AI integration.
How the MCP server answers a registry question Four steps, one metered search.
- 01
The client lists tools
Your MCP client connects with your API key and sees the tools with their input schemas.
- 02
The model picks one
A person, a list or a location becomes search_offenders or batch_search; a coverage question becomes get_registry_coverage; a map view becomes map_viewport.
- 03
The search runs
The same search as the REST API, metered the same way, across the 58 US registries.
- 04
Results with provenance
Scored records with match state, per-source status and the official registry link for the model to cite.
Instructions to give a registry search agent Rules for the system prompt.
Put rules like these in the system prompt of any agent that uses the tools.
- Ask for a date of birth or age before searching when the user has one; it is the difference between a strong match and a namesake.
- Report the match state with every record, in plain words.
- If any registry did not answer, say the result is incomplete instead of saying “no match”.
- Always give the official registry link, and tell the user to confirm there before acting.
- Do not use results to decide on hiring, housing or credit; say those decisions need an FCRA-regulated report.
MCP server vs calling the REST API from your own tool Same results, same billing.
| MCP server | Your own tool definition | |
|---|---|---|
| Availability | Private beta, by request | Available today with any API key |
| Setup | One config block in an MCP client | Write a schema and a handler |
| Tools | search_offenders, batch_search, get_registry_coverage, map_viewport, map_area, map_route, map_group, map_open_record | Whatever you define |
| Billing | Same as REST: $0.15 a call, $0.11 past 2,000 a month; map tools at Map API prices | Same |
| Best for | Claude and other MCP clients | Any tool-calling model or agent framework |
Building your own? Start with the tool schema on AI integration.
How to request MCP beta access Three steps.
- 01
Create an account
Sign up and get 25 free searches, no card.
- 02
Ask for access
Contact us with the client you use and what your agent will do.
- 03
Connect
Add the server URL and your API key to your MCP client config.
Background check MCP servers compared: Checkr’s hosted server and this one Theirs reads reports; ours runs searches.
From the published docs, read 2026-10-27. Their pages are the authority on their product.
| Checkr MCP (docs.checkr.com/mcp) | OffenderSearch MCP | |
|---|---|---|
| Hosting | Hosted by Checkr: mcp.checkr.com, Streamable HTTP; a staging host | Open source; run it locally over stdio or deploy the Streamable HTTP server; hosted endpoint in private beta |
| Auth | OAuth dynamic client registration (Customer); OAuth client credentials (Candidate) | Your API key in a header; os_test_ keys route to the sandbox |
| Tools | get_candidate, get_candidates_table, get_report (Customer); request_candidate_verification, verify_candidate_otp, get_report (Candidate) | search_offenders, batch_search, get_registry_coverage; map_viewport, map_area, map_route, map_group, map_open_record |
| What a tool returns | Reports the customer already ordered, with SSN, date of birth, address and record-level detail redacted | The search itself: scored, cited public records for a name, a list or a place |
| Clients | Claude (web and desktop), Claude Code, Cursor, VS Code; mcp-remote for stdio clients | Any MCP client that supports remote servers with custom headers, or stdio locally |
| Billing | Package terms per report | Metered like REST: $0.15 a call; batch per row; coverage free; map tools at Map API prices |
A fuller comparison of the REST APIs is on the background check API page and the Checkr API alternative page.
AI background checks: what an agent should and should not do with these tools Five rules for the system prompt.
The tools make an agent’s answer checkable. The rules below keep it honest.
- Cite the registry link on every record the agent mentions; the record is the evidence, the summary is not.
- Say the match state in plain words.
dob_matchis an identification; a name-only match is a lead for a person to review. - If
counts.sourcesIncompleteis above zero, say the search is incomplete; never say “no match”. - Never decide hiring, housing, credit or insurance from a tool result; those are FCRA decisions that run as orders through FCRA Partner Access.
- Prefer a date of birth or an age before searching a common name, and use
batch_searchfor a list rather than a loop of single calls.
Install and configuration for every client, the tool schemas and the server source are on GitHub; the MCP docs and agents guide go deeper. Where the server is listed: submitted to mcp.directory, mcpservers.org and the punkpeye awesome-mcp-servers list (Legal); the changelog records each listing as it goes live.
A background check MCP server: what it covers today Registry tools now; criminal on the REST API.
For teams looking for a way to give an agent background check tools over the Model Context Protocol.
This MCP server gives an agent the sex offender registry part of a background check: search_offenders for one person or a location, batch_search for a list, and get_registry_coverage for what is covered. Results are the same scored, cited records the REST API returns.
Criminal records — jail, prison, court and warrant records — are available on the same key through the REST API at POST /v1/criminal/search. To give an agent both, pair this server with one function tool that calls that endpoint; the AI integration page shows the tool pattern, and the background check API page describes both layers.
An agent’s answer from these tools is a public-records lookup, not a consumer report, so it must not decide whether someone is hired or housed. Those decisions run as FCRA workflows through FCRA Partner Access.
Learn the API the tools call Every tool maps to a REST endpoint; these guides use those endpoints as the worked example.
All guides: Learn APIs by example · reference: developer docs · packages: SDKs and CLI.
Background check MCP server FAQ
What is the OffenderSearch MCP server?
Which tools does it expose?
Does the MCP server include criminal records?
Which MCP clients work with it?
Can I use the REST API while I wait for MCP access?
Can an agent access inmate and criminal records through MCP?
What are AI background checks, and are they a consumer report?
How does this compare with Checkr’s MCP server?
How is it billed?
The OffenderSearch APIs. One account, one key, one bill.
Sex offender registry
Sex offender APISex offender databaseRegistered offender databaseBulk sex offender searchCriminal records
Criminal records APIInmate search APIHealthcare exclusion check APIBackground check APIEmployment screening APIBulk criminal record searchStatewide criminal searchFederal criminal recordsGive your agent a registry search tool
25 free searches, no card. Ask for MCP access, or call the REST API from your own tool today.