# Syfert Legal Research > A free U.S. law library for people and for AI agents: 10.7 million court opinions from every state and federal court, Syfertize treatment flags (is this case still good law, and for which proposition), the statutes of all 50 states and D.C., the court rules of 44 states, the U.S. Code, the C.F.R., the federal rules, the sentencing guidelines and the Florida Administrative Code. Every page is public. The same data is served to AI assistants through an MCP server that verifies citations, quotes and whole briefs. Run by Graham W. Syfert, Esq., P.A., Jacksonville, Florida. If you are an AI agent doing legal research, use the MCP server rather than scraping pages. It answers in JSON, verifies citations against the reporter index and 175 million citation events, and never logs what you asked. ## The MCP server (start here) - [MCP endpoint](https://mcp.syfert.com/mcp): Streamable HTTP, protocol revision 2025-06-18. Anonymous use works with no token at 20 calls a day per address. GET https://mcp.syfert.com/ returns the server card as JSON. - [Setup page](https://syfert.com/mcp/): copy-paste install for Claude (claude.ai and Claude Code), ChatGPT, Codex, Cursor, VS Code, Gemini CLI and MikeOSS. A free account gives a private bearer token: 10,000 searches a month, unlimited citation checks, treatment, brief audits and statutes. - [The toolset](https://syfert.com/mcp/tools.php): all 18 tools, each with a plain-English note on how it works. - [OAuth 2.1 metadata](https://mcp.syfert.com/.well-known/oauth-authorization-server): authorization-code with PKCE (S256), dynamic client registration, scope `research`. Protected-resource metadata at /.well-known/oauth-protected-resource. A bearer token from the setup page works the same way as an OAuth token. - [Registry listing](https://syfert.com/mcp/server.json): the MCP registry server.json (`com.syfert/legal-research`). - [Pro](https://syfert.com/mcp/pro.php): $30 a month or $300 a year buys the dedicated fast index and higher caps. Same books, no tiering of the law. ### The 18 tools, by job Finding a case - `search_cases`: full-text search over all 10.7M opinions (Boolean, phrase, w/N proximity, wildcard, `court:`, `judge:`, `date:` filters; `state="xx"` limits to one state's courts). Authority-weighted ranking; a single citation or decisive caption rides above the results as a direct hit. `semantic: true` ranks opinions by meaning instead of matching words (state, court, date and published filters apply), and a text search with no hits is retried that way automatically (`semantic_fallback: true`). - `find_case`: one citation or caption in, one case out, or up to five candidates and a refusal to guess. A name that does not match the case at the citation is withheld and the real case is named. - `find_court`: turns "Eleventh Circuit" or "S.D. Florida" into the court id the filters want. Reading it - `get_case`: the whole opinion, paged, with parallel cites, the treatment flag, `find_text` for a phrase with its star page, and the passages other courts quote. - `export_document`: optional; a case or statute as Markdown or self-contained HTML with a filename. Nothing about the export is recorded. Checking before it goes in a document - `check_citation`: does the cite exist, what case really lives there, does the claimed name match. Also statutes, regulations and court rules against their own corpus. With `quote=` the words are checked against the opinion; with `proposition=` the point is checked for treatment, and a pinpoint is compared with what courts cite that page for. - `verify_quote`: one quotation against the opinion's full text: verbatim, near (with the court's own sentence) or absent. - `check_brief`: a whole draft in one pass, up to 512 KB and 200 citations: every cite verified, every name checked, every quote compared word for word, unmatched quotes traced to the case the words come from, statute and rule cites in their own section, red-flagged authority with replacements. - `find_authority`: backwards from a proposition, pasted in your own words, to the case to cite, the verbatim passage, the star page and the adoption count. - `search_quotes`: which case actually says this; the same engine pointed at half-remembered language. What a case is good for, and whether it still is - `get_treatment`: red (overruled or superseded), yellow (questioned, limited, distinguished) or green, with the citing cases behind each signal, `overruled_by`, `still_good_companions`, `risk_signals`, and a one-line `flag_reason`. Pass the proposition you cite it for and the answer is for that point. - `get_propositions`: the distinct propositions courts rely on the case for, each with its own flag, counts, star page and a quote-integrity verdict (verbatim, close, drifted, absent). - `get_citing_cases`: the citator list with judge-written parentheticals, quotes, pin cites and each citing court's signal. - `find_related_cases`: the doctrinal line a case belongs to, from co-citation clustering. - `find_issues`: entry by doctrine name or fact pattern, keyed by state: the doctrine as that state's courts name it, the cases following and questioning it, the statutes they construe, and where else it is alive. Since 10-2026 each issue also carries a `tree` object: its place in a 60,000-leaf issue tree built from what courts cite pages for, how alive it is in the state, the nearest issues with a similarity score, and a `browse_with` call (`node=`) to walk the tree. Statutes and rules - `search_statutes` and `get_statute`: 55 corpora, searched by topic or citation, with cross-references, Notes of Decisions, a currency block (edition held, current-through date, last amended, history note) and an `as_of` date for the version that governed on a given day. The one that writes - `suggest_treatment`: propose red or green with a one-line reason and the authority. It goes into a queue a human reads; nothing changes until a person says yes. ### How to read the answers - A `check_citation` miss is not a verdict. `exists_unindexed` means a court in the corpus prints that cite or the case is found by name and date: the case is real and only the reporter index lacks it. `not_indexed` means no evidence either way; read `volume_coverage`, because 2019 and later volumes of the state regional reporters are often under a third indexed. `likely_misprint` carries the cite it probably meant. Only `interior_mismatch` or `strong` means likely fabricated. - Case rows carry `bluebook`, `url` and usually `link_md`; a passage's `cite_as` is the Bluebook line plus its pin page. Use them as given rather than building a cite by hand. - Statute text is the edition held, not the law on every date. For crimes, contracts, limitations or procedure, pass the operative date as `as_of` and read `temporal_warning`. - A case can be green as a whole and red on the one proposition you need. Pass `proposition=` to `get_treatment` or `check_citation`. - Quotation marks in your draft mean the words came from a tool result. A quote typed from memory goes through `verify_quote` first, and its `best_match` replaces it. ## URL grammar (for constructing or verifying links) - Case page: `https://syfert.com/{jurisdiction}/cases/{volume-reporter-page}/{slug}`, for example https://syfert.com/federal/scotus/cases/466-u-s-668/strickland-v-washington. The cluster-id form `https://syfert.com/caselaw/opinion/{cluster_id}/` redirects to the canonical page. Tool results give the canonical URL; prefer it. - State statute: `https://syfert.com/{state-name}/sections/{section}.html`, for example https://syfert.com/california/sections/CCP/473.html or https://syfert.com/texas/sections/PE/19.02.html. Florida uses `https://syfert.com/florida/statutes/{chapter}.{section}.html` with a zero-padded chapter (https://syfert.com/florida/statutes/0083.49.html); Georgia uses `/georgia/code/`; Maryland, New York and Pennsylvania use `/{state-name}/`. - U.S. Code: `https://syfert.com/usc/sections/{title}-{section}.html`, for example https://syfert.com/usc/sections/42-1983.html. C.F.R.: `/cfr/sections/`. - Federal rules: `https://syfert.com/federal-rules/{civil|criminal|evidence|appellate|bankruptcy}/rule-{n}.html`, for example https://syfert.com/federal-rules/civil/rule-56.html. - Florida Administrative Code: `https://syfert.com/florida/administrative-code/rules/`. - Search: `https://syfert.com/?q={query}` with the same operators as `search_cases`. Search result pages are not for crawling (see robots.txt); use the MCP server. - The Go box on every page takes a statute number, a rule, a reporter citation or a case name and lands on the page directly. ## Site pages - [Home and case search](https://syfert.com/): the search box, with the query syntax under the "?" help menu. - [Brief Check](https://syfert.com/caselaw/brief-check.php): paste or upload a draft; the same audit as the `check_brief` tool, interactive. - [Frequent miscites](https://syfert.com/frequent-miscites/): wrong citations printed by two or more opinions, PDF-verified, with a judge leaderboard. - [Florida case law digest](https://syfert.com/florida/case-law-digest/): recent Florida decisions by topic. - [Status](https://syfert.com/status/): live health of the search backends and the MCP server, updated every two minutes. - [About this tool](https://syfert.com/about-tool.html): where the data comes from and how it is built. ## Data and coverage - Opinions are the Free Law Project's CourtListener bulk data, refreshed with each monthly snapshot, with citations recovered from the citing opinions where the reporter index has gaps. Coverage of 2019 and later state regional reporter volumes is partial; the tools print the volume's coverage with every miss. - Treatment flags are built here (Syfertize) from about 175 million citation events, each classified on its own sentence by what the citing court did and to which case. Signals are weighted by court hierarchy. Every red or yellow flag carries its reason and the evidence behind it. - Statutes and rules are scraped from the official state and federal sources; the scrape date and the current-through basis ride in every answer. Six states (Kansas, Louisiana, New Hampshire, Oklahoma, South Dakota, Vermont) codify their court rules as statutes and have no separate rule set. Pennsylvania is consolidated statutes only. - Nothing on the site is legal advice, and nothing is held back for paying customers. ## Rules of use - The MCP server never logs research content: not the citation checked, the case name, the query, or a brief that was pasted in. Only which tool ran, whether it succeeded and how long it took is kept. - Crawl case, statute and code pages freely at the crawl-delay in robots.txt. Search results (`/?q=`, `/caselaw/?`) and digest facet URLs are thin or duplicate and are disallowed for every crawler. - Anonymous MCP use is capped at 20 calls a day per address. Register for a free token before running anything at volume. - An access URL or token is a secret. Anyone holding it can search on that account. - Automated clients that are not verified crawlers may meet a bot check on page requests; the MCP server has no such check. ## Optional - [Privacy policy](https://syfert.com/privacy) - [Terms](https://syfert.com/terms) - [robots.txt](https://syfert.com/robots.txt) - [Outback contest rules](https://syfert.com/mcp/outback-rules.php): a $50 gift card to the first verified hallucination from a model using this MCP correctly. - Contact: Graham W. Syfert, Esq., P.A., Jacksonville, Florida, 904-383-7448.