关于 legislens
legislens 是将请求转发至托管 API、查询美国各州法案和委员会听证记录的命令行工具及 stdio MCP 服务。它面向立法研究,支持搜索、查看法案详情、按发言者归属的证词以及听证会文字记录,覆盖各州和哥伦比亚特区。
主要功能
- 01按关键词和立法属性搜索法案
- 02按主题和发言者搜索证词
- 03获取法案详情及历史
- 04浏览听证会并获取标注发言者的文字记录
- 05列出州及可用数据类型
适用场景
- 01按州、提案人、委员会或状态查找法案
- 02按主题或发言者查找听证证词
- 03查看法案历史和听证会提及记录
- 04阅读标注发言者的听证会文字记录
MCP 相关
提供七种工具,用于搜索法案和听证会、查询法案详情、发言者活动、文字记录及州数据可用性。请求会转发至托管 API,并需要 `GAVELIN_API_KEY`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 否 | 与法案标题和正文匹配的关键词查询。 |
| state | string | 否 | 美国州筛选条件,例如两字母州代码。 |
| status | string | 否 | 法案状态筛选条件。 |
| chamber | string | 否 | 议院筛选条件,例如 house 或 senate。 |
| sponsor | string | 否 | 提案人姓名筛选条件。 |
| committee | string | 否 | 委员会名称筛选条件。 |
详细介绍
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_bills | query、state、sponsor、committee、status、chamber(均可选) | 按关键词、提案人、委员会、状态或议院搜索法案。 |
search_hearing_testimony | query(必填)、speaker、committee | 搜索注明发言者的证词片段。 |
get_bill_detail | bill_id(必填) | 法案完整详情,包括历史记录和听证会提及内容。 |
get_speaker_activity | speaker(必填) | 立法者或证人的所有发言内容。 |
search_committee_hearings | topic、committee、chamber、from_date、to_date(均可选) | 浏览委员会听证会。 |
get_hearing_transcript | hearing_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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。