mcpField
L
legislens

legislens

本地服务
github.com/CloudCorpRecords法律与政务01 周前更新

关于 legislens

legislens 是将请求转发至托管 API、查询美国各州法案和委员会听证记录的命令行工具及 stdio MCP 服务。它面向立法研究,支持搜索、查看法案详情、按发言者归属的证词以及听证会文字记录,覆盖各州和哥伦比亚特区。

主要功能

  1. 01按关键词和立法属性搜索法案
  2. 02按主题和发言者搜索证词
  3. 03获取法案详情及历史
  4. 04浏览听证会并获取标注发言者的文字记录
  5. 05列出州及可用数据类型

适用场景

  1. 01按州、提案人、委员会或状态查找法案
  2. 02按主题或发言者查找听证证词
  3. 03查看法案历史和听证会提及记录
  4. 04阅读标注发言者的听证会文字记录

MCP 相关

提供七种工具,用于搜索法案和听证会、查询法案详情、发言者活动、文字记录及州数据可用性。请求会转发至托管 API,并需要 `GAVELIN_API_KEY`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-legislens": {
"command": "npx",
"args": [
"-y",
"@reneturcios/legislens"
]
}
}
}
启动命令npx -y @reneturcios/legislens

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/legislens0.1.0
ocighcr.io/cloudcorprecords/legislens:0.1.0

工具

7

收录的工具列表 · 更新于 1 周前

参数类型必填说明
querystring否与法案标题和正文匹配的关键词查询。
statestring否美国州筛选条件,例如两字母州代码。
statusstring否法案状态筛选条件。
chamberstring否议院筛选条件,例如 house 或 senate。
sponsorstring否提案人姓名筛选条件。
committeestring否委员会名称筛选条件。

详细介绍

legislens

legislens 为您打开了解美国各州立法进程的窗口:涵盖全部 50 个州和 DC 议会中正在推进的法案,以及委员会听证会上实际发表的相关言论,并注明发言者。一个二进制文件同时提供命令行界面和 stdio MCP 服务。

legislens 本身不保存档案,而是一个转发客户端,连接托管 API:每个请求都会发送到该服务,并返回其响应。法案、证词片段、文字记录和覆盖范围均由托管服务提供;如果该服务不可用或其覆盖范围发生变化,legislens 也会相应反映。

使用时需要 API 密钥。使用前请设置 GAVELIN_API_KEY;如果该变量缺失或为空,所有工具都会报错并指出该变量,且不会发送任何请求。密钥通过 Authorization: Bearer <key> 发送。可通过 LEGISLENS_API_URL 覆盖 API 基础 URL;未设置时,请求将发送到 https://api.gavelin.ai(这是重建出的网络地址,并已标注为此类地址)。

安装

npx @reneturcios/legislens list_available_states

也可以运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/legislens

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

子命令与 MCP 工具名称一致:

export GAVELIN_API_KEY=<your key>

legislens search_bills --query housing --state CA --status passed
legislens search_bills --sponsor Lee --committee Housing --chamber assembly
legislens search_hearing_testimony --query "rent control" --speaker Lee
legislens get_bill_detail --bill-id CA-AB1
legislens get_speaker_activity --speaker "Jane Lee"
legislens search_committee_hearings --topic housing --from-date 2026-01-01 --to-date 2026-02-01
legislens get_hearing_transcript --hearing-id h-9
legislens list_available_states

legislens --version

结果会打印上游 JSON 负载。退出代码:成功时为 0,调用失败时为 1(包括缺少密钥或上游 API 错误),用法错误时为 2。

MCP 服务

一个二进制文件同时提供两种接口。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/legislens mcp

MCP 客户端配置:

{
  "mcpServers": {
    "legislens": {
      "command": "npx",
      "args": ["-y", "@reneturcios/legislens", "mcp"],
      "env": { "GAVELIN_API_KEY": "..." }
    }
  }
}
工具
工具输入功能
search_billsquery、state、sponsor、committee、status、chamber(均可选)按关键词、提案人、委员会、状态或议院搜索法案。
search_hearing_testimonyquery(必填)、speaker、committee搜索注明发言者的证词片段。
get_bill_detailbill_id(必填)法案完整详情,包括历史记录和听证会提及内容。
get_speaker_activityspeaker(必填)立法者或证人的所有发言内容。
search_committee_hearingstopic、committee、chamber、from_date、to_date(均可选)浏览委员会听证会。
get_hearing_transcripthearing_id(必填)完整听证会文字记录,并标注发言者。
list_available_states(无)有数据的州,以及各州可用的数据类型。

日期使用 YYYY-MM-DD 格式,通过 from_date / to_date 指定。所有输入均为字符串。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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