联邦公报MCP服务器

一个提供AI助手访问联邦公报API的模型上下文协议(MCP)服务器,支持搜索和检索行政命令、总统文件、规则和机构信息。

  • by aml25
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 aml25/federal-register-mcp

使用说明

联邦公报MCP服务器

A. 模型上下文协议(MCP) 为AI助手提供访问权限的服务器 API联邦公报这使得搜索和检索行政命令、总统文件、规则和机构信息成为可能。

什么是MCP?

MCP是一种协议,允许像Claude这样的人工智能助手与外部工具和数据源进行交互。该服务器将《联邦公报》数据作为一组可由人工智能助手调用的工具公开。

特性

  • 行政命令:按总统、年份、日期范围或关键字搜索、检索和获取行政命令的全文
  • 总统文件:搜索备忘录和公告
  • 联邦公报文件:搜索和检索任何文档类型(规则、拟议规则、通知)
  • 机构信息:列出所有联邦机构或获取特定机构的详细信息
  • 公众检查:在正式发布之前查看文档

路线图

  • 托管版本 -部署一个公共实例,这样用户就可以连接而无需在本地运行
  • 立法跟踪 -整合Congress.gov API和开放州,用于联邦和州立法
  • 丰富的元数据 -添加类别、行政命令和立法之间的相关性、受影响的人口和其他分析数据
  • UI体验 -利用OpenAI Apps为探索行政和立法数据提供可视化界面

安装

# Clone the repository
git clone https://github.com/yourusername/federal-register-mcp.git
cd federal-register-mcp

# Install dependencies
npm install

# Build TypeScript
npm run build

用法

此服务器支持两种传输模式:

模式 运输 用例
标准 (默认) 标准I/O 克劳德桌面(本地)
超文本传输协议 流式HTTP 克劳德代码、ChatGPT、远程客户端

克劳德桌面(stdio模式)

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "federal-register": {
      "command": "node",
      "args": ["/path/to/federal-register-mcp/dist/server.js"]
    }
  }
}

克劳德代码(stdio或HTTP模式)

选项1:stdio(本地)

{
  "mcpServers": {
    "federal-register": {
      "command": "node",
      "args": ["/path/to/federal-register-mcp/dist/server.js"]
    }
  }
}

选项2:HTTP(本地或远程)

以HTTP模式启动服务器:

npm run start:http

然后配置Claude Code以连接到HTTP端点:

{
  "mcpServers": {
    "federal-register": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

ChatGPT(HTTP模式,需要公共URL)

ChatGPT无法连接到本地主机。您需要公开服务器:

方案1:ngrok(用于发展)

# Terminal 1: Start the server
npm run start:http

# Terminal 2: Create a tunnel
ngrok http 3000

然后使用ngrok URL(例如。, https://abc123.ngrok.io/mcp)在ChatGPT中。

选项2:部署到云主机(用于生产)

部署到任何支持HTTPS的主机:

  • Cloudflare员工
  • Fly.io
  • 铁路
  • 维塞尔
  • AWS/GCP/Azure

MCP端点将位于 https://your-host.com/mcp.

直接运行

# stdio mode (default) - for Claude Desktop
npm start

# HTTP mode - for Claude Code, ChatGPT
npm run start:http

# HTTP mode with custom port
node dist/server.js --http --port 8080

# Or use environment variable
MCP_PORT=8080 npm run start:http

发展

# Edit files in src/*.ts, then build
npm run build

# Or use watch mode for auto-recompile
npm run dev

健康检查(HTTP模式)

在HTTP模式下运行时,健康端点可用:

curl http://localhost:3000/health
# {"status":"ok","mode":"http","sessions":0}

可用工具

工具 说明
search_executive_orders 按总统、年份、日期范围或关键字搜索行政命令
get_executive_order 通过行政命令编号获得特定的行政命令
get_executive_order_full_text 获取行政命令的完整全文
get_recent_executive_orders 获取过去30天内签署的行政命令
search_documents 使用灵活的过滤功能搜索所有联邦公报文件
get_document 按文件编号获取《联邦公报》文件
get_document_text 获取文档的完整纯文本内容
search_presidential_memoranda 搜索总统备忘录
search_proclamations 搜索总统公告
get_public_inspection_documents 获取当前公开检查的文件
get_agencies 获取所有联邦机构的列表
get_agency 获取特定机构的详细信息

查询示例

配置后,您可以向Claude提出以下问题:

  • “乔·拜登签署了哪些关于气候变化的行政命令?”
  • “给我看看特朗普第二任期(2025年)的行政命令”
  • “获取第14067号行政命令全文”
  • “今天有哪些文件需要公众检查?”
  • “查找2024年美国环保署提出的所有规则”

api参考

此服务器使用联邦注册API v1。API是免费的,不需要身份验证。

项目结构

federal-register-mcp/
├── src/
│   ├── server.ts              # MCP server implementation
│   └── federal-register-api.ts # Federal Register API client
├── dist/                      # Compiled JavaScript (generated)
├── tsconfig.json
├── package.json
└── README.md

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请随时提交拉取请求。