Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

federal-register-mcp

An MCP server for the U.S. Federal Register public API. Ask an AI agent what a federal agency published today, search rules and proposed rules, pull a document in full, or see what is on public inspection before it is formally published.

Read only. No API key. No dependencies beyond the Python standard library.

Not affiliated with or endorsed by the Office of the Federal Register, NARA, or the Government Publishing Office. This is an independent client of a public API.

Install

Python 3.9 or newer. Nothing to pip install.

git clone https://github.com/VeronaStrategic/federal-register-mcp.git

Then point your MCP client at it. For Claude Desktop, in claude_desktop_config.json:

{
  "mcpServers": {
    "federal-register": {
      "command": "python3",
      "args": ["/absolute/path/to/federal-register-mcp/server.py"]
    }
  }
}

The same command works with any MCP client that speaks stdio.

Tools

Tool What it does
search_documents Search published documents by term, type, date range, or agency. Types are RULE, PRORULE, NOTICE, PRESDOCU.
get_document Fetch one document in full by its document number, e.g. 2026-16423.
list_agencies List publishing agencies and the slugs used to filter searches.
list_public_inspection Documents filed but not yet published. The earliest public look at a forthcoming rule.

Things it is actually good at: "What did the EPA propose this week?", "Find comment deadlines on rules mentioning per- and polyfluoroalkyl substances", "Summarise the notices on public inspection today."

Try it without an MCP client

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_documents","arguments":{"query":"artificial intelligence","per_page":2}}}' \
  | python3 server.py

Tests

python3 test_server.py          # offline, no network
python3 test_server.py --live   # also exercises the real API

25 checks. The offline suite covers the protocol, the argument guards, and the read-only claim; the live suite covers real responses and error handling. They are separated because a suite that goes red when a government website has a bad afternoon teaches you nothing.

Being a good citizen of someone else's API

federalregister.gov states that "due to aggressive automated scraping of FederalRegister.gov and eCFR.gov, programmatic access to these sites is limited to access to our extensive developer APIs." This server honours that:

  • The API only, never the website. The base URL is fixed and no code path reaches another host.
  • Every request is a GET. There is no write path, and a test asserts it.
  • A descriptive User-Agent carrying a contact address, so a maintainer who sees this traffic knows who to email.
  • A client-side rate limit, deliberately well below anything they would notice.
  • Nothing cached, nothing republished. Responses pass through to the caller.
  • Result sizes are capped, including for one endpoint that ignores per_page and returns the entire day's filings.

Legal status of the content

FederalRegister.gov is an unofficial informational resource. It is not the official legal edition of the Federal Register and does not replace the official print edition or the official electronic version on govinfo.gov. Verify against an official edition before relying on anything here for legal purposes.

This tool does not provide legal advice. Every response carries this notice.

Who publishes this

Published by the team behind AgentRamp, which turns a product's public API documentation into a hosted, monitored MCP server.

This repository is hand-written and standalone: no account, no hosting, no dependency on AgentRamp. It exists because the shape of the problem is the same one AgentRamp automates, and a working example is more useful than a description of one.

License

MIT for the code in this repository. Federal Register content is a work of the U.S. Government and is not covered by this license.

About

Read-only MCP server for the U.S. Federal Register public API. No key, no dependencies.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages