CourtListener

MCP for CourtListener: US federal and state opinions, dockets, judges, plus eCFR regulations.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
88%
Calidad de los nombres
84%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (8)

  • LOWTool 'citation_batch_lookup_citations' description lacks action verben citation_batch_lookup_citations
  • LOWTool 'citation_batch_lookup_citations' name length outside 3-30 rangeen citation_batch_lookup_citations
  • LOWTool 'citation_verify_citation_format' name length outside 3-30 rangeen citation_verify_citation_format
  • LOWTool 'citation_parse_citation_with_citeurl' name length outside 3-30 rangeen citation_parse_citation_with_citeurl
  • LOWTool 'citation_extract_citations_from_text' name length outside 3-30 rangeen citation_extract_citations_from_text
  • LOWTool 'citation_enhanced_citation_lookup' name length outside 3-30 rangeen citation_enhanced_citation_lookup
  • LOWTool 'ecfr_get_hierarchy_search_counts' name length outside 3-30 rangeen ecfr_get_hierarchy_search_counts
  • LOWTool 'citation_parse_citation_with_citeurl' suggests web access but openWorldHint=falseen citation_parse_citation_with_citeurl

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,085Tokens (definiciones de herramientas)
~1.5 KBTamaño de respuesta típico
Impacto significativo en la atención (4.75% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "courtlistener-mcp": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}

Puntos de conexión remotos

https://courtlistener-mcp.vaquill.ai/mcp/streamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (34)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢status

Check the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢search_opinions(q, court, case_name, judge, filed_after, ...)

Search case law opinion clusters with nested Opinion documents in CourtListener.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢search_dockets(q, court, case_name, docket_number, date_filed_after, ...)

Search federal cases (dockets) from PACER in CourtListener.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢search_audio(q, court, case_name, judge, argued_after, ...)

Search oral argument audio recordings in CourtListener.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢search_people(q, name, position_type, political_affiliation, school, ...)

Search judges and legal professionals in the CourtListener database.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_opinion(opinion_id)

Get a specific court opinion by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "opinion_id": {
      "description": "The opinion ID to retrieve",
      "type": "string"
    }
  },
  "required": [
    "opinion_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_docket(docket_id)

Get a specific court docket by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "docket_id": {
      "description": "The docket ID to retrieve",
      "type": "string"
    }
  },
  "required": [
    "docket_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_audio(audio_id)

Get oral argument audio information by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "audio_id": {
      "description": "The audio recording ID to retrieve",
      "type": "string"
    }
  },
  "required": [
    "audio_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_cluster(cluster_id)

Get an opinion cluster by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "cluster_id": {
      "description": "The opinion cluster ID to retrieve",
      "type": "string"
    }
  },
  "required": [
    "cluster_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_person(person_id)

Get judge or legal professional information by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "person_id": {
      "description": "The person (judge) ID to retrieve",
      "type": "string"
    }
  },
  "required": [
    "person_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢get_court(court_id)

Get court information by ID from CourtListener.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "court_id": {
      "description": "The court ID to retrieve (e.g., 'scotus', 'ca9')",
      "type": "string"
    }
  },
  "required": [
    "court_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "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

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "citation": {
      "description": "The citation to verify",
      "type": "string"
    }
  },
  "required": [
    "citation"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "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

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Text containing legal citations to extract",
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_list_titles

List all 50 CFR titles with their latest amended/issue dates and status.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_title_versions(title)

List the available content versions (issue dates) for one CFR title.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "description": "CFR title number (1-50)",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_title_structure(title, date)

Get the full hierarchical structure (title -> section) of a CFR title on a date.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_ancestry(title, date, part, section)

Get the ancestry chain (title -> ... -> node) for a CFR node on a date.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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``.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_list_agencies

List all agencies that appear in the CFR, with their title/chapter references.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_list_all_corrections(title, date)

List CFR corrections, optionally filtered by title and/or effective date.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_list_corrections_by_title(title)

List all corrections for a single CFR title.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "description": "CFR title number (1-50)",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_search_count(query, title, agency_slugs, date)

Get the total number of CFR sections matching a search query.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_search_summary(query, title, agency_slugs, date)

Get summary details (counts + metadata) for a CFR search query.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_title_search_counts(query, date)

Get search result counts broken down by CFR title.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_daily_search_counts(query, date)

Get search result counts broken down by date (daily histogram).

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_hierarchy_search_counts(query, date)

Get search result counts distributed across the CFR hierarchy.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢ecfr_get_search_suggestions(query)

Get search-term suggestions for a partial CFR query.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Partial query to get suggestions for",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada34 herramientas
verificadoversión no registrada34 herramientas
verificadoversión no registrada34 herramientas