Offendersearch MCP server
Search US sex-offender registries and criminal records, with per-source citations.
0 stars
Reviews
Write oneNobody has reviewed Offendersearch yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Offendersearch tools (5, 1 write)
write = sends, deletes, buys or postsbatch_searchwrite actionFreeRun many person/location lookups in one call (row-in / row-out). Each row goes through the SAME engine as search_offenders, so a row's records are identical to what a single search would return. A row that fails is reported with status='error' in place and never aborts the batch. Max 1000 rows. Returns: { count, results: [ { index, status, counts{records,sourcesQueried, sourcesIncomplete}, warnings: [str], records: [Record], error? } ] } in input order. ★ A row with `counts.sourcesIncomplete > 0` could not be searched to the end — its `records` are a LOWER BOUND, not a clean 'no match'. Auth: uses the caller's X-API-Key (request header or OFFENDERSEARCH_API_KEY env).
get_criminal_coverageFreeList the criminal-record jurisdictions searched, with kind and status. Use it to discover which states and counties are reachable and which are answering today, before relying on an empty result. Depth is uneven by design: counties publish independently, so a state with many county jurisdictions is not "better covered" than one that publishes a single statewide source — it is differently structured. Returns the jurisdiction roster; each entry carries its code, the state it belongs to, the kind of records it holds (jail / prison / court / warrant / registry) and whether it is currently answering.
get_registry_coverageFreeList every registry we cover plus its scope, legal status, and health. Public coverage catalog (no API key required). Use it to discover the `jurisdictions` codes accepted by search_offenders / batch_search and to check per-registry freshness/health before relying on a result. Returns: { count, registries: [ SourceInfo ] } where each SourceInfo is: - id: registry code (e.g. 'IL', 'TX', 'PR') - name: human-readable registry name - covers: [state codes] a registry covers ('*' = national / all) - scope: 'state' | 'national' - status: 'live' | 'building' - legal: { commercialUse: 'allowed'|'restricted'|'prohibited'|'unknown' } - health: { lastSuccessAt, typicalLatencyMs, ageSeconds, freshFor } `health` is OPERATIONAL COVERAGE METADATA about our ingest schedule, published for transparency. It is NOT a quality warning about a search result: a search serves every registry's best available data regardless of `freshFor`, so a registry listing only 'weekly' still contributes its records to a freshness='daily' search. Do NOT tell a user their search results are stale, unreliable or out of date on the basis of these fields — they are not. The only completeness signal that belongs in an answer is `counts.sourcesIncomplete` / `warnings[]` from the search response itself.
search_criminalFreeSearch US criminal records — county jail bookings, state prison custody, court cases and warrants. Covers county jail rosters, statewide prison systems, court sources, warrant systems and statewide registries across the states, DC and the territories, plus the federal layer — which is a separate system holding offences no state search will surface. A surname is REQUIRED. Supply firstName and a DOB or birth year wherever you have them: a bare common surname returns thousands of people, and the scoring cannot tell you which one is yours. Each record carries `recordType`, and YOU MUST READ IT BEFORE CHARACTERISING ANYONE: - a jail booking is an ARREST-stage record — charges at booking are frequently reduced, dismissed, or never filed. It is NOT a conviction. - prison custody implies a sentence, and therefore a conviction. - a court record carries the DISPOSITION — the authoritative statement of how a case actually ended. - a warrant means the person is SOUGHT. Nothing has been tested. Never describe someone as convicted on the strength of a booking record. Records also carry: name, aliases, dob/birthYear/dobPrecision, sex, race, state, county, custody status and facility, sentence and parole detail, `cases`, `sources` (per-source citation), and `matchConfidence`/`matchBasis` explaining why it matched. `counts.records` is the total found and `counts.recordsReturned` the number in this page. Not a consumer report: results must not be used for FCRA-covered decisions (employment, tenancy, credit) without appropriate process.
search_offendersFreeSearch US sex-offender registries for one person and/or location. Fans out across all 58 registries (or the ones named in `jurisdictions`), de-duplicates people across registries, scores each match, and returns the normalized records. Supply whatever identifiers you have — all args are optional but at least a name, location, or free-text `q` should be given. Returns a SearchResponse object (docs/openapi.yaml / FIELD-DICTIONARY.md): - status: 'complete' | 'partial' (partial = a source errored, or a source could not be searched to completion) - counts: { records, sourcesQueried, sourcesIncomplete } - warnings: [str] — ALWAYS present, `[]` when the search ran clean - sourceStatus: [ { source, status, matched, fromCache, note, incomplete, incompleteReason } ] per-registry outcome ★ READ `counts.sourcesIncomplete` BEFORE REPORTING A RESULT. Above 0, `records` is a LOWER BOUND: those registries could not be searched to the end, and an empty or short result is NOT evidence that a person is unregistered. Say so. `warnings[0]` states it in plain language; relay it rather than summarising it away. - records: [ Record ], each with: recordId, matchConfidence, matchBasis[], name {first, middle, last, suffix, full}, aliases[], nicknames[], dob, dobPrecision, age, sex, race, ethnicity, height, weight, eyeColor, hairColor, marks, addresses[{type,line1,city,county,state,zipcode,lat,lng}], offense {crime,statute,riskLevel,tier,convictionDate,...}, flags{absconder,predator}, source {jurisdiction,registryName,recordUrl,scrapedAt,sourceUpdatedAt}, sources[], dobVerification, unverified (offenses[], stateData, images[] are populated only when extensive=true) Auth: uses the caller's X-API-Key (request header or OFFENDERSEARCH_API_KEY env).
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 690ms20/20
- Tool poisoning5 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 1 write-action tools with no auth3/15
- Maintenancelast push 28 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace7/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
Install directly
claude mcp add --transport http offendersearch https://mcp.offendersearch.app/mcp
Offendersearch: common questions
- Is Offendersearch MCP server safe?
- Mostly: it is graded B (80/100). Read the Offendersearch safety report
- How do I install Offendersearch?
- It runs remotely at mcp.offendersearch.app. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Offendersearch need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Offendersearch maintained?
- The last commit was 29 days ago (2026-08-23). The latest release is v1.29.1.
- Is Offendersearch up?
- 100% of our last 6 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Offendersearch?
- Servers from other publishers that do the same job: Pubmed MCP server, Zoteus MCP server and GEO Tracker by DigestSEO MCP server. Compare all Offendersearch alternatives.
Alternatives to Offendersearch
Same job from other publishers: the closest match first, then the best rated.
- PubmedSearch PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.not reviewedEstablishedA
- ZoteusZotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.not reviewedEstablishedA
- GEO Tracker by DigestSEOTrack brand citations across five AI search engines. Free OSS; optional EUR 99 client-ready audit.not reviewedEstablishedB
- MinutesThe private, owned conversation-memory layer for AI. Record, transcribe, and search every meeting.not reviewedEstablishedA
HasData Google ScholarGoogle Scholar search results, citation counts and citation export formats, as structured JSON.not reviewedGrowingA