关于 California Jury Instructions
California Jury Instructions 是提供加州司法委员会现行陪审团指示文本的 MCP 服务,面向法律研究与案件准备。它覆盖民事 CACI 和刑事 CALCRIM,并提供指示检索、标题搜索、版本变更和版本链接。
主要功能
- 01查询 CACI 民事指示全文
- 02查询 CALCRIM 刑事指示全文
- 03按标题关键词查找指示编号
- 04查看当前版本新增或修订内容
- 05查询版本年份及归档链接
适用场景
- 01按编号查阅民事或刑事指示
- 02根据案件主题定位相关指示
- 03了解当前版本的修订内容
- 04查找以往版本的 PDF 链接
MCP 相关
该项目通过 MCP 暴露 CACI 和 CALCRIM 指示的查询、搜索及版本信息工具,可经 Pipeworx 网关或本地 stdio MCP 服务连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/california-jury-instructions/mcpclaude mcp add --transport http pipeworx-io-california-jury-instructions https://gateway.pipeworx.io/california-jury-instructions/mcp{"mcpServers":{"pipeworx-io-california-jury-instructions":{"type":"http","url":"https://gateway.pipeworx.io/california-jury-instructions/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-california-jury-instructions":{"type":"http","url":"https://gateway.pipeworx.io/california-jury-instructions/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-california-jury-instructions":{"type":"http","url":"https://gateway.pipeworx.io/california-jury-instructions/mcp"}}}{"mcpServers":{"pipeworx-io-california-jury-instructions":{"serverUrl":"https://gateway.pipeworx.io/california-jury-instructions/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/california-jury-instructions
加利福尼亚州司法委员会采纳的官方陪审团指示——CACI(民事,例如“303” = 违约的必要事实要素)和 CALCRIM(刑事,例如“200” = 法官和陪审团的职责),当前(2026)版,包含完整指示文本、使用说明/庭审备注、来源与依据/依据,以及修订历史。
属于 Pipeworx 的一部分——一个 MCP 网关,可将 AI Agent 连接到 1819+ 个实时数据源。这是一项独立的非官方集成,与上游提供方无关联,未获其背书,也非由其发布。
工具
caci_lookup(number)— 按编号查询一条 CACI(民事)指示或裁决表格(“303”、“VF-303”),获取完整官方文本:指示文本、使用说明、来源与依据、辅助来源及修订历史。calcrim_lookup(number)— 按编号查询一条 CALCRIM(刑事)指示或裁决表格(“200”、“VF-200”),获取完整官方文本:指示文本、庭审备注(包括指示义务)、依据、相关议题、辅助来源(如有评论)及修订历史。ca_ji_search(query, set?)— 按关键词查找诉求或指控对应的官方指示编号(“违约” -> CACI No. 303),可搜索 CACI、CALCRIM 或两者。此工具搜索标题,而非全文。ca_ji_whats_new(set?, edition?)— 汇总某一版新增或修订的指示,一次调用即可获取(fleet #3171)——例如,CALCRIM 2026 -> No. 1808(有组织的零售盗窃)、3235、3238、3459。对于 CACI,数据来自司法委员会该版前置部分中列出的编号变更;对于 CALCRIM(没有对应表格),则根据每条指示自身的修订历史行生成。仅提供当前版;已撤回/废止的编号无法通过此索引确定日期(参见下文“已知限制”),并始终返回空结果。ca_ji_editions(set?)— 获取任一或两套指示的当前版年份/采纳日期及存档版 PDF 链接。
身份验证
无需密钥。此工具读取司法委员会自行发布的公开 PDF——不使用第三方 API,也无需任何形式的注册。
数据源
- https://www.courts.ca.gov/system/files/file/judicial_council_of_california_civil_jury_instructions_2026.pdf
— CACI(民事),当前 2026 版,是每条
caci_lookup响应的唯一数据源。 - https://courts.ca.gov/system/files/file/calcrim-2026.pdf — CALCRIM
(刑事),当前 2026 版,是每条
calcrim_lookup响应的唯一数据源。 - https://courts.ca.gov/partners/juryinstructions.htm — 司法委员会自有索引页面,链接至两个资源中心、当前版和约 2019–2021 年以来的存档版(通过
ca_ji_editions提供,不提取文本)。
为什么这个工具包会预先烘焙索引,而不是在每次调用时获取
两个版本都以一份完整版本的 PDF 发布——CACI 2026 约 3,560 页/11MB,CALCRIM 2026 约 2,680 页/84MB。它们都没有针对单条指令的端点,而且即使不在 Worker 中,解析任一文档也需要几十秒,因此 scripts/bake-index.mjs 会下载并解析两份文档各一次,生成 src/ca-ji-index-data.ts(采用新版时重新运行,通常每年一次)。Gateway 会将该文件上传到 KV,并在每个 isolate 首次调用时将其注入为 args._bakedIndex——完整机制请参阅该脚本的文件头和 src/index.ts 顶部注释(与 south-dakota-code、hawaii-code 使用相同模式)。
shared/src/pdf-text.ts 不适用于这些 PDF。 直接用真实的 CACI PDF 进行测试发现,它会悄无声息地丢弃所有词间空格(该排版系统通过 TJ 数组中的字距调整来编码词间空隙,而不是使用空格字形——例如 "Thiseditionof CACI includes..."),并且会因子集字体编码超出其文档说明的适用范围而错误解码多个连字(fi/fl → "®",en-dash → "±")。pdftotext(poppler-utils)能够通过真实字形位置正确还原空格,因此改用它——它仅是构建时依赖项;Worker 不会运行烘焙脚本。重新运行脚本(以获取新版)需要在运行脚本的机器上安装 pdftotext(brew install poppler/apt install poppler-utils)。
解析方法:两份文档的页眉都会在每个正文页标明指令编号("CACI No. 303"、"CALCRIM No. 200"),且每个系列/类别都有自己的分隔页,列出该类别的所有指令编号和官方标题——这些分隔页作为权威索引,不依赖正文解析。已于 2026-10-07 对照当前的 2026 版本进行验证:CACI 的权威索引中 1,140/1,140 个编号均已覆盖(其中 1 个——#4001——确实已撤销,并非解析遗漏);CALCRIM 为 780/780,覆盖率 100%。
已知限制(如实说明,不加掩饰):
- 仅烘焙当前版本的文本。归档版本(约追溯至 2019-2021 年)仅通过 URL 链接到
ca_ji_editions,不会提取文本——无法通过此工具包获取旧版本的准确措辞。 - 完全不涵盖“拟议修订”(委员会针对待定变更进行的独立公开征求意见流程)。提供的内容均为已采纳且现行有效的文本(每次成功查询的
status均为"adopted")。 ca_ji_search匹配的是官方指令/裁决表格标题和系列名称,不匹配完整的指令正文。ca_ji_whats_new无法将撤回操作对应到特定版本:烘焙时,被撤销或预留编号的文本(以及任何撤销日期)都会从此索引中删除,因此其withdrawn列表始终为空(并会附注说明)——请改为查询caci_lookup/calcrim_lookup中的编号,查看当前是否返回status: "revoked_or_reserved"。目前仅提供当前版本的新修订/修订清单;其他任何edition都会返回明确的“不可用”提示。
许可:两份文档的版权页均明确授予转载许可——“根据《加州法院规则》第 2.1050(c) 条,这些指令和裁决表格可免费用于复制,但须适当引用本出版物。”此工具包在每条响应中都通过 source/source_url 引用该出版物。
快速开始
将其添加到 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"california-jury-instructions": {
"url": "https://gateway.pipeworx.io/california-jury-instructions/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/california-jury-instructions/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 都连接到同一个网关和同样的 1819+ 个数据源。唯一的区别是直接列出的是哪个工具包的工具;无论连接哪一个,ask_pipeworx 都可以访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/caci_lookup \
-H 'Content-Type: application/json' \
-d '{"number":"303"}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/caci_lookup。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:
{
"mcpServers": {
"california-jury-instructions": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-california-jury-instructions"]
}
}
}
或者直接运行,确认它能正常启动:
npx -y @pipeworx/mcp-california-jury-instructions
它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,且仅提供此工具包的工具——不包含上文网关连接额外提供的任何共享元工具。使用相同的源代码和工具,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上文的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about California Jury Instructions data" })
网关会自动选择合适的工具并填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。