federal-register-mcp
MCP server for the Federal Register API. Proposed rules, final rules, notices, executive orders, comment periods, and regulatory tracking since 1994.
No authentication required. Use the installation and configuration instructions below to connect this MCP directly.
Tested and hardened through six rounds of integration testing against the live Federal Register API. 228 regression tests (132 offline, 96 live-gated) covering the list_agencies pydantic crash that hit every call, payload bombs, silent-wrong-data docket matches, the pre-2011 archive lockout, and open-comment results that missed the soonest deadlines. See testing.md for the full testing record.
What it does
Exposes the Federal Register API as 8 MCP tools:
Core
search_documents- Search with flexible filters (agency, type, term, docket, dates, RIN, CFR title/part)get_document- Full details for a single document by numberget_documents_batch- Fetch up to 20 documents in one callget_facet_counts- Document counts by type, agency, topic, or time bucket (daily through yearly)get_public_inspection- Pre-publication documents with client-side filteringlist_agencies- All ~470 agencies with slugs
Workflow
open_comment_periods- Currently open comment periods (sorted by deadline)far_case_history- Full rulemaking history for a FAR/DFARS case
No authentication required
The Federal Register API is fully public. No key, no registration.
Installation
uvx federal-register-mcp
Configuration
Use the configuration below as the server definition and adapt its placement to your compatible MCP client. For practical requests using this source, see the prompt library.
{
"mcpServers": {
"federal-register": {
"command": "uvx",
"args": ["--refresh-package", "federal-register-mcp", "--from", "federal-register-mcp", "federal-register-mcp"]
}
}
}
The --refresh-package flag tells uv to check PyPI for a newer release each time your client launches the server, so fixes arrive automatically; without it, uv keeps serving whatever version it first cached. It adds a moment of network time at startup, so raise your platform's MCP startup timeout if it enforces a short one.
Restart the client and the tools appear.
Example prompts
- "What FAR cases have open comment periods right now?"
- "Show me the full rulemaking history for FAR Case 2023-008."
- "Find all proposed rules from DoD published in the last 6 months."
- "What significant rules has GSA published this fiscal year?"
- "Are there any pre-publication documents related to procurement today?"
- "How many proposed rules vs final rules has the SBA published since January?"
- "Find executive orders related to federal acquisition from the last year."
Companion tools
ecfr-mcp: what the regulation currently says (the book)federal-register-mcp: what is changing (the newspaper)
Together they cover the full regulatory pipeline. Use far_case_history to trace a rulemaking from proposal through final rule, then ecfr-mcp to read the codified result.
Request pacing
Every upstream request uses a provisional 3-second cross-process anti-burst
interval by default. Federal Register does not publish a numeric limit, so
this is a 1102tools safeguard rather than a provider requirement. Override
with FEDERAL_API_MIN_INTERVAL_SECONDS, use 0 to deliberately disable it,
and use FEDERAL_API_PACING_DIR to relocate local pacing state.
License
MIT
Release files for federal-register-mcp 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| federal_register_mcp-1.0.6.tar.gz | 123.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| federal_register_mcp-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 142.1 kB
Release files / federal_register_mcp-1.0.6.tar.gz
| Download URL | federal_register_mcp-1.0.6.tar.gz |
|---|---|
| Size | 123.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02e237232e51c171d28e18900b41e65e6400429f8726d9f142241ac1c74c14ec
|
|
BLAKE2b-256 checksum How to use checksums |
d5adfb4751a7bdfc3b2cfcd36182e317706455b48645ff25dc66d533a6e7dfe2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency logRelease files / federal_register_mcp-1.0.6-py3-none-any.whl
| Download URL | federal_register_mcp-1.0.6-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db6e8841b0f640101d5b4181d88924aa557f6fe9eb0f093a50e0f41eb2a2a0e5
|
|
BLAKE2b-256 checksum How to use checksums |
ebc2259105525267dbb6d6cb072212f2e073fbc6debd0bed8abd85ca010b1d2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency log