CourtListener
What this MCP does
Searches and retrieves US court opinions, dockets, legal citations, judges, oral arguments, and federal regulations.
Tools
Input schema
{'type': 'object', 'required': ['citations'], 'properties': {'citations': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'minItems': 1, 'description': 'List of citations to look up (max 100)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['citation'], 'properties': {'citation': {'type': 'string', 'description': 'The citation to look up and analyze'}, 'include_courtlistener': {'type': 'boolean', 'default': True, 'description': 'Whether to also perform CourtListener API lookup'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text containing legal citations to extract'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['citation'], 'properties': {'citation': {'type': 'string', 'description': "The citation to look up (e.g., '410 U.S. 113', '2023 WL 12345')"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['citation'], 'properties': {'broad': {'type': 'boolean', 'default': True, 'description': 'Use broad matching for more flexible parsing'}, 'citation': {'type': 'string', 'description': "The citation to parse (e.g., '410 U.S. 113', '42 USC § 1988')"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['citation'], 'properties': {'citation': {'type': 'string', 'description': 'The citation to verify'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['title', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Snapshot date (YYYY-MM-DD)'}, 'part': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Restrict to a part, e.g. '75'"}, 'title': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'CFR title number (1-50)'}, 'section': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Restrict to a section, e.g. '75.1'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'As-of date (YYYY-MM-DD)'}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'As-of date (YYYY-MM-DD)'}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'As-of date (YYYY-MM-DD)'}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}, 'title': {'anyOf': [{'type': 'integer', 'maximum': 50, 'minimum': 1}, {'type': 'null'}], 'default': None, 'description': 'Restrict to a title'}, 'agency_slugs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to agency slugs'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Partial query to get suggestions for'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'As-of date (YYYY-MM-DD)'}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}, 'title': {'anyOf': [{'type': 'integer', 'maximum': 50, 'minimum': 1}, {'type': 'null'}], 'default': None, 'description': 'Restrict to a title'}, 'agency_slugs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to agency slugs'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['title', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Snapshot date (YYYY-MM-DD)'}, 'part': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Part to fetch, e.g. '75'. STRONGLY recommended: whole-title fetches can time out."}, 'title': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'CFR title number (1-50)'}, 'chapter': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Chapter, e.g. 'I'"}, 'section': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Section, e.g. '75.1'"}, 'subpart': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Subpart, e.g. 'C'"}, 'appendix': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Appendix identifier'}, 'subtitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Subtitle, e.g. 'A'"}, 'subchapter': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Subchapter, e.g. 'B'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'As-of date (YYYY-MM-DD)'}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['title', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Snapshot date (YYYY-MM-DD)'}, 'title': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'CFR title number (1-50)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'CFR title number (1-50)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Corrections in effect on this date (YYYY-MM-DD)'}, 'title': {'anyOf': [{'type': 'integer', 'maximum': 50, 'minimum': 1}, {'type': 'null'}], 'default': None, 'description': 'Restrict to a CFR title number'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'CFR title number (1-50)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Search the CFR as of this date (YYYY-MM-DD)'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number'}, 'order': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Sort order: 'relevance', 'hierarchy', 'newest_first', 'oldest_first'"}, 'query': {'type': 'string', 'description': 'Full-text search query over the CFR'}, 'title': {'anyOf': [{'type': 'integer', 'maximum': 50, 'minimum': 1}, {'type': 'null'}], 'default': None, 'description': 'Restrict to a CFR title number'}, 'per_page': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1, 'description': 'Results per page (max 20)'}, 'agency_slugs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to one or more agency slugs (from list_agencies)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['audio_id'], 'properties': {'audio_id': {'type': 'string', 'description': 'The audio recording ID to retrieve'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['cluster_id'], 'properties': {'cluster_id': {'type': 'string', 'description': 'The opinion cluster ID to retrieve'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['court_id'], 'properties': {'court_id': {'type': 'string', 'description': "The court ID to retrieve (e.g., 'scotus', 'ca9')"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['docket_id'], 'properties': {'docket_id': {'type': 'string', 'description': 'The docket ID to retrieve'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['opinion_id'], 'properties': {'opinion_id': {'type': 'string', 'description': 'The opinion ID to retrieve'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['person_id'], 'properties': {'person_id': {'type': 'string', 'description': 'The person (judge) ID to retrieve'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for oral argument audio'}, 'court': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Court ID filter (e.g., 'scotus', 'ca9')"}, 'judge': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by judge name'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc', 'dateArgued desc', or 'dateArgued asc'"}, 'case_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by case name'}, 'argued_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter arguments after this date (YYYY-MM-DD)'}, 'argued_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter arguments before this date (YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for docket text'}, 'court': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Court ID filter (e.g., 'scotus', 'ca9')"}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'"}, 'case_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by case name'}, 'party_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by party name'}, 'docket_number': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Specific docket number to search for'}, 'date_filed_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter dockets filed after this date (YYYY-MM-DD)'}, 'date_filed_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter dockets filed before this date (YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for federal cases'}, 'court': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Court ID filter (e.g., 'scotus', 'ca9')"}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'"}, 'case_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by case name'}, 'party_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by party name'}, 'docket_number': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Specific docket number to search for'}, 'date_filed_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter dockets filed after this date (YYYY-MM-DD)'}, 'date_filed_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter dockets filed before this date (YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for full text of opinions'}, 'court': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Court ID filter (e.g., 'scotus', 'ca9')"}, 'judge': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by judge name'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'cited_gt': {'anyOf': [{'type': 'integer', 'minimum': 0}, {'type': 'null'}], 'default': None, 'description': 'Minimum number of times opinion has been cited'}, 'cited_lt': {'anyOf': [{'type': 'integer', 'minimum': 0}, {'type': 'null'}], 'default': None, 'description': 'Maximum number of times opinion has been cited'}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'"}, 'case_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by case name'}, 'filed_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Only show opinions filed after this date (YYYY-MM-DD)'}, 'filed_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Only show opinions filed before this date (YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for judges and legal professionals'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Filter by person's name"}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'school': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by school attended'}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc' or 'name asc'"}, 'appointed_by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by appointing authority'}, 'position_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Filter by position type (e.g., 'jud' for judge)"}, 'selection_method': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by selection method'}, 'political_affiliation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by political affiliation'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Search query for RECAP filing documents'}, 'court': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Court ID filter (e.g., 'scotus', 'ca9')"}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results from this page (upper bound; CL pages ~20)'}, 'cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Pagination cursor from a prior response's next_cursor"}, 'order_by': {'type': 'string', 'default': 'score desc', 'description': "Sort by 'score desc', 'dateFiled desc', or 'dateFiled asc'"}, 'case_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by case name'}, 'party_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by party name'}, 'filed_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter documents filed after this date (YYYY-MM-DD)'}, 'filed_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter documents filed before this date (YYYY-MM-DD)'}, 'docket_number': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Specific docket number to search for'}, 'document_number': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Specific document number to search for'}, 'attachment_number': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Specific attachment number to search for'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
Dados Abertos Senado BR MCP
Searches and retrieves Brazilian Federal Senate legislative, administrative, budgetary, contracting, speech, committee, and e-Cid…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
GleanMark Trademark Search
Searches and analyzes USPTO trademark records, including conflicts, prosecution histories, TTAB proceedings, ownership chains, de…
editalmd
Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document acce…
DataNexus MCP
Enables public-data research across domains, patents, government contracts, nonprofits, compliance registries, and software secur…
agentdata-nl
Provides paid company, insolvency, sanctions, regulatory, crypto-market, news, payment-counterparty, and structured web research …
FDA Data MCP
Searches and analyzes FDA data covering drugs, devices, facilities, inspections, recalls, approvals, shortages, enforcement, and …