mcpField
C
Court Listener

Court Listener

远程服务
pipeworx.io法律与政务05 天前更新

关于 Court Listener

Court Listener 将 Free Law Project 的 CourtListener 案例和诉讼文件数据提供为 MCP 工具,面向法律研究及案件检索。它支持按案名、引证和主题查找意见,并可检索 docket 与文件;部分上游搜索受限流影响。

主要功能

  1. 01按案名或引证查找案件
  2. 02搜索判决意见并获取全文
  3. 03查询 docket 及诉讼文件
  4. 04关联专利诉讼与专利信息
  5. 05支持无密钥查询判决文本

适用场景

  1. 01根据引证定位并阅读判决
  2. 02检索案件 docket 和已收录文件
  3. 03核查专利诉讼中的专利编号

MCP 相关

向 MCP 客户端提供美国法院判决意见、案件 docket、诉讼文件和专利交叉查询工具。可通过 Pipeworx 网关连接,也可运行仅包含此套工具的本地 stdio MCP 服务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/court-listener/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

CourtListener — 美国判例法

来自 Free Law Project 的 CourtListener 的美国法院判决:830 万份判决, 覆盖 3,361 个法院,可追溯至 1761 年。这是美国最大的免费、结构化判例法数据库。

它是 Pipeworx 的一部分——一个将 AI Agent 连接到 1875+ 个实时数据源的 MCP 网关。这是一个独立、非官方的集成,与上游提供方无关,也未获得其认可或发布。

其中大部分是州法。这一点常让人意外,但这正是重点:

判决数量占比
州(最高法院、上诉法院、审判法院)6,219,86971%
联邦(含 SCOTUS 的 498,145 份)2,440,85628%
属地、军事、部落86,6911%

联邦上诉法院判例法很容易在其他地方找到。六百万份州法院判决,既已汇集,也可供查询,却并非如此。

身份验证

无需身份验证即可查找案件和判决文本——无需密钥、无需注册,也没有速率限制。

search_opinions 和 search_dockets 会按主题搜索上游数据,并受 CourtListener 的限流机制约束。获取 Free Law Project 的免费令牌即可解除限制。

find_case_patents 可选用 USPTO Open Data Portal 平台密钥(与 patents 工具包使用的密钥相同)来附加专利元数据——无论是否配置密钥,它都会返回主张的专利编号;未配置密钥时则不含标题和日期。

工具

工具适用场景
find_case你知道案件的名称——“Roe v. Wade”,或只知道“Sullivan”
lookup_citation你有判例引证——“410 U.S. 113”
list_case_opinions你有一个案件,想查看其多数意见、协同意见和异议意见
get_opinion你有判决意见 ID,想获取完整文本
search_opinions按名称、法官或类别搜索案件(优先使用镜像;指定 court 代码时会实时搜索)
search_dockets在上游搜索案卷
list_docket_filings你有 docket_id,想查看案卷清单——提交了哪些文件、何时提交
get_docket_filing你有 document_id,想获取相应文件及其 PDF
search_court_filings你想搜索诉状、辩护状、裁定等提交文件文本,而非判决意见
find_case_patents专利案件 → 其主张的专利编号(含 USPTO 元数据)→ 被告,一次调用即可完成

诉讼文件的查询流程为 search_dockets → list_docket_filings → get_docket_filing。每个文件工具都以 docket_id 为键,且只有 search_dockets 会生成该 ID;PACER 案件编号无法解析。

find_case_patents — 专利诉讼交叉引用

将 RECAP 案件记录(Free Law Project / CourtListener)与专利元数据(美国专利商标局,Open Data Portal)关联。传入 case_name(可选 court),或传入已通过 search_dockets 获得的 docket_id:

{"case_name": "TurboCode LLC v. Quectel Wireless Solutions", "court": "txed"}

返回案件记录、从案件标题中读取的原告和被告,以及案件记录自身提交文件文本中出现的每个专利编号;每个编号都注明发现它的提交文件,以及它前面出现的确切标签(例如 "United States Patent No.")。配置 USPTO 平台密钥后(与 patents 包使用的 PLATFORM_USPTO_KEY 相同),每个编号都会附带标题、状态、授权日期和第一发明人;未配置密钥时仍会返回编号,并通过 metadata_unavailable_reason 说明原因。

按设计,这只是轻量交叉引用——绝不会购买 PACER 文档。 专利编号仅来自 RECAP 已索引的文本:书记员撰写的案件记录条目描述(例如,作为证据提交的 "United States Patent No. 6,813,742" 可直接从条目中读取,无需购买),以及其他人已经从 PACER 购买的任何文档文本摘录。若某项专利仅在尚未购买的起诉状 PDF 中被主张,就不会显示出来——响应会说明扫描了多少份提交文件,以及从未获取 pdf_available 文档,而不会声称结果完整。

此处特意采取保守的提取方式:只有源文本中单词 "Patent" 紧接在 "No./Nos./Number(s)" 前面时,该编号才会被视为主张的专利——附近的费用、收据编号、PageID 或附件索引不会仅仅因为它们是数字且靠近另一个数字就被匹配。被告来自 CourtListener 编入索引的案件标题(而非经身份验证的 PACER 当事人表),仅按 ";" / " and " 拆分——绝不按单独的逗号拆分,因为公司后缀("Co., Ltd"、"Inc.,")中经常包含逗号,按逗号拆分会把同一被告的名称拆成两部分。对于含有 "et al." 的标题,会报告 defendants_truncated: true,而不会悄悄丢弃这些信息。

判决意见和提交文件回答的是不同的问题:判决意见说明法院作出了什么裁决,提交文件说明当事人提交了什么。

search_opinions 无论由哪条路径(镜像或实时服务)提供结果,都会返回相同的 cases 结构;引用次数最多的案件会内嵌其主判决意见的 excerpt——包括开篇、裁决表述和查询匹配内容——因此,仅凭搜索结果就能回答“法院裁定了什么”;get_opinion 则会读取全文。

常见流程是 find_case → list_case_opinions → get_opinion。find_case 和 lookup_citation 的结果按引用次数排序,因为对于名称相同的案件,后来的法院实际引用的案件几乎总是用户要找的那个——搜索 "roe wade" 时,1973 年最高法院裁决(5,581 次引用)会排在 1970 年地区法院案件(53 次引用)之前。

缩写和复制粘贴的案件名称

名称匹配采用对所有词元取 AND 的方式,因此,语料库中没有的一个词元就会导致整个查询失败。过去,这意味着 find_case 对 Bell Atl. Corp. v. Twombly 返回空结果——语料库存储的是 "Bell Atlantic Corp.",而 atl 不会词干化为 atlant——而对于从法律文书中连同格式框架一起粘贴的名称(TABLE OF AUTHORITIES Bowers v. Hardwick),也会返回空结果。

如果给定名称未匹配到任何内容,find_case 现在会使用 Bluebook 缩写、引文框架和公司后缀进行一次重试,并将它们删除(绝不扩展或猜测——在 AND 语义下,删除词元只会扩大匹配范围)。通过这种方式找到的结果会标记为:

{ "matched": "relaxed", "matched_query": "Bell v Twombly", "note": "…" }

将 matched: "relaxed" 的命中视为对格式杂乱引文的尽力解析,并检查返回的 case_name 是否是你想找的案件。精确匹配不会携带此字段;首次查询就匹配的名称仍然只需一次查询。

覆盖范围

无需密钥: 意见全文、案件名称、立案日期、法官、判例效力状态、引用次数、判例汇编引文。

上游,受限流: 全文主题搜索,以及全部三种立案工具。 按主题查找案件可能会失败,但按名称或引文查找不会。

RECAP 立案文件(PACER 文档)——无需密钥,仅通过搜索访问。 约 970 万份文档。你可能会尝试访问的 REST 端点 /recap-documents/ 和 /docket-entries/ 都会返回 “Authentication credentials were not provided”;/search/?type=rd 无需令牌,也是立案工具使用的路径。范围限定要通过 q 字段查询(q=docket_id:71886217)——将 ?docket_id= 作为参数传入会被静默忽略,然后返回整个 6170 万份文档的语料库,而不是报错。

值得告知用户的注意事项

  • 没有 PDF 的立案记录仍是真实的立案记录。 RECAP 保存的案卷文本远多于文档,因为只有在有人付费从 PACER 获取 PDF 后,PDF 才会存在。每份立案记录都会报告 pdf_available;在典型的案卷中,大多数条目只有元数据。缺少 PDF 应理解为“没人买过这份文件”,绝不能理解为“这份文件没有提交”。
  • 立案工具会消耗稀缺的请求额度。 它们会访问 CourtListener 的 /search/ 上游接口;无令牌时,该接口每天大约限流至 125 次请求——这与意见镜像旨在规避的限流相同。RECAP 没有镜像。额度耗尽时,工具会明确说明,而不是返回空案卷;意见工具不受影响。
  • 时效性。 响应会附带 snapshot_date;在此日期之后提交的意见会转由上游搜索处理。
  • 语料库中有 14.2% 是扫描卷的 OCR 文本,因此可读性相应受影响。 响应会设置 extracted_by_ocr,以便将乱码归因于扫描件,而非我们。
  • date_created 不是立案日期。 它指记录进入 CourtListener 的时间——一份 1946 年的意见可能显示为 2020 年。date_filed 是从判例集群关联得出的日期,表示法院实际裁决的时间。
  • 引用次数仅统计 CourtListener 语料库内的数据,并非衡量重要性的普遍标准。

署名

数据来自 CourtListener / Free Law Project,以 Public Domain Mark 发布。Free Law Project 为该语料库提供资金并负责维护。如果这个工具包对你有用,可以通过 https://free.law/donate/ 捐款支持他们。

find_case_patents 的专利元数据来自美国专利商标局的 Open Data Portal——属于美国政府作品,处于公共领域。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "court-listener": {
      "url": "https://gateway.pipeworx.io/court-listener/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/court-listener/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享的元工具——ask_pipeworx、 discover_tools、search_within、remember/recall,以及其他适用于整个网关的工具。因此,你看到的工具数量会多于本表所列:目前,单个工具包端点除了该工具包自身的工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明确切范围,是当天情况的权威答案。

这是有意为之,并非意外的多路复用。元工具可让受限范围的连接通过 ask_pipeworx 跨整个目录路由,从而回答本工具包未涵盖的问题,而无需添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构定义耗费的上下文多于路由功能带来的价值,请连接完整网关,而不是连接多个工具包端点。

也可以连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是当前工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都连接到同一个网关和相同的 1875+ 个数据源。唯一的区别是,哪些工具包的工具会被直接列出;无论连接哪一个,ask_pipeworx 都可以访问全部工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/search_opinions \
  -H 'Content-Type: application/json' \
  -d '{"query":"Air France v. Saks"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/search_opinions。查找工具:POST https://gateway.pipeworx.io/v1/tools/search_packs,并使用 {"query":"..."}。

独立运行(无需网关账户)

此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需通过网关往返调用:

{
  "mcpServers": {
    "court-listener": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-court-listener"]
    }
  }
}

或者直接运行,确认它能启动:

npx -y @pipeworx/mcp-court-listener

它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,仅提供此软件包的工具——不包含上述网关连接额外提供的任何共享元工具。相同的源代码,相同的工具,不经过 ask_pipeworx 路由。

使用 ask_pipeworx

你可以用通俗的英语提问,而不必直接调用工具——这不仅适用于上述软件包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Court Listener data" })

网关会选择合适的工具并自动填写参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。