
CourtListener
io.github.Vaquill-AIv0.1.0更新於 Oct 9, 2026
MCP for CourtListener: US federal and state opinions, dockets, judges, plus eCFR regulations.
概覽
讓助理檢索美國法院判決、案卷、法官與 RECAP 文件,並查詢 eCFR 聯邦法規。
- 功能
- 提供四組共 34 個唯讀工具:CourtListener 檢索(判決、案卷、含文書的案卷、RECAP 文書、言詞辯論、人員)、依 ID 取得(判決、案卷、音訊、法院、人員、判決集)、引註工具(查詢、批次查詢、格式驗證、CiteURL 解析、從文字擷取、強化查詢),以及 eCFR 聯邦法規套件(標題、結構、階層、來源 XML、機關、更正、檢索計數與建議)。檢索工具支援游標分頁,另有狀態工具。
- 適用情境
- 當助理需要美國聯邦或州判例、案卷與 PACER/RECAP 資料、法官或言詞辯論紀錄、引註核對,或 eCFR 現行聯邦法規時使用。eCFR 工具是相對於官方 CourtListener 伺服器的主要選擇理由,README 稱官方伺服器沒有這些工具。
- 執行需求
- 遠端 streamable HTTP 端點,不需本機安裝。需要免費的 CourtListener API 權杖,透過 X-CourtListener-Token 請求標頭(或 Authorization: Token)隨每次請求送出。自行架設則需 Python 與 uv,或 Docker,可選設定 COURT_LISTENER_API_KEY;eCFR API 不需金鑰。需要連線至 CourtListener 與 ecfr.gov 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 CourtListener,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"courtlistener-mcp": {
"type": "http",
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}README
CourtListener MCP Server
A Model Context Protocol server that gives AI assistants access to the CourtListener legal database (US federal + state court opinions, dockets, RECAP filings, PACER data, oral arguments, judges) and the Electronic Code of Federal Regulations via the official CourtListener API v4.
Use it with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, ChatGPT Desktop, or any MCP-compatible client.
Forked from Travis-Prall/court-listener-mcp. This fork adds a hosted endpoint, bring-your-own-key (BYOK) auth, a
/healthroute, Dockerfile hardening, a full eCFR (federal regulations) tool suite, cursor pagination, per-client rate limiting, and read-only tool annotations. See the changelog for details.
When to use this vs. the official server
Free Law Project (who run CourtListener) host an official MCP at
https://mcp.courtlistener.com/ (OAuth, free with any CourtListener account) -
see their announcement.
Prefer it if you want OAuth and the broadest CourtListener coverage. Use this
server if you want: eCFR federal-regulations tools (the official server has
none), simple BYOK header auth (no OAuth dance), or a self-hosted/embeddable
Python server. The two are complementary.
Use the hosted endpoint (no install)
The Vaquill team runs a public instance for the community:
You bring your own free CourtListener token from courtlistener.com/help/api/rest/, the server forwards it. We never see or store your key.
Claude Desktop / Claude Code
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
Cursor
.cursor/mcp.json:
VS Code (GitHub Copilot Chat)
.vscode/mcp.json:
Claude Web (custom connector)
Settings → Connectors → Add custom connector → paste the URL and add
X-CourtListener-Token as a header. Workspace owners only.
Windsurf, Continue, etc.
Any client that supports MCP streamable HTTP with custom headers works.
For stdio-only clients, run the server locally (see below) or proxy with
mcp-remote.
Tools
34 tools across 4 groups (each group is namespaced). All are read-only.
Search tools accept a cursor param and return a next_cursor for pagination.
See app/README.md for full parameter details.
Authentication
Two modes, in priority order:
- Per-request header (BYOK) — preferred for hosted / shared deployments.
Send the user's CourtListener key on every MCP request:
X-CourtListener-Token: <key>(preferred), orAuthorization: Token <key>(CourtListener's native scheme — only works if the MCP server itself isn't already gated byAuthorization).
- Server env fallback — set
COURT_LISTENER_API_KEYon the server. Used when no per-request header is supplied. Leave unset on public instances to force BYOK and avoid burning the operator's quota.
If neither is provided, tools return a ValueError with a clear message.
Self-host
Docker
Python (uv)
Stdio (local CLI integration)
Add to Claude Desktop:
Configuration
* Required only if running in single-tenant mode without BYOK.
Health check
Development
Changelog
0.2.0
- Added a full eCFR (federal regulations) tool suite (15 tools): titles, structure, versions, ancestry, source XML, agencies, corrections, and full-text regulation search + analytics. This is the differentiator over CourtListener-only servers.
- Fixed a validation crash: optional search filters are now nullable
(
str | None), so clients that send explicit JSONnullno longer get aValidationError(previously brokesearch_dockets/search_recap_documents). - Real pagination: removed the no-op
hitparam; search tools now honorlimitand expose anext_cursortoken plus an inputcursor. - Read-only tool annotations on all tools (better client UX, no write prompts).
- Per-client rate limiting middleware (configurable, on by default).
- Migrated
import_server→mount(FastMCP 3), fixed the API-key env-var alias, refreshed project metadata, and got the test suite green (unit tests mocked; live-API tests gated behindRUN_INTEGRATION=1).
Credits & License
- Original implementation: Travis-Prall/court-listener-mcp
- Hosted by: Vaquill — courtlistener-mcp.vaquill.ai
- License: MIT (see LICENSE)
CourtListener data is provided by the Free Law Project under their respective terms. eCFR data is from ecfr.gov.
Community
Questions, ideas, or want to contribute? Join the Vaquill community on Discord.
來源:README.md,提交 9078d09
工具
0版本歷史
1- v0.1.0最新Sep 16, 2026
