mcpField
I
Illinois Code

Illinois Code

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

关于 Illinois Code

Illinois Code 是查询伊利诺伊州成文法的 MCP 服务,面向需要按法规引文或主题查找法律文本的用户。它结合预取法规文本与主题搜索,并在响应中标示数据来源时间。

主要功能

  1. 01按引文查询法规全文
  2. 02按主题搜索法规内容
  3. 03返回条文引文和标题
  4. 04标明数据获取时间

适用场景

  1. 01根据法规引文查阅条文
  2. 02按法律主题定位相关条款
  3. 03确认返回法规文本的数据时点

MCP 相关

向 MCP 客户端提供法规查询和主题搜索工具,可通过 Pipeworx 网关或本地 stdio 服务调用。

配置

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

服务地址https://gateway.pipeworx.io/illinois-code/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

按引文查询《伊利诺伊州汇编法典》,并支持主题搜索

无需密钥。720 ILCS 5/9-1 是一级谋杀罪。

属于 Pipeworx — 一个将 AI Agent 连接到 1881+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联、未经其认可,也未由其发布。

编码方式可推导

720 ILCS 5/9-1  ->  ?DocName=072000050K9-1
                             ^^^^chapter ^^^^act 0 K+section

章节和法案编号都补零至四位。该网站通过内部 ChapterID 和 ActID 导航,但这些都不需要 — 引文已包含全部信息。

实时路径为何先后两次被判定不可用

较早的探测使用了旧路径(fulltext.asp,网站重构后现已返回 404),以及一段在法规中并不存在的检索词。两个独立错误得出了相同的「未找到」,看起来像是「无法访问伊利诺伊州」,而不是「查询方式有误」。

覆盖范围(舰队编号 #2505)

出于另一个无法修复的原因,Cloudflare Worker 无法访问实时网站的 FullText 端点:ilga.gov 提供的 TLS 证书链不完整(只有其自身的叶证书,没有中间证书)。在操作系统信任存储中已有缺失的 Sectigo 中间证书的机器上,curl 可以成功;而 fetch() — 无论是 Cloudflare 还是普通 Node,都采用严格校验 — 都会直接失败(网关返回 HTTP 526;Node 则直接报 fetch failed)。重试无法修复证书链问题,因此在此版本发布前的整整 14 天里,illinois-code 每天都返回 upstream_down。

ILGA 针对 ilga.gov 自动化流量显示的「Access Denied」页面指出了解决办法:使用公开的、每晚同步的文件仓库 ftp.ilga.gov,该仓库明确供批量/自动化使用(「自动化系统应从仓库获取文件,而非抓取 ILGA.gov」)。scripts/ingest-il-statutes.mjs 会遍历该仓库 — 在 Workers 之外运行,此处 curl 仍可正常工作 — 并将每个 CHAPTER 写成一个 JSON 包(共 68 个对象,而不是 72,000 个 — 每个法案或每个条款都要付出相同的单次写入成本,没有理由为此付费),存入共享的 pipeworx-datasets R2 存储桶,路径为 statutes/il/<chapter>.json。

il_compiled_statute 会先尝试读取本地包。如果该章节/法案已抓取,但其中确实没有该条款,那么这就是权威结果 — 当前实时路径对所有引文都会失败,无论引文是否有效,因此没有必要重试 — 工具会直接返回 section_not_found。如果该章节/法案尚未抓取,则会回退到实时获取。

每个响应中的 data_as_of 都会说明数据来自预抓取文本(抓取任务的 ingested_at)还是实时获取(当前时间)。

主题搜索

il_statute_search 可回答仅凭引文查询无法解决的问题 — 例如「货币兑换许可证费用」、「隐蔽携枪互认」 — 它通过共享的 SEARCH_SHARD Durable Object 中的 FTS5 实现搜索(workers/gateway/src/search-shard.ts,分片名称为 il-statutes;复用现有绑定,而不是新增 Cloudflare 绑定 — 网关的文本绑定已达上限)。FTS 正文包含条款标题 + 全文,而不只是标题:DO 的无内容设计是为了避免在判例法 46 GB 的规模下重复存储判决文本;本语料库的规模并不适用这一考虑,而且主题查询词出现在条款正文中的可能性远高于出现在简短标题中的可能性。命中 ID 会通过 statutes/il/_index.json 解析为引文。搜索结果包含引文和标题;如需全文,请使用结果中的章节/法案/条款调用 il_compiled_statute。

未命中时的行为

实时回退:返回 200,但没有 Sec. 标题 — 按结构检测,与原始工具包的行为一致。 预抓取:章节/法案包存在,但 sections 数组中没有该条款。

刷新

node scripts/ingest-il-statutes.mjs — 定期重新运行(伊利诺伊州的立法会每年召开一次;这里无需每日更新)。目前未配置任何计划:可手动触发,或者在添加工作流后通过 gh workflow run 触发。自 ~2026-09-09 以来,GitHub 自带的 schedule: 触发器一直不可靠(参见 CLAUDE.md),因此周期性刷新应采用监控-调度模式,而不是单纯的 cron 触发器。

数据来源

伊利诺伊州议会(ftp.ilga.gov 公共文件仓库,以及用于实时回退的 ilga.gov)。伊利诺伊州法规属于公共记录;未发现对批量文件仓库的再使用限制。

快速开始

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

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

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

这是有意设计的,并非意外复用。元工具让限定范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 在整个目录中路由——而无需添加第二个 MCP 服务。目前无法挂载不含这些工具的工具包端点;如果额外的 schema 占用的上下文超过了路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。

或者连接完整的 Pipeworx 网关,直接列出每个工具包的工具,而不只是此工具包的工具:

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

两个 URL 都连接到同一个网关和相同的 1881+ 个数据源。唯一差别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。

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

curl -X POST https://gateway.pipeworx.io/v1/tools/il_compiled_statute \
  -H 'Content-Type: application/json' \
  -d '{"chapter":"720","act":"5","section":"9-1"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/il_compiled_statute。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。

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

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

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

也可以直接运行,确认服务能够启动:

npx -y @pipeworx/mcp-illinois-code

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

使用 ask_pipeworx

无需直接调用工具,你也可以用通俗英语提问——此功能既适用于上面的工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Illinois Code data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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