# federal-regulations-mcp-server MCP server

Search and trace US federal rules across the Federal Register, eCFR, and Regulations.gov.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-federal-regulations-mcp-server
- Repository: https://github.com/cyanheads/federal-regulations-mcp-server

## Install
- Command: `npx -y @cyanheads/federal-regulations-mcp-server`
- Endpoint: https://federal-regulations.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/federal-regulations-mcp-server v0.1.2
- Environment variable: REGULATIONS_GOV_API_KEY (secret)
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/federal-regulations-mcp-server v0.1.2
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: REGULATIONS_GOV_API_KEY (secret)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://federal-regulations.caseyjhand.com/mcp

## Tools
- regulations_search_rules (regulations_search_rules) - Search the Federal Register — the daily journal of US proposed rules, final rules, notices, and presidential documents (1994–present) — filtering by full-text query, document type, agency slug, publication date range, and whether the rule is open for comment. The primary discovery entry point: results carry the document number (open with regulations_get_document), docket IDs, RINs, and affected CFR parts that chain into the comment and codified-text tools. The Federal Register caps navigation at 50 pages and the match count at 10,000; when a result set is larger, narrow with published_after/published_before rather than paging deeper. Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_get_document (regulations_get_document) - Fetch one Federal Register document by its FR document number — full metadata (title, type, agencies, abstract, action, effective/comment dates, RINs) plus the cross-source handles that make this a workflow server. The output carries the docket ID (chain into regulations_get_docket or regulations_find_comments) and the affected CFR parts (chain into regulations_get_cfr_section). Set include_full_text only when the rule body itself is needed — final rules can run tens of thousands of words. Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_browse_cfr (regulations_browse_cfr) - Explore the codified Code of Federal Regulations via eCFR in two modes. "structure" walks the CFR hierarchy (all 50 titles, or one title's chapters → parts → sections) to discover a cite when the exact citation is unknown. "search" runs a full-text query across the codified CFR and returns matching sections with their hierarchy path and a snippet. Both modes feed regulations_get_cfr_section. The source (mirror or live) is reported on each search result. Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_get_cfr_section (regulations_get_cfr_section) - Read the codified text of a specific CFR section (or a whole part) via eCFR — current or as of a past date. Answers "what does 40 CFR 50.1 say today?" and "...as of 2019-01-01?". Provide title + part + section for one section, or omit section to fetch the whole part (large parts can be very long; prefer a specific section when you know it). eCFR retains historical versions back to roughly 2017; a date before coverage is rejected with guidance. Current single-section reads are served from a synced local mirror when available; the source is reported. Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_get_docket (regulations_get_docket) - Pull a rulemaking docket from Regulations.gov by docket ID (e.g. "EPA-HQ-OAR-2025-0194") — the docket's metadata (title, agency, RIN, abstract) and the documents filed in it (NPRM, final rule, supporting materials). The docket is the folder holding a rule's whole paper trail; each returned document's objectId feeds regulations_find_comments. A docket often contains hundreds of supporting materials — filter document_types to "Proposed Rule"/"Rule" to find the rule documents themselves. Requires REGULATIONS_GOV_API_KEY (free at https://api.data.gov/signup/); the Federal Register and eCFR tools work without it. Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_find_comments (regulations_find_comments) - Fetch public comments on a Federal Register document or a Regulations.gov docket — the unique corpus of what citizens and organizations actually submitted. Provide exactly one targeting parameter: docket_id (all comments in a docket, broadest), document_object_id (comments on one document, from regulations_get_docket), fr_document_number (convenience — resolves the FR number to its Regulations.gov document internally), or comment_id (one comment's full detail and attachments). The list endpoint returns no body text or attachment info — call with comment_id to read a comment's body. When a comment's real content is a PDF/DOCX attachment, the body is a stub and attachmentOnly is true; the attachment download URLs are returned. Requires REGULATIONS_GOV_API_KEY (free at https://api.data.gov/signup/). Endpoint: https://federal-regulations.caseyjhand.com/mcp
- regulations_list_open_comments (regulations_list_open_comments) - List rules currently open for public comment, filterable by agency slug and topic, sorted by closing date (soonest first). "What can I still weigh in on?" Runs on the Federal Register's open-comment window and is fully functional without a key. When REGULATIONS_GOV_API_KEY is configured, each row is enriched with the comment count from the Federal Register document's embedded Regulations.gov info (no extra rate-limited call). Open one row with regulations_get_document for the full proposal, or pull the comments with regulations_find_comments. Endpoint: https://federal-regulations.caseyjhand.com/mcp

## Resources
- regulations://document/2025-14555 - Federal Register document A single Federal Register document by FR number: metadata plus the cross-source handles (docket ID, affected CFR parts, comment count) that chain into the comment and codified-text tools. Mirrors regulations_get_document (full text omitted). MIME type: application/json
- regulations://cfr/40/50/50.1 - CFR section (current) Codified text of a current CFR section by title/part/section (e.g. regulations://cfr/40/50/50.1). Mirrors regulations_get_cfr_section at the current date — mirror-backed with a live eCFR fallback. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.2
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 20, 2026
- Source: https://registry.modelcontextprotocol.io
