CourtListener
MCP for CourtListener: US federal and state opinions, dockets, judges, plus eCFR regulations.
Should I use this
Quality & Safety
Findings (8)
- LOWin citation_batch_lookup_citations
- LOWin citation_batch_lookup_citations
- LOWin citation_verify_citation_format
- LOWin citation_parse_citation_with_citeurl
- LOWin citation_extract_citations_from_text
- LOWin citation_enhanced_citation_lookup
- LOWin ecfr_get_hierarchy_search_counts
- LOWin citation_parse_citation_with_citeurl
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"courtlistener-mcp": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}Remote endpoints
https://courtlistener-mcp.vaquill.ai/mcp/streamable-httpWhat it can do
Tool inventory
Tools (34)
๐ขstatus
Check the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_opinions(q, court, case_name, judge, filed_after, ...)
Search case law opinion clusters with nested Opinion documents in CourtListener.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for full text of opinions",
"type": "string"
},
"court": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Court ID filter (e.g., 'scotus', 'ca9')"
},
"case_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by case name"
},
"judge": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by judge name"
},
"filed_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only show opinions filed after this date (YYYY-MM-DD)"
},
"filed_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only show opinions filed before this date (YYYY-MM-DD)"
},
"cited_gt": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum number of times opinion has been cited"
},
"cited_lt": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of times opinion has been cited"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_dockets(q, court, case_name, docket_number, date_filed_after, ...)
Search federal cases (dockets) from PACER in CourtListener.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for docket text",
"type": "string"
},
"court": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Court ID filter (e.g., 'scotus', 'ca9')"
},
"case_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by case name"
},
"docket_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific docket number to search for"
},
"date_filed_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter dockets filed after this date (YYYY-MM-DD)"
},
"date_filed_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter dockets filed before this date (YYYY-MM-DD)"
},
"party_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by party name"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_dockets_with_documents(q, court, case_name, docket_number, date_filed_after, ...)
Search federal cases (dockets) with up to three nested documents. If there are more than three matching documents, the more_docs field will be true.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for federal cases",
"type": "string"
},
"court": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Court ID filter (e.g., 'scotus', 'ca9')"
},
"case_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by case name"
},
"docket_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific docket number to search for"
},
"date_filed_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter dockets filed after this date (YYYY-MM-DD)"
},
"date_filed_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter dockets filed before this date (YYYY-MM-DD)"
},
"party_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by party name"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_recap_documents(q, court, case_name, docket_number, document_number, ...)
Search federal filing documents from PACER in the RECAP archive.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for RECAP filing documents",
"type": "string"
},
"court": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Court ID filter (e.g., 'scotus', 'ca9')"
},
"case_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by case name"
},
"docket_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific docket number to search for"
},
"document_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific document number to search for"
},
"attachment_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific attachment number to search for"
},
"filed_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter documents filed after this date (YYYY-MM-DD)"
},
"filed_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter documents filed before this date (YYYY-MM-DD)"
},
"party_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by party name"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_audio(q, court, case_name, judge, argued_after, ...)
Search oral argument audio recordings in CourtListener.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for oral argument audio",
"type": "string"
},
"court": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Court ID filter (e.g., 'scotus', 'ca9')"
},
"case_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by case name"
},
"judge": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by judge name"
},
"argued_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter arguments after this date (YYYY-MM-DD)"
},
"argued_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter arguments before this date (YYYY-MM-DD)"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc', 'dateArgued desc', or 'dateArgued asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขsearch_people(q, name, position_type, political_affiliation, school, ...)
Search judges and legal professionals in the CourtListener database.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query for judges and legal professionals",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by person's name"
},
"position_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by position type (e.g., 'jud' for judge)"
},
"political_affiliation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by political affiliation"
},
"school": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by school attended"
},
"appointed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by appointing authority"
},
"selection_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by selection method"
},
"order_by": {
"default": "score desc",
"description": "Sort by 'score desc' or 'name asc'",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results from this page (upper bound; CL pages ~20)",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination cursor from a prior response's next_cursor"
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_opinion(opinion_id)
Get a specific court opinion by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"opinion_id": {
"description": "The opinion ID to retrieve",
"type": "string"
}
},
"required": [
"opinion_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_docket(docket_id)
Get a specific court docket by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"docket_id": {
"description": "The docket ID to retrieve",
"type": "string"
}
},
"required": [
"docket_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_audio(audio_id)
Get oral argument audio information by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"audio_id": {
"description": "The audio recording ID to retrieve",
"type": "string"
}
},
"required": [
"audio_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_cluster(cluster_id)
Get an opinion cluster by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"cluster_id": {
"description": "The opinion cluster ID to retrieve",
"type": "string"
}
},
"required": [
"cluster_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_person(person_id)
Get judge or legal professional information by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"person_id": {
"description": "The person (judge) ID to retrieve",
"type": "string"
}
},
"required": [
"person_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขget_court(court_id)
Get court information by ID from CourtListener.
Input Schema
{
"type": "object",
"properties": {
"court_id": {
"description": "The court ID to retrieve (e.g., 'scotus', 'ca9')",
"type": "string"
}
},
"required": [
"court_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_lookup_citation(citation)
Look up a legal citation to find the opinion it references in CourtListener. This tool accepts various citation formats including: - U.S. Reporter citations (e.g., "410 U.S. 113") - Federal Reporter citations (e.g., "123 F.3d 456") - WestLaw citations (e.g., "2023 WL 12345") - State reporter citations
Input Schema
{
"type": "object",
"properties": {
"citation": {
"description": "The citation to look up (e.g., '410 U.S. 113', '2023 WL 12345')",
"type": "string"
}
},
"required": [
"citation"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_batch_lookup_citations(citations)
Look up multiple legal citations in a single request. This is more efficient than making individual requests for each citation. Accepts up to 100 citations at once.
Input Schema
{
"type": "object",
"properties": {
"citations": {
"description": "List of citations to look up (max 100)",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"citations"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_verify_citation_format(citation)
Verify if a citation string is in a valid format using citeurl's advanced parsing. This tool performs validation using citeurl's comprehensive citation templates to check if a citation appears to be in a recognized legal citation format. This is much more accurate than simple regex matching. Returns information about the citation format and any detected issues.
Input Schema
{
"type": "object",
"properties": {
"citation": {
"description": "The citation to verify",
"type": "string"
}
},
"required": [
"citation"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_parse_citation_with_citeurl(citation, broad)
Parse a legal citation using citeurl's advanced citation recognition. This tool uses the citeurl library to parse legal citations and extract structured information including tokens, normalized format, and URL generation. Returns detailed information about the citation including: - Recognized citation format and source - Extracted tokens (volume, reporter, page, etc.) - Generated URL if available - Normalized citation text
Input Schema
{
"type": "object",
"properties": {
"citation": {
"description": "The citation to parse (e.g., '410 U.S. 113', '42 USC ยง 1988')",
"type": "string"
},
"broad": {
"default": true,
"description": "Use broad matching for more flexible parsing",
"type": "boolean"
}
},
"required": [
"citation"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_extract_citations_from_text(text)
Extract all legal citations from a block of text using citeurl. This tool finds and parses all legal citations within a given text, including both long-form and short-form citations (like 'id.' references).
Input Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text containing legal citations to extract",
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขcitation_enhanced_citation_lookup(citation, include_courtlistener)
Enhanced citation lookup combining citeurl parsing with CourtListener data. This tool first uses citeurl to parse and validate the citation format, then optionally queries the CourtListener API for additional case information.
Input Schema
{
"type": "object",
"properties": {
"citation": {
"description": "The citation to look up and analyze",
"type": "string"
},
"include_courtlistener": {
"default": true,
"description": "Whether to also perform CourtListener API lookup",
"type": "boolean"
}
},
"required": [
"citation"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_list_titles
List all 50 CFR titles with their latest amended/issue dates and status.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_title_versions(title)
List the available content versions (issue dates) for one CFR title.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "CFR title number (1-50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"title"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_title_structure(title, date)
Get the full hierarchical structure (title -> section) of a CFR title on a date.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "CFR title number (1-50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"date": {
"description": "Snapshot date (YYYY-MM-DD)",
"type": "string"
}
},
"required": [
"title",
"date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_ancestry(title, date, part, section)
Get the ancestry chain (title -> ... -> node) for a CFR node on a date.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "CFR title number (1-50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"date": {
"description": "Snapshot date (YYYY-MM-DD)",
"type": "string"
},
"part": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a part, e.g. '75'"
},
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a section, e.g. '75.1'"
}
},
"required": [
"title",
"date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_source_xml(title, date, part, section, subtitle, ...)
Fetch the source regulation TEXT (XML) for a CFR node on a snapshot date. Pass a part or section to scope the request. Fetching an entire large title at once can time out on the eCFR side, so narrowing is strongly recommended. Returns the raw XML under ``content_xml``.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "CFR title number (1-50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"date": {
"description": "Snapshot date (YYYY-MM-DD)",
"type": "string"
},
"part": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Part to fetch, e.g. '75'. STRONGLY recommended: whole-title fetches can time out."
},
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Section, e.g. '75.1'"
},
"subtitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Subtitle, e.g. 'A'"
},
"chapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Chapter, e.g. 'I'"
},
"subchapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Subchapter, e.g. 'B'"
},
"subpart": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Subpart, e.g. 'C'"
},
"appendix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Appendix identifier"
}
},
"required": [
"title",
"date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_list_agencies
List all agencies that appear in the CFR, with their title/chapter references.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_list_all_corrections(title, date)
List CFR corrections, optionally filtered by title and/or effective date.
Input Schema
{
"type": "object",
"properties": {
"title": {
"anyOf": [
{
"maximum": 50,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a CFR title number"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Corrections in effect on this date (YYYY-MM-DD)"
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_list_corrections_by_title(title)
List all corrections for a single CFR title.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "CFR title number (1-50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"title"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_search_regulations(query, title, agency_slugs, date, per_page, ...)
Full-text search over federal regulations, returning matching sections with hierarchy.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"title": {
"anyOf": [
{
"maximum": 50,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a CFR title number"
},
"agency_slugs": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to one or more agency slugs (from list_agencies)"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Search the CFR as of this date (YYYY-MM-DD)"
},
"per_page": {
"default": 20,
"description": "Results per page (max 20)",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"page": {
"default": 1,
"description": "Page number",
"minimum": 1,
"type": "integer"
},
"order": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Sort order: 'relevance', 'hierarchy', 'newest_first', 'oldest_first'"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_search_count(query, title, agency_slugs, date)
Get the total number of CFR sections matching a search query.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"title": {
"anyOf": [
{
"maximum": 50,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a title"
},
"agency_slugs": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to agency slugs"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "As-of date (YYYY-MM-DD)"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_search_summary(query, title, agency_slugs, date)
Get summary details (counts + metadata) for a CFR search query.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"title": {
"anyOf": [
{
"maximum": 50,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to a title"
},
"agency_slugs": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to agency slugs"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "As-of date (YYYY-MM-DD)"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_title_search_counts(query, date)
Get search result counts broken down by CFR title.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "As-of date (YYYY-MM-DD)"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_daily_search_counts(query, date)
Get search result counts broken down by date (daily histogram).
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "As-of date (YYYY-MM-DD)"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_hierarchy_search_counts(query, date)
Get search result counts distributed across the CFR hierarchy.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Full-text search query over the CFR",
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "As-of date (YYYY-MM-DD)"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}๐ขecfr_get_search_suggestions(query)
Get search-term suggestions for a partial CFR query.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Partial query to get suggestions for",
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}Community
Evidence