关于 Congressmcp
Congressmcp 是面向 MCP 客户端和 AI Agent 的国会数据服务,可查询 Congress.gov 与 GovInfo 的立法及相关资料。它将多项 API 操作整合为少量工具,供本地运行的客户端以自然语言检索数据。
主要功能
- 01查询法案及全文
- 02检索投票、议员与委员会
- 03查看听证会和提名
- 04查询《国会记录》
适用场景
- 01追踪法案进展与文本
- 02查找国会议员和委员会信息
- 03研究投票、听证会及提名记录
MCP 相关
作为 MCP 服务向客户端提供国会数据查询工具,覆盖法案、投票、议员、委员会、听证会、提名和《国会记录》。可本地运行,并连接 Congress.gov 与 GovInfo API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CongressMCP
为任何 MCP 客户端提供实时美国国会数据 — Claude Code、ChatGPT、Copilot、Codex、Cursor、OpenCode、Gemini CLI、Grok Build 等。
法案、法案全文、投票、议员、委员会、听证会、提名和《国会记录》— 通过 Model Context Protocol 用自然语言查询。在你的机器上本地运行,对接免费的 Congress.gov 和 GovInfo API。无需账户、无需托管服务、无遥测。
快速开始
1. 获取免费的 Congress.gov API 密钥
在 api.congress.gov/sign-up 注册 — 只需 30 秒。同一个密钥也适用于 GovInfo(法案全文)。
2. 安装 uv
CongressMCP 已发布到 PyPI,通过 uvx 启动,uvx 随 uv 一起提供:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
(brew install uv、winget install astral-sh.uv 和 pipx install uv 也可以。)更偏好 pip?pip install congressmcp 会提供一个 congressmcp 命令,可在下文中替代 uvx congressmcp 使用。
3. 连接你的客户端
每个客户端都需要相同的三项信息:command uvx、args ["congressmcp"]、env CONGRESS_API_KEY。客户端大致按目前使用它们的专业开发者数量排列(JetBrains 开发者生态系统调查,2026 年中,然后是 Pragmatic Engineer 的 2026 年工具调查),所以你要找的那个很可能就在前面:
| 客户端 | 配置位置 | 备注 |
|---|---|---|
| Claude Code | claude mcp add … 或 .mcp.json | |
| ChatGPT | 开发者模式 → connector URL | 仅远程 — 需要 HTTP 模式 |
| VS Code / GitHub Copilot | .vscode/mcp.json | 使用 servers + inputs |
| OpenAI Codex CLI | codex mcp add … 或 ~/.codex/config.toml | TOML |
| Cursor | ~/.cursor/mcp.json 或 .cursor/mcp.json | |
| JetBrains AI Assistant / Junie | Settings → AI Assistant → MCP | 粘贴 Claude Desktop JSON |
| OpenCode | opencode.json → mcp | command 是单个数组 |
| Gemini CLI | gemini mcp add … 或 ~/.gemini/settings.json | |
| Claude.ai | Connectors → custom connector URL | 仅远程 — 需要 HTTP 模式 |
| Claude Desktop | claude_desktop_config.json | |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | |
| Zed | settings.json → context_servers | |
| Cline / Roo Code | MCP 设置面板 → 编辑 JSON | |
| Goose | goose configure 或 ~/.config/goose/config.yaml | YAML |
| Grok Build | grok mcp add … 或 ~/.grok/config.toml | TOML;也会自动导入 Claude Code / Cursor 配置 |
| Hermes Agent | hermes mcp add … 或 ~/.hermes/config.yaml | YAML |
| OpenClaw | openclaw mcp add … 或 ~/.openclaw/openclaw.json | JSON5 |
| Continue | ~/.continue/config.yaml | YAML,仅 agent 模式 |
| Open WebUI | Admin → Integrations → MCP server URL | 仅远程 — 需要 HTTP 模式 |
| LM Studio | Program 选项卡 → mcp.json | Cursor 风格 JSON |
任何未列出、但支持通过 stdio 通信 MCP 的工具,都可以使用相同的三个值。
Claude Code
# just for you
claude mcp add congressmcp --env CONGRESS_API_KEY=your-api-key-here -- uvx congressmcp
# shared with your team via .mcp.json in the repo root
claude mcp add --scope project congressmcp --env CONGRESS_API_KEY='${CONGRESS_API_KEY}' -- uvx congressmcp
如所示,把服务名称放在 --env 之前 — 如果 --env 在前,CLI 会尝试把名称解析为另一个 KEY=value 对。等价的 .mcp.json:
{
"mcpServers": {
"congressmcp": {
"type": "stdio",
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "${CONGRESS_API_KEY}" }
}
}
}
${VAR} / ${VAR:-default} 会从你的环境展开,因此密钥无需提交到版本库。
VS Code / GitHub Copilot
工作区:`.vscode/mcp.json`(或命令面板 → **MCP: Add Server** / **MCP: Open User Configuration** 用于用户级配置)。VS Code 使用 `servers` 而非 `mcpServers`,`inputs` 可让它提示输入密钥并安全存储,而不是写入磁盘:{
"inputs": [
{
"type": "promptString",
"id": "congress-api-key",
"description": "Congress.gov API key",
"password": true
}
],
"servers": {
"congressmcp": {
"type": "stdio",
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "${input:congress-api-key}" }
}
}
}
VS Code 在服务首次启动时会显示信任提示。
OpenAI Codex CLI
codex mcp add congressmcp --env CONGRESS_API_KEY=your-api-key-here -- uvx congressmcp
或在 ~/.codex/config.toml 中(Codex IDE 扩展和 ChatGPT 桌面应用也会读取该文件;项目级 .codex/config.toml 在受信任的项目中可用):
[mcp_servers.congressmcp]
command = "uvx"
args = ["congressmcp"]
env_vars = ["CONGRESS_API_KEY"] # forward from your shell — nothing secret in the file
若要改为内联密钥,请将 env_vars 行替换为包含 CONGRESS_API_KEY = "…" 的 [mcp_servers.congressmcp.env] 表。可用 codex mcp list 或在会话内使用 /mcp 进行检查。
Cursor
全局:~/.cursor/mcp.json。按项目:.cursor/mcp.json。
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "${env:CONGRESS_API_KEY}" }
}
}
}
${env:NAME} 从你的 shell 环境读取;直接使用密钥字符串也可以。
JetBrains AI Assistant / Junie
AI Assistant:设置 → Tools → AI Assistant → Model Context Protocol (MCP) → Add → As JSON,然后粘贴 Claude Desktop 配置块(还有一个 Import from Claude 按钮,可读取 claude_desktop_config.json)。
Junie:设置 → Tools → Junie → MCP Settings,它会编辑 ~/.junie/mcp/mcp.json(全局)或 .junie/mcp/mcp.json(项目)——同样是 mcpServers 结构。
OpenCode
全局 ~/.config/opencode/opencode.json 或项目根目录的 opencode.json / opencode.jsonc(项目配置覆盖全局)。OpenCode 将命令及其参数放在同一个数组中,并将环境变量映射称为 environment:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"congressmcp": {
"type": "local",
"command": ["uvx", "congressmcp"],
"environment": { "CONGRESS_API_KEY": "your-api-key-here" },
"enabled": true
}
}
}
没有 opencode mcp add;编辑文件后,用 opencode mcp list / opencode mcp debug congressmcp 检查。远程服务使用 "type": "remote", "url": "https://<host>/mcp"。
Gemini CLI
gemini mcp add -s user -e CONGRESS_API_KEY=your-api-key-here congressmcp uvx congressmcp
(-s user 使其成为全局配置;默认作用域为当前项目。)或在 ~/.gemini/settings.json / .gemini/settings.json 中:
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "$CONGRESS_API_KEY" }
}
}
}
Claude Desktop
Claude 菜单 → Settings… → Developer → Edit Config,或直接编辑文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "your-api-key-here" }
}
}
}
重启 Claude Desktop。如果服务未出现,请使用 uvx 的绝对路径(which uvx / where uvx)——GUI 应用并不总能继承你 shell 的 PATH。日志:~/Library/Logs/Claude/mcp*.log 或 %APPDATA%\Claude\logs。
Windsurf
Cascade 面板 → MCPs 图标 → 原始配置,或编辑 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "${env:CONGRESS_API_KEY}" }
}
}
}
Windsurf 将所有服务的工具总数上限设为 100;CongressMCP 注册了 24 个(每个打包了相关操作),因此完全能容纳。
Zed
设置 → AI → MCP Servers → Add Local Server,或编辑 settings.json(macOS ~/Library/Application Support/Zed/settings.json、Linux ~/.config/zed/settings.json、Windows %APPDATA%\Zed\settings.json;项目级 .zed/settings.json):
{
"context_servers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "your-api-key-here" }
}
}
}
Cline / Roo Code
Cline:MCP Servers 图标 → Configure → Configure MCP Servers(打开 cline_mcp_settings.json;Cline 命令行使用 ~/.cline/mcp.json)。
Roo Code:MCP Servers → Edit Global MCP,或按项目使用 .roo/mcp.json。
两者都使用 Claude Desktop 的结构,外加几个客户端专属字段:
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": { "CONGRESS_API_KEY": "your-api-key-here" },
"disabled": false,
"autoApprove": []
}
}
}
在 Windows 上,Roo 的文档建议包装该命令:"command": "cmd", "args": ["/c", "uvx", "congressmcp"]。
Goose
交互式:goose configure → Add Extension → Command-line Extension(命令 uvx congressmcp,然后在提示输入环境变量时添加 CONGRESS_API_KEY)。一次性:goose session --with-extension "CONGRESS_API_KEY=your-api-key-here uvx congressmcp"。或在 ~/.config/goose/config.yaml 中:
extensions:
congressmcp:
name: congressmcp
type: stdio
cmd: uvx
args: [congressmcp]
envs: { "CONGRESS_API_KEY": "your-api-key-here" }
enabled: true
timeout: 300
Grok Build
xAI 的终端编码 Agent。如果你已经为 Claude Code(~/.claude.json / .mcp.json)或 Cursor(.cursor/mcp.json)配置了 CongressMCP,Grok Build 会自动读取 — 无需再做其他操作。否则:
grok mcp add congressmcp -- uvx congressmcp # add --scope project for .grok/config.toml
然后在 ~/.grok/config.toml(或项目 .grok/config.toml)中设置密钥:
[mcp_servers.congressmcp]
command = "uvx"
args = ["congressmcp"]
env = { CONGRESS_API_KEY = "${CONGRESS_API_KEY}" }
用 grok mcp list / grok mcp doctor congressmcp 进行验证;会话中的 /mcps 可切换服务。工具显示为 congressmcp__<tool>。
Hermes Agent
Nous Research 的 Hermes Agent。~/.hermes/config.yaml:
mcp_servers:
congressmcp:
command: "uvx"
args: ["congressmcp"]
env:
CONGRESS_API_KEY: "${CONGRESS_API_KEY}" # or a literal key
enabled: true
或运行 hermes mcp add congressmcp --command uvx --args congressmcp,然后手动添加 env: 块。hermes mcp test congressmcp 检查连接;会话中的 /reload-mcp 无需重启即可重新加载。工具显示为 mcp__congressmcp__<tool>。
OpenClaw
openclaw mcp add congressmcp --command uvx --arg congressmcp --env CONGRESS_API_KEY=your-api-key-here
或在 ~/.openclaw/openclaw.json 中的 mcp.servers 下(JSON5,因此注释和尾随逗号均可):
{
mcp: {
servers: {
congressmcp: {
command: "uvx",
args: ["congressmcp"],
env: { CONGRESS_API_KEY: "your-api-key-here" },
},
},
},
}
用 openclaw mcp status / openclaw mcp probe congressmcp 进行验证。OpenClaw 不读取 mcporter 的注册表 — 请使用 mcp.servers。对于远程服务,使用 url 并显式指定 transport: "streamable-http"。
Continue
~/.continue/config.yaml,或在工作区 .continue/mcpServers/ 下为每个服务放置一个文件(Continue 也接受放入该文件夹的 Claude/Cursor 风格 JSON 文件)。MCP 工具在 agent 模式下可用。
mcpServers:
- name: congressmcp
type: stdio
command: uvx
args:
- congressmcp
env:
CONGRESS_API_KEY: ${{ secrets.CONGRESS_API_KEY }}
LM Studio
Program 标签页 → Install → Edit mcp.json。LM Studio 遵循 Cursor 的 mcp.json 格式,因此 Cursor 块可直接使用 — 请使用字面键字符串而非 ${env:…}。这使任何支持工具调用的本地模型都能访问国会数据。
远程客户端:ChatGPT、Claude.ai、Open WebUI
这些客户端无法启动本地进程;它们通过 URL 连接到 MCP 服务。以 HTTP 模式运行 CongressMCP,并将 URL 提供给它们:
- ChatGPT(Plus/Pro/Business/Enterprise/Edu,网页版):Settings → Security and login → Developer mode,然后使用你的服务 URL 添加连接器。需要公共 HTTPS 端点(或 Secure MCP Tunnel)。
- Claude.ai(网页版;同步到移动端):Customize → Connectors → Add custom connector(Team/Enterprise:Organization settings → Connectors)。必须可通过公共互联网访问。
- Open WebUI:Admin Settings → Integrations → + Add Server → MCP (Streamable HTTP)。仅支持 Streamable HTTP;可位于你的局域网内。
每种情况下的端点均为 https://<your-host>/mcp。上面的大多数本地客户端(OpenCode、Grok Build、Hermes、OpenClaw、Codex、Claude Code、Cursor、VS Code)也可以连接到该 URL,而非启动 uvx — 这对于在团队中共享一个安装非常有用。
“查找第 119 届国会中最近的气候变化法案” “海岸警卫队的破冰船资金在 FY2026 NDAA 的哪个部分?” “来自加利福尼亚州的参议员如何就最新的国防法案投票?” “参议院司法委员会的成员都有谁?” “H.R. 1234 的最新进展是什么?”
远程 / HTTP 模式
对于通过 URL 连接的客户端(ChatGPT、Claude.ai 连接器、Open WebUI,或多个用户共用一个安装),请通过 Streamable HTTP 运行服务:
CONGRESS_API_KEY=your-key congressmcp --transport streamable-http --host 0.0.0.0 --port 8000
# MCP endpoint: http://<host>:8000/mcp
CongressMCP 没有内置身份验证。 该服务设计为在你自己的机器上运行。如果你将其暴露在 localhost 之外,请把它置于具备身份验证的机制之后——带访问策略的反向代理、带允许列表的 HTTPS 隧道或 VPN——并记住,任何能够访问它的人都在消耗你的 Congress.gov 配额。ChatGPT 和 Claude.ai 还额外要求使用可公开解析的主机名上的 HTTPS。
工具
7 个工具集、90+ 个操作,覆盖 Congress.gov API,并可从 GovInfo 进行全文法案检索:
| 工具集 | 操作 | 功能 |
|---|---|---|
| 法案 | 15 | 搜索、详情、文本、行动、修正案、共同提案人、主题 |
| 法律 | 2 | 按国会查询已颁布的公法/私法(get_laws、get_law_details) |
| 修正案 | 7 | 搜索、详情、行动、提案人、文本 |
| 条约与摘要 | 5 | 条约搜索、行动、委员会、文本;法案摘要 |
| 议员与委员会 | 13 | 按姓名/州/选区搜索议员、其发起的立法、委员会法案/报告/通信 |
| 投票与提名 | 13 | 众议院/参议院投票、提名、点名表决 |
| 记录与听证会 | 10+ | 国会记录、听证会、CRS 报告、委员会出版物 |
search_committees 和 search_summaries 接受一个可选的 keywords 参数——
省略它以浏览/列出(委员会还可按 chamber/committee_type 过滤)。
全文法案文本搜索
变化之处: CongressMCP 不再代理 API 响应,而是从 GovInfo 获取完整的 Bill DTD XML,在本地解析,为每个法案版本构建分段级 SQLite FTS5 索引,并返回有针对性的、可寻址的法案章节,而不是原始的多兆字节 XML 或整个渲染后的法案页面。索引会持久化到磁盘,并在多次调用和重启之间复用。
| 工具 | 功能 |
|---|---|
search_bill_text | 搜索法案全文,返回带片段、match_contexts 和修正标志的排序后可寻址分块 |
get_bill_section | 检索限定的章节或分块 id,max_bytes 按返回的 text 字段的 UTF-8 字节数计算 |
get_bill_toc | 返回用于查找章节 id 的浅层导航树 |
无需新的 API 密钥。 GovInfo 和 Congress.gov 都位于 api.data.gov 之后,因此 CongressMCP 对二者复用你现有的 CONGRESS_API_KEY;仅当你想要单独的 GovInfo 密钥时才设置 GOVINFO_API_KEY。(人们以为需要第二个密钥。其实不需要。)
数据存储位置。 每个法案版本一个 SQLite 文件(<package_id>.v<N>.db,例如 BILLS-119s1071enr.v1.db),位于缓存根目录下的 packages/ 中,另有一个小的 manifest.db 索引。缓存根目录为 CONGRESSMCP_CACHE_DIR(如果已设置),否则为平台默认值:
| 平台 | 路径 |
|---|---|
| Linux | $XDG_CACHE_HOME/congressmcp,否则 ~/.cache/congressmcp |
| macOS | ~/Library/Caches/congressmcp |
| Windows | %LOCALAPPDATA%\congressmcp\Cache |
占用多少磁盘。 默认上限为 500 MB(CONGRESSMCP_CACHE_MAX_BYTES,字节),在每次索引写入后通过最近最少使用淘汰来强制执行。一个 NDAA 规模的已登记法案(S.1071/119,1,448 个已索引单元)会构建一个 11 MB 的索引;大多数法案要小得多。可从命令行检查或清空缓存——它刻意不作为 MCP 工具:
congressmcp cache info # path, cap, total bytes, one line per package
congressmcp cache clear --yes # remove every package file and the manifest
随时手动删除缓存目录也是安全的;这些文件是缓存,不是存储。
首次调用延迟 — 实测,而非估算。 在 S.1071/119 上的冷启动(无任何缓存):各次运行端到端为 4.1–6.8 s,其中 congress.gov 版本解析 + GovInfo 包摘要耗时 3.0–3.4 s,XML 下载 1.1–2.3 s,解析 0.75 s,FTS5 构建 0.31 s — 网络环节是缓慢且可变的部分,也正是缓存所消除的部分。热启动(索引和版本解析均已缓存):30–60 ms,无网络。每个响应都带有 timing 块(resolve_ms、download_ms、parse_ms、index_ms、search_ms、total_ms;某个环节未运行时为 null)和 cache 块(index_hit、version_hit),因此你可以看到自己遇到的是哪种情况。客户端超时影响: 将你的 MCP 客户端的每次调用超时设置为至少 30 s;在网络缓慢的情况下,一次 NDAA 规模的冷启动调用可能超过 10 s 的默认值,而部分工作不会丢失 — 下一次调用就是热启动。
离线行为。 你显式获取过的版本(version="enr")只要仍在缓存中,就可以完全离线查询;显式缓存的版本仅每隔 CONGRESSMCP_REVALIDATE_DAYS(30)天与 GovInfo 的 lastModified 重新核对一次,并在包被重新发布时重建。省略 version 时,“最新版本”的答案会缓存 CONGRESSMCP_VERSION_TTL(86400 s = 1 天;version_resolution: "cached");超过 TTL 后会重新解析,如果网络不可用,则尽力而为地返回上一次的答案,并标记为 version_resolution: "cached_offline",同时附上解析时间戳和一条可能存在更新版本的说明。如果没有任何缓存且网络中断,你会得到 version_resolution_unavailable,其中列出该法案已缓存的所有版本,以便你固定其中一个。
网络出口。 恰好两个主机:api.congress.gov(法案和文本版本元数据)和 api.govinfo.gov(法案内容)。两者都根据 api.data.gov 独立限流(20,000/h 和 36,000/h),因此索引不会饿死其他工具。
将 CONGRESSMCP_CACHE_ENABLED=false 会关闭这一切:每次调用都会在内存中重新下载、重新解析并重新索引整个文档 — 每次都产生 NDAA 规模的延迟。它用于诊断,而非日常使用。
搜索响应会区分 operative、quoted 和 header 片段中的匹配。如果 quoted 出现在 match_contexts 中,即使 operative 也出现,该命中也可能包含法案正在删除的措辞;在就删除并插入式措辞下结论之前,先检索相关章节。
每个命中还带有 matched_queries — 即产生该命中的查询子集。在推理检索行为之前先阅读它:在多查询调用中,它把每个命中归因到其来源查询,因此意外结果由该字段解释,而不是靠猜测分词器内部实现。
amends 仅解析《美国法典》引用(长格式 Section {sec} of title {title}, United States Code 以及当后面跟修正动词时的简写形式 {title} U.S.C. {sec})。它不解析具名法案,包括仅以裸条号引用的《国内税收法典》— 因此大多数 Title VII 税收单元会报告 is_amendatory: true 且 amends: []。使用 is_amendatory 和 match_contexts 来识别修正性文本;amends 只是一种便利,并不保证完整性。
从源码运行
git clone https://github.com/amurshak/congressMCP
cd congressMCP
pip install -e .
# stdio (default — for MCP clients)
CONGRESS_API_KEY=your-key congressmcp
# HTTP (for self-hosting / remote access)
CONGRESS_API_KEY=your-key congressmcp --transport streamable-http --port 8000
要让客户端指向源码检出目录,请在 uvx 的位置使用 "command": "congressmcp"(并激活 venv 或将其 bin/ 加入 PATH)或 "command": "/path/to/venv/bin/congressmcp"。
配置
| 变量 | 必填 | 默认值 | 描述 |
|---|---|---|---|
CONGRESS_API_KEY | 是 | — | 你的免费 Congress.gov API 密钥 |
GOVINFO_API_KEY | 否 | — | 可选的 GovInfo 覆盖密钥;否则复用 CONGRESS_API_KEY |
ENABLE_CACHING | 否 | false | 在内存中缓存 API 响应 |
CACHE_TIMEOUT | 否 | 300 | 缓存 TTL(秒) |
LOG_LEVEL | 否 | WARNING | stderr 上的日志详细程度(DEBUG、INFO、WARNING、ERROR) |
CONGRESS_API_ENV | 否 | local | 设置为 development/staging/production 以加载匹配的 .env.* 文件;不设置则仅加载普通的 .env。文件永远不会覆盖已导出的变量 |
CONGRESSMCP_BILL_TEXT_ONLY | 否 | 未设置 | 若为真值,则仅注册三个法案文本工具(独立法案文本服务) |
CONGRESSMCP_TRACE_DIR | 否 | 未设置 | 若设置为一个目录,则每次法案文本工具调用写入一条密钥已脱敏的 JSONL 记录(调试用) |
CONGRESSMCP_CACHE_DIR | 否 | 平台缓存路径(参见 完整法案文本搜索) | 法案文本包缓存根目录 |
CONGRESSMCP_CACHE_MAX_BYTES | 否 | 524288000 | 法案文本缓存上限(500 MB);每次写入索引后执行 LRU 淘汰 |
CONGRESSMCP_CACHE_ENABLED | 否 | true | 设为 false 会禁用持久缓存:每次调用都会重新获取并重新解析完整文档 |
CONGRESSMCP_VERSION_TTL | 否 | 86400 | 省略 version 的“最新版本”答案被复用的秒数,期间不会向 congress.gov 发起查询 |
CONGRESSMCP_REVALIDATE_DAYS | 否 | 30 | 显式缓存的版本在多少天后需对照 GovInfo 的 lastModified 重新检查 |
缓存 CLI(缓存通过命令行管理,绝不通过 MCP 工具操作):
congressmcp cache info # exit 0
congressmcp cache clear --yes # exit 0; without --yes in a non-interactive shell it refuses with exit 1
故障排查
- GUI 客户端(Claude Desktop、Zed、LM Studio、JetBrains)中出现“command not found: uvx”:使用
which uvx(macOS/Linux)或where uvx(Windows)得到的绝对路径作为command。 - Windows:如果客户端无法直接启动
uvx,请使用"command": "cmd", "args": ["/c", "uvx", "congressmcp"]。 - 首次启动较慢:
uvx会在首次运行时下载并缓存包;后续启动很快。如需可复现性,可用uvx [email protected]固定版本。 - API 返回 401 / 403:密钥缺失或错误。用
curl "https://api.congress.gov/v3/bill?api_key=YOUR_KEY&limit=1"确认其可用。 - 客户端中缺少工具:大多数客户端在编辑配置后需要重启或显式重新加载 MCP。
贡献
完整流程参见 CONTRIBUTING.md:fork、分支、代码风格、提交约定,以及如何提交 pull request。
许可证
Sustainable Use License
为政府透明度和可访问的公民数据而构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。