Token导航 LogoToken导航TokenDH.com
Courtlistener logo
搜索检索stdio官方级别未说明来源级核验

Courtlistener

MCP Server

一个基于CourtListener API的Python MCP服务器,提供法律案例搜索、法院ID解析、案例和意见检索功能。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonCursor搜索Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aubreyhayes47

提供方

aubreyhayes47

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install "mcp[cli]" httpx courts-db

详细介绍

在渲染上部署CourtListener MCP服务器

本指南将介绍如何创建和部署一个与CourtListener v4 REST API通信的Python MCP服务器,并提供五个可靠的工具:

  • courtlistener.search -案例法搜索/PACER/法官/口头辩论(Citegist搜索API)
  • courtlistener.find_court --向CourtListener解析法庭字符串 court_id 代码(通过 courts_db)
  • courtlistener.get_cluster --通过集群ID(CourtListener意见URL中的ID)检索案例(集群)
  • courtlistener.get_opinion --按意见ID检索特定意见文档(全文)
  • courtlistener.resolve_from_url --粘贴CourtListener URL并返回底层集群+意见

您将使用HTTP传输将MCP服务器部署到Render,以便多个客户端可以连接。

先决条件

需求

  • Python 3.10+
  • MCP Python SDK(FastMCP)
  • httpx 对于HTTP请求

在本地安装依赖项:

pip install "mcp[cli]" httpx courts-db

CourtListener API令牌

从您的CourtListener帐户(个人资料)创建或复制令牌→ API).所有请求必须包括:

Authorization: Token 

渲染最佳实践:将令牌存储为名为的环境变量 COURTLISTENER_API_TOKEN.

CourtListener API模型(您正在集成的内容)

CourtListener在这里公开了两种重要的API风格:

  1. 搜索API(搜索引擎支持)

- 端点: /api/rest/v4/search/ - 用于发现和排名 - 支持关键字搜索(默认)和语义搜索(仅适用于判例法) - 使用光标分页

  1. 判例法REST API(数据库支持)

- 集群: /api/rest/v4/clusters/ (CourtListener URL中使用的案例/分组) - 意见: /api/rest/v4/opinions/ (个人决定文本;领导/同意/反对) - 卷宗/法院也存在,但四种工具的基线侧重于搜索+集群+意见。

关键区别: CourtListener网站URL包含一个集群ID(不是意见ID)。意见ID与集群ID不可靠匹配。

项目结构

建议的最小结构(已存在于此仓库中):

courtlistener-mcp/
  courtlistener_server.py
  requirements.txt
  README.md

requirements.txt:

mcp[cli]
httpx

实施:MCP服务器(全部5个工具)

服务器在中实现 courtlistener_server.py.关键可靠性目标:

  • 一个共享 httpx.AsyncClient
  • 一个请求助手,持续添加身份验证、超时和错误
  • 随时随地使用CourtListener v4端点
  • 在意见获取中使用字段选择来保持有效载荷较小

该文件定义了五个工具:

0) courtlistener.find_court

将人类法庭字符串(或CourtListener标识符)解析为CourtListener court_id 代码使用 courts_db 数据集。

示例流程(先解析后搜索):

{ "query": "Supreme Court of the United States" }

然后通过返回 court_ids 进入搜索:

{ "query": "habeas", "type": "o", "courts": ["scotus"], "limit": 10 }

1) courtlistener.search

通过搜索 /api/rest/v4/search/ 跨越多个语料库。返回一个规范化的、对代理友好的列表(默认限制=10)和一个 next_cursor.

响应总是包括 warnings 数组提醒消费者LLM摘要可能是错误的,并包含CourtListener链接(url)在引用结果时。

输入合同

  • query 是必需的
  • type 选择您要搜索的内容
  • courts 是一个可选列表 court_id 代码
  • court_query 是一个可选的人类法庭字符串(解析为 court_id 代码通过 courts_db)
  • court_bankruptcycourt_date_found 可选择细化 court_query 决心
  • semantic 仅适用于 type="o"
  • highlight 切换代码段突出显示
  • cursor 支持分页

备注

  • 对于 type="o" 结果,可靠的标识符通常是 cluster_id.
  • 工具返回 raw 每个项目的稳健性;如果你想要一个更严格的模式,请删除。

2) courtlistener.get_cluster

按ID获取集群。可选地获取所有子意见文档。

3) courtlistener.get_opinion

按意见ID获取意见文档,返回首选格式的文本。用途 fields= 省略不需要的字段。

4) courtlistener.resolve_from_url

接受CourtListener URL,如下所示 https://www.courtlistener.com/opinion/2812209/obergefell-v-hodges/ 并返回规范集群(以及可选的意见文档)。

运行服务器(渲染的HTTP传输)

添加入口点(已在 courtlistener_server.py):

if __name__ == "__main__":
    port = int(os.environ.get("PORT", "8000"))
    mcp.run(transport="http", host="0.0.0.0", port=port)

对于HTTP传输,FastMCP在以下位置公开JSON-RPC端点 /mcp.

要渲染的部署

  1. 推送到Git。 将此项目推送到GitHub(或其他git主机)。
  2. 创建渲染Web服务。

- 环境:Python - 构建命令:渲染自动安装 requirements.txt (或设置 pip install -r requirements.txt) - 启动命令:

     python courtlistener_server.py
  1. 环境变量。 在渲染上设置:

- COURTLISTENER_API_TOKEN =您的代币 - 自动设置渲染 PORT

  1. 核实。 部署后,您的MCP端点将是:
   https://.onrender.com/mcp

从代理使用MCP服务器

一旦向支持MCP的客户端注册,代理就可以呼叫:

MCP提示

此服务器还公开MCP提示(由返回的模板 prompts/get 客户在与模特交谈时可以应用)。

  • legal_research --使用 courtlistener.* 工具。

- 论据: question (必填), court_query, date_window, court_level, notes

搜索案例(10个结果)

{
  "query": "breach of warranty",
  "type": "o",
  "courts": ["ca5"],
  "limit": 10
}

获取法律研究清单提示

{
  "name": "legal_research",
  "arguments": {
    "question": "What is the standard for fair use in the Ninth Circuit?",
    "court_query": "Ninth Circuit",
    "date_window": "all years"
  }
}

根据结果检索全文

{
  "cluster_id": 2812209,
  "include_opinions": true,
  "opinion_text_format": "html_with_citations"
}
注: include_opinions 默认为 false 当集群包含许多子意见时,避免长时间的扇出请求。

检索特定意见文件

{
  "opinion_id": 9969234,
  "text_format": "html_with_citations"
}

粘贴URL

{
  "url": "https://www.courtlistener.com/opinion/2812209/obergefell-v-hodges/",
  "include_opinions": true
}

可靠性检查表(为什么这种实施有效)

  • 正确的API版本:所有使用 /api/rest/v4/... (无v3端点)。
  • 正确的标识符:搜索返回集群;网站URL包含集群ID;通过意见ID获取的意见。
  • 一致的HTTP行为:客户端以一致的超时延迟创建,并通过提供的帮助程序关闭。
  • 一致的输出:所有工具都返回规范化的JSON对象(不是脆弱的格式化字符串)。
  • 字段选择:意见获取使用 fields= 以减小有效载荷大小。
  • 分页支持:搜索返回 next_cursor 代理人继续。

日志记录注意事项

如果你添加日志记录,请使用Python logging 并写入stderr。对于Render上的HTTP模式,stdout是可以接受的,但结构化日志记录是首选。

许可证

MIT许可证。看 LICENSE.

目录标签

目录标签

PythonCursor搜索法律研究本地部署案例搜索法院ID解析意见检索MCP服务器

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP