Token导航 LogoToken导航

MCP Server · 搜索检索

Fed Doc MCP

FedDocMCP是一个基于模型上下文协议(MCP)的服务器,提供对美国国会法案、联邦注册法规和GovInfo.gov文档集合的实时搜索、检索和分析功能。

stdio官方级别未说明来源级核验工具 10
PythonAI扩展搜索

快速开始

作者 / 组织
n8daniels
提供方
n8daniels
运行时
Python

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Fed Doc MCP 属于搜索检索类 MCP Server,公开资料标注 10 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

FedDocMCP

一种模型上下文协议(MCP)服务器,为最终用户提供从Congress.gov、《联邦公报》法规和GovInfo.gov文档集合直接访问国会法案数据的权限。

概述

FedDocMCP使最终用户能够通过任何兼容MCP的客户端实时搜索、检索和分析美国国会法案、《联邦公报》规定、法院意见、国会听证会和39+其他政府文件集。该服务器基于模型上下文协议构建,提供了一个标准化的接口,用于访问官方政府API,包括Congress.gov、FederalRegister.gov和GovInfo.gov。

什么是MCP?

模型上下文协议(MCP)是一个开放标准,使AI应用程序能够安全地连接到外部数据源和工具。MCP服务器展示了AI助手可以用来扩展其训练数据之外的功能的能力。

关键概念:

  • 服务器:提供工具和资源(本项目)
  • 客户端:使用服务器的MCP兼容应用程序(例如,桌面客户端、IDE、AI助手)
  • 运输:通信层(stdio供本地使用)
  • 工具:客户端可以调用的功能(搜索账单、获取账单文本等)

了解更多: 模型上下文协议规范

特性

国会法案(Congress.gov)

  • 搜索账单:按关键字、国会会议或法案类型查找立法
  • 获取账单文本:检索多种格式的账单全文
  • 跟踪账单状态:跟踪法案在立法过程中的进展

《联邦公报》条例

  • 搜索规则:查找规则、拟议规则、通知和总统文件
  • 获取法规详细信息:检索带有CFR参考的《联邦公报》文件的全部详细信息
  • 公众检查:已提交但尚未公布的访问文件

政府文件(GovInfo.gov)

  • 列出收藏:浏览39多个可用文档集
  • 搜索收藏:在国会记录、听证会、法院意见、预算文件等中查找文件
  • 获取包裹详细信息:检索任何政府文件的完整元数据和下载链接

核心能力

  • 实时数据:直接访问官方政府API
  • 隐私第一:没有数据存储,所有查询都是实时发生的
  • 类型安全:使用Pydantic构建,用于强大的数据验证
  • 日期筛选:按会计年度或自定义日期范围筛选
  • 自由:所有使用的API都是免费的(Congress.gov和GovInfo需要免费的API密钥,Federal Register不需要)

快速开始

先决条件

安装

  1. 克隆仓库
   git clone https://github.com/n8daniels/FedDocMCP.git
   cd FedDocMCP
  1. 设置Python环境
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   pip install -r requirements.txt
  1. 配置API密钥
   cp .env.example .env
   # Edit .env and add your Congress.gov API key
  1. 测试服务器
   python src/server.py

MCP客户端配置

要将FedDocMCP与MCP兼容的客户端一起使用,请将其添加到客户端的配置文件中。

配置示例 (根据您的特定MCP客户进行调整):

{
  "mcpServers": {
    "feddocmcp": {
      "command": "python",
      "args": ["/absolute/path/to/FedDocMCP/src/server.py"],
      "env": {
        "CONGRESS_API_KEY": "your-api-key-here"
      }
    }
  }
}

笔记:

  • 替换 /absolute/path/to/FedDocMCP/src/server.py 使用系统上的实际路径
  • 将您的Congress.gov API密钥添加到 CONGRESS_API_KEY 领域
  • 更新配置后重新启动MCP客户端
  • 看 examples/mcp_client_config.json 供参考

可用工具

1.搜索_账单

按关键字、国会会议或类型搜索国会法案。

参数:

  • query (必填):搜索关键字或短语
  • congress:国会编号(例如,118代表第118届国会)
  • bill_type:账单类型(hr、s、hjres、sjres等)
  • limit:最大结果(1-100,默认值:20)

例子:

Search for bills about "climate change" in the 118th Congress

2.get_bill_text

检索特定账单的全文。

参数:

  • congress (必填):国会编号
  • bill_type (必填):票据类型
  • bill_number (必填):账单编号
  • format:文本格式(json、xml、pdf)

例子:

Get the text of H.R. 1 from the 118th Congress

3.获取账单状态

跟踪法案在立法过程中的进展。

参数:

  • congress (必填):国会编号
  • bill_type (必填):票据类型
  • bill_number (必填):账单编号

例子:

What's the status of S. 234 from the 118th Congress?

4.搜索规则

在《联邦公报》上搜索法规、规则、通知和总统文件。

参数:

  • query (必填):搜索关键字或短语
  • document_type:文档类型(规则、规则、通知、预文档)
  • agency:按机构筛选(例如“EPA”、“FDA”)
  • limit:最大结果(1-100,默认值:20)
  • fiscal_year:按会计年度筛选
  • start_date / end_date:按自定义日期范围筛选

例子:

Search for EPA environmental regulations from fiscal year 2024

5.获取_法规_详细信息

检索特定《联邦公报》文件的完整详细信息。

参数:

  • document_number (必填):联邦公报文件编号(例如“2024-12345”)

例子:

Get details for Federal Register document 2024-12345

6.获取公共检查文件

已向《联邦公报》提交但尚未公布的访问文件。

参数:

  • agency:按机构筛选(可选)
  • special_filing:仅显示特殊文件(可选)

例子:

Show me EPA documents on public inspection

7.列表_绵羊_收藏

列出所有可用的GovInfo.gov文档集合。

参数:

  • 无需

例子:

What collections are available on GovInfo?
Show me all government document types

退货:

  • 39多个集合的列表,包括国会法案、联邦公报、CFR、法院意见、国会记录、预算文件等

8.搜索_收藏

按日期范围搜索特定GovInfo集合中的文档。

参数:

  • collection_code (必填):收款代码(例如“BILLS”、“FR”、“CHRG”、“CREC”)
  • start_date:ISO格式的开始日期(YYYY-MM-DD)
  • end_date:ISO格式的结束日期(YYYY-MM-DD)
  • limit:最大结果(1-100,默认值:20)

例子:

Search Congressional Record for documents from January 2024
Find all Congressional hearings from last month
Get Public Laws from fiscal year 2024

9.获取_绵羊_包装

获取特定GovInfo文档包的详细信息。

参数:

  • package_id (必填):包装标识符(例如“BILLS-118hr1”、“FR-2024-12345”)

例子:

Get details for package BILLS-118hr1
Show me Congressional hearing CHRG-118shrg52367

10.获取服务器健康

监控服务器性能和运行状况指标。

参数:

  • 无需

例子:

Check server health
Show me performance metrics

退货:

  • 总体健康状况(✅ 健康,⚠️ 警告,或❌ 错误)
  • 缓存命中率和统计数据
  • 平均响应时间
  • API的API调用统计
  • 工具使用明细
  • 错误计数和错误率

API密钥设置

Congress.gov API(票据工具要求)

  1. 访问 国会.gov API注册
  2. 用你的电子邮件填写表格
  3. 查看您的电子邮件以获取API密钥
  4. 将其添加到您的 .env 文件或MCP客户端配置

费率限制:

  • 每个API密钥每小时5000个请求
  • FedDocMCP包括自动速率限制和重试逻辑

联邦公报API(无需密钥)

《联邦公报》的工具确实 非 需要API密钥-它们开箱即用!

GovInfo.gov API(GovInfo工具可选)

  1. 访问 api.data.gov注册
  2. 输入您的电子邮件地址
  3. 查看您的电子邮件以获取API密钥
  4. 添加 GOVINFO_API_KEY 你的 .env 文件或MCP客户端配置

费率限制:

  • 每小时1000个请求(默认免费级别)
  • FedDocMCP包括自动速率限制和重试逻辑

注: 没有API密钥,GovInfo工具将无法工作。如果您不需要访问国会记录、听证会、法院意见或其他GovInfo集合,可以跳过此步骤。

看 docs/API_KEYS.md文件 详细说明。

使用示例

示例1:研究最新立法

“搜索第118届国会提出的关于人工智能的法案”

示例2:阅读具体法案

“给我看第118届国会H.R.1的全文”

示例3:跟踪进度

“《基础设施投资和就业法案》的现状如何?”

示例4:按会计年度搜索

“查找2024财年引入的所有气候变化法案”

联邦财政年度为10月1日至9月30日。2024财年=2023年10月1日至2024年9月30日。

示例5:使用日期范围搜索

“搜索2023年1月1日至2023年6月30日期间推出的基础设施法案”

示例6:比较账单

“搜索所有关于学生贷款的账单,并总结它们的主要区别”

示例7:搜索联邦法规

“查找2024财年美国环保署关于清洁水的规定”

示例8:跟踪拟议规则

“向我展示美国食品药品监督管理局提出的规则”

示例9:监督公众检查

“交通部目前正在公开检查哪些文件?”

发展

看 docs/DEVELOPMENT.md 用于开发设置和指南。

运行测试

# Install dev dependencies
pip install -r requirements-dev.txt

# Run tests
pytest

# Run with coverage
pytest --cov=src --cov-report=html

代码质量

# Format code
black src/ tests/

# Lint
flake8 src/ tests/

# Type check
mypy src/

日志记录配置

FedDocMCP包括用于调试和监控的结构化JSON日志。

环境变量:

  • LOG_LEVEL:设置日志详细程度(调试、信息、警告、错误、关键)-默认值:信息
  • LOG_FORMAT:选择输出格式(json、text)-默认:json
  • LOG_FILE:日志输出的可选文件路径-默认值:仅stderr

示例:

# Debug mode with text formatting
LOG_LEVEL=DEBUG LOG_FORMAT=text python src/server.py

# Production logging to file
LOG_LEVEL=INFO LOG_FILE=/var/log/feddocmcp.log python src/server.py

JSON日志格式:

{
  "timestamp": "2024-01-15T10:30:45.123456Z",
  "level": "INFO",
  "logger": "src.tools.bills",
  "message": "Tool call completed: search_bills",
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "tool": "search_bills",
  "duration_ms": 234.5,
  "status": "success",
  "cached": "miss",
  "source": {
    "file": "/path/to/monitoring.py",
    "line": 245,
    "function": "wrapper"
  }
}

特征:

  • 请求ID跟踪:每个工具调用都会获得一个唯一的请求ID,用于跨日志进行关联
  • 结构化字段:一致的JSON格式,便于解析和分析
  • 性能指标:所有工具调用的自动持续时间跟踪
  • 错误上下文:带有堆栈跟踪的详细异常信息
  • 自定义上下文:使用 extra 参数

看 src/utils/logging.py 了解实现细节和高级用法。

项目结构

FedDocMCP/
├── src/
│   ├── __init__.py
│   ├── server.py                    # Main MCP server
│   ├── config.py                    # Configuration management
│   ├── monitoring.py                # Performance monitoring
│   ├── tools/                       # Tool implementations
│   │   ├── __init__.py
│   │   ├── bills.py                 # Congressional bill tools
│   │   ├── federal_register.py     # Federal Register tools
│   │   └── system.py                # System health tools
│   ├── clients/                     # API clients
│   │   ├── __init__.py
│   │   ├── congress_api.py          # Congress.gov API client
│   │   └── federal_register_api.py  # Federal Register API client
│   └── utils/                       # Shared utilities
│       ├── __init__.py
│       ├── cache.py                 # Enhanced cache with metadata
│       ├── dates.py                 # Date parsing and validation
│       ├── logging.py               # Structured JSON logging
│       └── validation.py            # Input validation with hints
├── tests/                           # Test suite (216 tests, 82% coverage)
├── docs/                            # Documentation
├── examples/                        # Usage examples
├── requirements.txt                 # Dependencies
└── pyproject.toml                  # Project metadata

建筑

FedDocMCP是一个无状态MCP服务器,它:

  1. 接收请求 通过stdio传输从MCP客户端
  2. 验证输入 使用Pydantic模式
  3. 致电国会.gov API 具有适当的身份验证和速率限制
  4. 格式化响应 结构化JSON
  5. 返回结果 给客户

没有数据存储在本地-所有信息都直接来自Congress.gov。

看 docs/ARCHITECTURE.md 了解技术细节。

贡献

欢迎投稿!请阅读 贡献.md 作为指导方针。

贡献方式

  • 报告错误和问题
  • 建议新功能或工具
  • 改进文档
  • 提交拉取请求
  • 分享您如何使用FedDocMCP

路线图

v0.1.0(当前)

  • \[x\] 基本账单搜索
  • \[x\] 票据文本检索
  • \[x\] 账单状态跟踪
  • \[x\] Congress.gov API集成

v0.2.0(计划中)

  • \[\]会员信息工具
  • \[\]委员会数据
  • \[\]投票记录
  • \[\]修正跟踪

v0.3.0(未来)

  • \[\]国会记录搜索
  • \[\]听力信息
  • \[\]条约数据
  • \[\]提名跟踪

v1.0.0(视觉)

  • \[\]国会.gov API全面覆盖
  • \[\]高级缓存
  • \[\]WebSocket支持
  • \[\]多源数据(GovInfo等)

使用FedDocMCP的项目

您在项目中使用FedDocMCP吗?让我们知道!在此处打开问题或PR以添加您的项目。

故障排除

看 docs/TROUBLESHOOTING.md 常见问题和解决方案。

常见问题:

  • API密钥不工作:验证是否已正确设置 .env 或配置
  • 服务器未启动:检查Python版本(3.10+)和依赖关系
  • MCP客户端中未显示任何工具:配置更改后重新启动MCP客户端
  • 速率限制错误:等待一个小时或使用其他API密钥

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢

支持

安全

请向报告安全漏洞security@example.com(不要公开问题)。

看 安全.md 我们的安全政策。

______________________________________________________________________

由...制作❤️ 实现透明、无障碍的民主

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

政府数据Python本地部署法案查询法规检索实时数据AI扩展

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Fed Doc MCP

MCP World · 本页

10stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Fed Doc MCP 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Fed Doc MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Fed Doc MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Fed Doc MCP 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Fed Doc MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP