Congress.gov MCP服务器
一个模型上下文协议(MCP)服务器,提供对官方的全面访问 国会.gov API(v3).内置 FastMCP. 有一篇关于这是如何制作的文章 这里.
特性
- 85工具 涵盖所有Congress.gov API终点
- 8资源 用于参考数据和直接访问
- 完全异步支持高效并发请求
- 大型结果集的自动分页
- 带Pydantic验证的类型安全参数
- 全面的错误处理
数据可用
- 法案和决议:HR、S、HJRES、SJRES、HCONRES、SCONRES、HRES、SRES
- 法律:公法和私法
- 修正案:众议院和参议院修正案
- 成员:现任和历史国会议员
- 委员会:委员会成员、报告、印刷品和会议
- 听证:国会听证会记录
- 提名:参议院总统提名
- 条约:条约信息和现状
- 国会记录:每日版和装订版
- CRS报告:国会研究服务报告
- 点名投票:众议院投票记录
安装
# Clone the repository
git clone https://github.com/yourusername/congress-mcp.git
cd congress-mcp
# Install with pip
pip install -e .
# Or install with development dependencies
pip install -e ".[dev]"配置
API密钥
在获取免费API密钥 api.congress.gov/注册.
将其设置为环境变量:
export CONGRESS_API_KEY=your_api_key_here或者创建一个 .env 文件:
cp .env.example .env
# Edit .env with your API key可选设置
# API base URL (default: https://api.congress.gov/v3)
export CONGRESS_API_BASE_URL=https://api.congress.gov/v3
# Default pagination limit (default: 20)
export CONGRESS_DEFAULT_LIMIT=20
# Maximum pagination limit (default: 250)
export CONGRESS_MAX_LIMIT=250
# Request timeout in seconds (default: 30)
export CONGRESS_TIMEOUT=30.0用法
Claude代码配置
托管服务器(推荐):
claude mcp add --scope local --transport http congress-mcp-an https://congress-mcp-an.fastmcp.app/mcp本地安装:
claude mcp add congress-mcp --env CONGRESS_API_KEY=your_api_key光标配置
添加到光标MCP设置中:
{
"congress-mcp-an": {
"url": "https://congress-mcp-an.fastmcp.app/mcp"
}
}Codex配置
codex mcp add --url https://congress-mcp-an.fastmcp.app/mcp congress-mcp-an运行服务器
# Using the installed command
congress-mcp
# Or using FastMCP directly
fastmcp run src/congress_mcp/server.py查询示例
账单
# List recent bills from the 118th Congress
list_bills(congress=118, limit=10)
# Get a specific bill
get_bill(congress=118, bill_type="hr", bill_number=1)
# Get bill cosponsors
get_bill_cosponsors(congress=118, bill_type="hr", bill_number=1)
# Get bill text versions
get_bill_text(congress=118, bill_type="s", bill_number=1234)成员
# List current members
list_members(current_member=True, limit=50)
# Get member by bioguide ID
get_member(bioguide_id="P000197")
# Get legislation sponsored by a member
get_member_sponsored_legislation(bioguide_id="P000197")
# List members from California
list_members_by_state(state="CA", current_member=True)委员会
# List all committees
list_committees()
# Get House Judiciary Committee
get_committee(chamber="house", committee_code="hsju00")
# Get committee's bills
get_committee_bills(chamber="house", committee_code="hsju00")提名
# List nominations in 118th Congress
list_nominations(congress=118)
# Get nomination details
get_nomination(congress=118, nomination_number=1064)
# Get nomination hearings
get_nomination_hearings(congress=118, nomination_number=1064)条约
# List treaties
list_treaties(congress=118)
# Get treaty details
get_treaty(congress=118, treaty_number=3)摘要
# Search bill summaries by keyword (handles pagination internally)
search_summaries(congress=118, query="artificial intelligence", bill_type="hr",
from_date="2024-01-01", to_date="2024-12-31", max_matches=10)
# List recent summaries
list_summaries(limit=10)
# List summaries for a specific Congress
list_summaries_by_congress(congress=118, from_date="2024-01-01", to_date="2024-12-31")投票
# List House votes
list_house_votes(congress=118, session=1)
# Get specific vote
get_house_vote(congress=118, session=1, roll_call_number=100)
# Get how members voted
get_house_vote_members(congress=118, session=1, roll_call_number=100)资源
直接访问参考数据:
# API information
congress://api/info
# Bill type codes
congress://enums/bill-types
# Congress number reference
congress://reference/congress-numbers
# Direct bill access
congress://bill/118/hr/1
# Direct member access
congress://member/P000197速率限制
Congress.gov API允许 每小时5000个请求 根据API密钥。服务器不实现缓存,因此相应地计划高容量使用。
发展
运行测试
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=congress_mcp代码质量
# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy src/API 参考
国会编号
| 国会 | 年份 | 笔记 |
|---|---|---|
| 第119届 | 2025-2027 | 当前 |
| 第118届 | 2023-2025年 | |
| 第117届 | 2021-2023 | |
| 第116届 | 2019-2021 |
账单类型
| 代码 | 名称 | 描述 |
|---|---|---|
| hr | 众议院法案 | 众议院的一般立法 |
| s | 参议院法案 | 参议院的一般立法 |
| hjres | 众议院联合决议 | 宪法修正案,持续决议 |
| sjres | 参议院联合决议 | 宪法修正案,持续决议 |
| hconres | 众议院并行决议 | 国会情绪,没有法律效力 |
| sconres | 参议院并行决议 | 国会情绪,没有法律效力 |
| hres | 众议院简单决议 | 众议院只重要 |
| sres | 参议院简单决议 | 参议院事务 |
修改类型
| 代码 | 描述 |
|---|---|
| 众议院修正案 | |
| 参议院修正案 | |
| suamdt | 参议院未印刷的修正案 |
许可证
Apache许可证2.0-请参阅 许可证 了解详情。
