regulations_browse_cfr
regulations_browse_cfrExplore the codified Code of Federal Regulations via eCFR in three modes. "structure" lists all 50 titles; with a title, that title's top-level divisions (its chapters, or subtitles); and with a title and part, every section and appendix in the part, flattened and paged, each naming the subpart and subject group it sits under — the way to enumerate a part's sections without reading its text. "search" runs a full-text query across the codified CFR and returns matching sections with their hierarchy path and a snippet, one result per section, paged. "versions" lists the dates a part's or one section's text changed, oldest first per section, paged, with the latest amendment date; with changed_since, what changed across a title. Every mode accepts title and part to narrow the scope, and all three feed regulations_get_cfr_section — a version row's date reads that version. Every search result reports which corpus answered it — the synced local mirror or the live eCFR index — and what that corpus covers, in source and sourceScope.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"mode": "<mode>"
},
"name": "regulations_browse_cfr"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Point-in-time date, ISO 8601 (YYYY-MM-DD). Defaults to current. Structure mode uses it for the historical hierarchy, and rejects a date past the title's up-to-date date. Search mode matches only the section text in effect on that day, so a past date searches the CFR as it read then; eCFR indexes 2017-01-03 onward and rejects a date past its current index date. Ignored in versions mode, where each row carries its own date. | |
| mode | Yes | "structure": list titles, a title's top-level divisions, or a part's sections and appendices, to find a cite. "search": full-text search the codified CFR for sections matching a phrase. "versions": list the dates a part's or section's text changed (title plus part or changed_since). | |
| page | No | 1-based page of search results, of a part's listing in structure mode, or of versions (default 1); ignored by a structure listing above a part, which comes back whole. A truncation notice names the next page. Live eCFR search pages through its first 10,000 hits only, so a page starting past them is refused — narrow the query instead of paging deeper. | |
| part | No | CFR part within the title, in every mode — structure mode lists every section and appendix in the part, flattened and paged by page/per_page; search mode restricts matches to text inside that part; versions mode lists the part's versions, appendices included. Requires title; a part on its own is rejected. Parts can be alphanumeric ("1203a", "16A") and are matched exactly once a leading "Part" or "Pt." is dropped, so pass the identifier as eCFR writes it — "58" ("Part 58" also reads as 58), not "058". | |
| query | No | Full-text search phrase (search mode, required in that mode). Ignored in structure and versions modes. | |
| title | No | CFR title number (1–50). Structure mode: omit to list all 50 titles; provide it alone to list the title's top-level divisions (chapters, or subtitles) — not the parts beneath them — or with part to list that part. Search mode: optional filter restricting matches to that title — e.g. 40 for environmental rules, 21 for food and drugs. Versions mode: required, with part or changed_since. | |
| section | No | Versions mode: list one section's versions rather than its part's ("141.61"). Requires part. "61", "§ 141.61", "141.61(c)", and "40 CFR 141.61" resolve to the section, with a notice. Ignored in other modes. | |
| per_page | No | Rows per page — search results, nodes of a part's listing in structure mode, or versions (at least 1, default 20, capped at 50 with a notice). | |
| changed_since | No | Versions mode: keep only versions published by an eCFR issue dated on or after this day (YYYY-MM-DD). With title alone, lists what changed across the title. Ignored in other modes. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Resolved point-in-time date — the hierarchy snapshot (structure mode), or the day whose section text was searched (search mode). | |
| mode | No | Which mode produced this result. | |
| page | No | The page served — of search results, a part's listing, or versions. | |
| error | No | Present when the call failed. Absent on success. | |
| nodes | No | Structure mode: the 50 titles, a title's top-level divisions, or this page of a part's sections and appendices in document order. | |
| shown | No | Rows returned on this page. | |
| notice | No | Guidance: per_page above its ceiling, the next page to request, a page past the end, an empty result, what the count means, or how a section was read. | |
| source | No | Provenance: the synced mirror index, or the live eCFR search API (search mode). | |
| results | No | Matching CFR sections and appendices, this page, one row per section however many of its versions matched (search mode). | |
| versions | No | Versions mode: this page of versions in eCFR order — document order by identifier, oldest first within each. | |
| truncated | No | True when another page follows this one. | |
| countBasis | No | What a search totalCount counts. "sections": distinct sections and appendices, one per result row. "section_versions": eCFR's own hit count, which counts every indexed version of each section — an upper bound on the rows the query pages through, reported until the whole hit list has been read. | |
| totalCount | No | Total matches before pagination — search results (see countBasis for what they count), the nodes in a part's listing, or versions. | |
| sourceScope | No | What the answering corpus covers — the mirror's title coverage, or the live index and the date it was read at — narrowed by whichever of title and part the call supplied (search mode). Read it before concluding a query found nothing. | |
| latestAmendmentDate | No | Versions mode: the newest `date` across every listed version, not just this page; null when none matched. |