LegiScan MCP Server 是一个 Model Context Protocol(MCP)服务器,让终端智能体以结构化方式访问 LegiScan API,获取美国 50 个州及国会的立法数据,适合需要快速收集法案历史、提案背景与投票记录的研究工作流。
主要能力:提供 10 个精简的 MCP 工具,面向立法研究优化;包含复合工具,可将多步检索流程压缩为单次工具调用;支持按请求批处理和查询缓存,减少重复的法案与点名投票查询;提供完整的 TypeScript 类型定义;支持法案编号格式归一化(如 AB 858、AB858、AB-858);对州代码、议员姓名查询和大批法案进行输入校验。
使用方式:先从 LegiScan 官网注册免费账户并申请 API 密钥。通过 npm 安装后,将服务器加入支持 MCP 的智能体所在客户端的 MCP 配置中,例如在 Claude Desktop 的 claude_desktop_config.json(macOS 位于 ~/Library/Application Support/Claude/,Windows 位于 %APPDATA%\Claude\)添加 mcpServers.legiscan 条目;其他 MCP 客户端(Codex CLI、Claude Code 等)使用各自的 MCP 配置文件添加相同条目。
推荐工具序列:先用 legiscan_get_session_list 确定会期,再用 legiscan_search 或 legiscan_find_bill_by_number 定位目标法案,随后用 legiscan_get_bill 获取提案人与历史及投票引用,用 legiscan_get_roll_call 获取单次投票详情,仅在需要补充议员资料时调用 legiscan_get_person。复合工具如 legiscan_find_legislator(由姓名获取 people_id)、legiscan_get_primary_authored(区分主提案与联署)和 legiscan_get_legislator_votes(一次请求跨多个法案获取投票立场)可显著减少往返调用。
限制与注意事项:免费的公开 API 密钥每月限 30,000 次查询;复合工具每次调用会限制 API 查询数量,legiscan_get_legislator_votes 每个请求最多接收 100 个 bill_ids,超量需分批;需检查返回的 roll_call_coverage,若存在 next_offset 表示还有更早的投票记录,需带该偏移再次调用;州代码为两个字母并自动转大写,无效代码本地校验可能通过但 API 会报错;建议在提示中固定州和会期,并要求中间输出展示 bill_id、roll_call_id、people_id 以便审计追溯;议员姓名查询至少输入 2 个字符。仓库另提供 npm test、npm run test:e2e、npm run test:live 等测试命令,实时测试需要 LEGISCAAN_API_KEY 环境变量(原文如此拼写),以 MIT 许可证发布。