Federal Regulations Mcp Server

io.github.cyanheads由 GitHub 帳號 cyanheads 發布v0.6.1更新於 Oct 29, 2026

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

發布方自己的服務:Regulations.ai — Global AI Law Tracker

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

跨 Federal Register、eCFR 與 Regulations.gov 檢索並追蹤美國聯邦法規,讓助理從提案一路查到成文條文。

可以做什麼
  • 檢索 Federal Register 的規則、公告與總統文件,並取得單份文件及其案卷與 CFR 關聯資訊
  • 瀏覽 CFR 的編、部分與條文,對成文法規做全文檢索,並列出條文變更時間
  • 讀取某條文、整個部分或附錄的現行文字或歷史某一日期的文字
  • 列出目前開放公眾評論的文件,依截止日期由近到遠排序
  • 取得 Regulations.gov 的案卷與檔案下載資訊,以及公眾評論內文與附件
適用情境
適合法規研究、合規問答或政策工作:需要查找某項美國規則、閱讀現行或歷史 CFR 文字,或了解公眾對某案卷提交了哪些評論時使用。
執行需求
可作為遠端託管端點使用,也可透過 npx(Node.js)或 Docker 在本機執行。Federal Register 與 eCFR 工具不需金鑰;案卷與評論工具需要 REGULATIONS_GOV_API_KEY,即 api.data.gov 的免費金鑰。需要能連線這三個政府 API 的網路。
安裝前請注意
案卷與評論工具會使用 REGULATIONS_GOV_API_KEY 向 Regulations.gov 發出請求,缺少該金鑰時會回傳 auth_required 錯誤。eCFR 文字被說明為權威但非官方,法律研究應核對官方版本。此伺服器與提供資料的政府機關並無隸屬或背書關係。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Federal Regulations Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.cyanheads%2Ffederal-regulations-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "federal-regulations": {
      "type": "http",
      "url": "https://federal-regulations.caseyjhand.com/mcp"
    }
  }
}

README

@cyanheads/federal-regulations-mcp-server

Search and trace US federal rules across the Federal Register (proposed/final rules, notices, and presidential documents), the eCFR (codified, point-in-time CFR full text and amendment history, locally mirrored), and Regulations.gov (rulemaking dockets, document files, and public comments) via MCP. STDIO or Streamable HTTP.

7 Tools • 3 Resources


Overview

US federal regulations from the Federal Register, the eCFR, and Regulations.gov. Search proposed and final rules, trace a rule from proposal through public comments to codified text, and read any CFR section as it stands today or stood on a past date.

Tools

ToolDescription
regulations_search_rulesSearch Federal Register proposed rules, final rules, notices, and presidential documents by query, type, agency, date range, CFR part, docket number, RIN, significance, effective date, and executive order number, president, or signing date, or resolve a page cite to its document
regulations_get_documentFetch one Federal Register document by number, with the docket IDs, CFR parts, citation, significance, comment count, and comment URL that chain into other tools
regulations_browse_cfrList CFR titles, a title's chapters, or every section and appendix in a part, full-text-search the codified CFR, or list when a part's or section's text changed
regulations_get_cfr_sectionRead codified CFR text for a section, whole part, or appendix, current or as of a past date
regulations_get_docketPull a rulemaking docket and its filed documents from Regulations.gov, or read one document's files and attachments (key required)
regulations_find_commentsFetch public comments on a document or docket, or one comment's full body and attachments (key required)
regulations_list_open_commentsList documents currently open for public comment, soonest closing first

Resources

ResourceDescription
regulations://document/{documentNumber}One Federal Register document's metadata and cross-source handles
regulations://cfr/{title}/{part}/{section}Codified text of a current CFR section
skill://federal-regulations-guide/SKILL.mdGuide to tracing rulemaking, CFR text, and public-comment evidence across sources

The two data resources mirror regulations_get_document and regulations_get_cfr_section. The federal-regulations guide also ships with plugin installs, npm, Docker, and the desktop bundle.

Capability reference

regulations_search_rules tool

  • Optional full-text query, filtered by type (PRORULE / RULE / NOTICE / PRESDOCU), agencies (Federal Register slugs such as environmental-protection-agency, not names or acronyms), published_after / published_before, cfr_title + cfr_part (a part number or range such as 140-143; cfr_part needs cfr_title, else title_required_for_part), docket_id (a docket number as the Federal Register prints it), rin, significant (the Federal Register's EO 12866 flag: true and false each match only documents with a determination), and effective_after / effective_before, all combined; per_page from 2 (default 20; above 100 serves 100 with a notice), page 1–50
  • Presidential documents narrow by executive_order_number (bare digits, 14192), presidential_document_type (executive_order, proclamation, memorandum, determination, notice, presidential_order, other), president (a slug such as donald-trump), and a signed_after / signed_before window, which differs from the publication window because signing precedes publication. These filters beside a type that leaves out PRESDOCU, or significant beside them or beside type of PRESDOCU alone, fail with type_conflict
  • citation ("89 FR 49102") with citation_date (the date its source note prints beside it) returns the documents printed on that page, in page order, volume 59 (1994) onward, narrowed by any other filter. A cite missing its date, or combined with the publication date window, fails with citation_incomplete; a volume before 59 or a date from another year fails with citation_out_of_range. When no document spans the page, the notice gives that day's page range
  • Each result carries documentNumber, citation / startPage / endPage, agencies[].slug, the printed docketIds, regulationsGovDocketId and regulationsGovDocumentId, commentCount, commentUrl, commentsCloseOn with commentPeriodOpen (open through 11:59 PM Eastern on the close date), regulationIdNumbers, significant (null when no determination is recorded), presidential (type, number, signingDate, and president; null unless the document is a presidential document), and cfrReferences for the follow-up tools. totalPages and nextPage page the results. The Federal Register serves 50 pages, so truncated marks a set larger than 50 × per_page (1,000 at the default, 5,000 at 100); narrow the date window rather than paging deeper. totalCount stops at 10,000, which means at least that many. A window whose start falls after its end (publication, signing, or effective) fails with date_range_inverted, and invalid_filter names a rejected parameter

regulations_get_document tool

  • document_number in any form the Federal Register issues: 2024-07773 from 2010 on, and older and correction numbers such as 98-1572, E9-25990, or C1-2009-30484; include_full_text adds the plain-text body as one window of max_chars (default 64,000; above 200,000 serves 200,000 with a notice) starting at offset, and passing either of those implies it
  • Returns metadata plus the handles other tools take: the Regulations.gov docketId and regulationsGovDocumentId, the printed docketIds, citation / startPage / endPage, commentCount, commentUrl, commentPeriodOpen, significant, presidential for a presidential document, and cfrReferences. With text, fullTextLength and fullTextNextOffset (present while text remains) page the body; a major final rule runs past a million characters

regulations_browse_cfr tool

  • mode: "structure" lists the 50 titles, a title's top-level divisions, or, with title + part, every section and appendix in the part with its subpart and subjectGroup; mode: "search" full-text-searches the codified CFR and requires query; mode: "versions" lists the dates a part's or one section's text changed. title, part (needs title), and a point-in-time date scope structure and search, and per_page from 1 (default 20; above 50 serves 50 with a notice) pages search results, part listings, and versions
  • Versions mode takes title with part (and optionally section, written as regulations_get_cfr_section accepts it) or with changed_since (YYYY-MM-DD: versions published by an eCFR issue on or after it, across the whole title when no part is given); any other scope fails with versions_scope_required, and a section citing another title fails with conflicting_title. versions[] rows carry cfrCite, heading, part, subpart, date, issueDate, substantive, and removed, in eCFR's order (by identifier, oldest first within each), and latestAmendmentDate covers the whole filtered set. Pass a row's date as date to regulations_get_cfr_section to read that version: a row dated before 2017-01-01 reads at 2017-01-01, and a removed row's date reads nothing
  • Search rows carry cfrCite, heading, hierarchyPath, and excerpt, one per section. source (mirror / live) and sourceScope name the corpus that answered and what it covers, and countBasis says whether totalCount counts sections or section_versions; live search reaches eCFR's first 10,000 hits only (page_out_of_window past them)

regulations_get_cfr_section tool

  • One section (title + part + section), a whole part (section omitted), or one appendix (appendix, verbatim as regulations_browse_cfr emits it, e.g. Appendix A-1 to Part 50). section also takes cites as people write them ("61", "§ 141.61", "141.61(c)") and the cfrCite the server returns ("40 CFR 141.61", "14 CFR 241 § 25"; a cite naming another title fails with conflicting_title), part takes "Part 141", and date reads text from 2017-01-01 through the title's up-to-date date
  • Text comes back as one bodyText window (max_chars default 64,000, above 200,000 serves 200,000 with a notice, from offset), paged by bodyTextLength and bodyTextNextOffset. A whole-part read adds a sections[] index with each section's offset and names its appendices without their text; source (mirror / live) reports provenance
  • hierarchyPath runs from the title down to the location read. If eCFR cannot supply it, the read still answers, with only the cited levels (Title 40 › Part 141 › § 141.61), and notice says so
  • A whole-part read also returns the part's heading, authority, sourceNote, and notes, and each sections[] entry carries the Authority or Source its subpart or subject group states for it
  • Superscripts read ^x and subscripts _x (3 × 10^−8, CO_{2}e), footnote markers [n], and diacritics and overlines are combining marks (x̄)

regulations_get_docket tool · key required

  • Exactly one of docket_id (list mode) or document_id (detail mode): neither fails with target_required, both with multiple_targets, and search_term or document_types beside document_id with filter_requires_list_mode. IDs are case-insensitive
  • List mode takes docket_id, the Regulations.gov docket ID (e.g. EPA-HQ-OAR-2025-0194) — regulationsGovDocketId on a search or open-comments row, docketId from regulations_get_document, not a printed docketIds entry. search_term keeps the documents whose text matches, ranked by relevance instead of newest first; document_types filters to Proposed Rule, Rule, Notice, Supporting & Related Material, or Other, and combines with it; per_page from 5 (default 25; above 250 serves 250 with a notice), page 1–40
  • List mode returns the docket's metadata, documentCount, and documents[], each with an objectId for regulations_find_comments, a frDocNum back to regulations_get_document, and commentPeriodOpen as Regulations.gov reports it. totalPages and nextPage page the documents; Regulations.gov serves 40 pages, so truncated marks a docket larger than 40 × per_page (10,000 at 250)
  • Detail mode takes document_id (documentId from a listing, or regulationsGovDocumentId from regulations_get_document) and returns one document with fileFormats (the main file's download URLs), attachments in upload order with withheld ones kept, pageCount, abstract, and restrictReasonType. A document whose content is only in attachments, or that has no file at all, gets a notice saying so

regulations_find_comments tool · key required

  • Exactly one of docket_id, document_object_id, fr_document_number, or comment_id; list scopes take per_page from 5 (default 25; above 250 serves 250 with a notice) and page 1–40
  • document_object_id takes an object ID (0900006485883ec6) or a document ID (EPA-HQ-OW-2022-0114-0027). fr_document_number resolves to the Regulations.gov document carrying that exact number and answers not_found when none does. Docket, document, and comment IDs are case-insensitive
  • A docket_id that lists no comments is looked up: a docket Regulations.gov does not hold (a printed docket number such as REG-101355-26) answers not_found, and an existing docket answers an empty list with a notice
  • Lists narrow by comment text with search_term, and each hit then carries highlightedContent, the matched passages. posted_after / posted_before set an inclusive posted-date window. A backwards window fails with date_range_inverted, and filters passed with comment_id fail with filter_requires_list_mode
  • mode is list or detail. Lists return comment summaries without body text. comment_id returns the body, submitter, receivedDate, postmarkDate, duplicateComments (above 1 marks a mass-mail campaign record), and attachments in upload order, with attachmentOnly: true when the substance is in a PDF/DOCX file. An attachment whose file is withheld stays in the list with empty formats and its restrictReasonType (e.g. Copyrighted). Lists carry totalPages and nextPage; truncated marks a set larger than the 40 pages Regulations.gov serves reach (40 × per_page, 10,000 at 250), and posted-date windows take it one slice at a time

regulations_list_open_comments tool

  • Optional query, type (PRORULE, RULE, NOTICE; default ["PRORULE", "RULE"]), agencies (Federal Register slugs), and closing_before; per_page from 1 (default 20; above 100 serves 100 with a notice)
  • Rows sort by closing date, soonest first, and carry commentsCloseOn, daysRemaining, documentNumber, the printed docketIds, regulationsGovDocketId and regulationsGovDocumentId, commentCount, and commentUrl. asOf is today's date in Eastern time, so a document stays listed through its close day. totalPages and nextPage page the window; truncated means the Federal Register's 10,000-document limit was reached
  • Keyless. keyed reports whether REGULATIONS_GOV_API_KEY is set, which regulations_get_docket and regulations_find_comments need to follow up on a row

regulations://document/{documentNumber} resource

  • documentNumber in any Federal Register form (2024-07773, 98-1572, E9-25990); the payload is regulations_get_document's without the body text
  • docketId, regulationsGovDocumentId, the printed docketIds, cfrReferences, citation, commentCount, and commentUrl chain into the search, comment, and CFR tools

regulations://cfr/{title}/{part}/{section} resource

  • Sections only, at the current date and the tool's default 64,000-character window; the part and section segments resolve the way the tool resolves them ("Part 141"; "61", "§ 141.61", "40 CFR 141.61")
  • source (mirror / live) reports provenance, and notice says how a part or section written another way resolved and when hierarchyPath holds only the cited levels. bodyTextNextOffset marks a section longer than the window; read the rest through regulations_get_cfr_section with offset

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

Federal Register / eCFR / Regulations.gov-specific:

  • One workflow over three official sources: the agent calls regulatory verbs (search_rules, get_cfr_section, find_comments) rather than three API clients
  • Cross-source stitching: every Federal Register document surfaces its docket ID and CFR-part handles, which feed the proposal → comments → final rule → codified text trace
  • Keyless core: the five Federal Register and eCFR tools need no key. regulations_get_docket and regulations_find_comments need REGULATIONS_GOV_API_KEY (free at api.data.gov/signup, 1,000 requests/hour) and fail with auth_required, naming the variable and signup URL, when it is missing or rejected
  • Locally mirrored codified CFR: the eCFR syncs into embedded SQLite + FTS5 for exact-cite reads and full-text search, and falls back to the live API for historical dates, whole parts, appendices, titles outside the mirror, and titles eCFR has re-issued since the mirror last synced them
  • A 45-second budget per request, shared by every upstream call, retry, and backoff, so a stalled source answers with upstream_unavailable inside a client's timeout

Agent-friendly output:

  • Provenance: source: "mirror" | "live" on every CFR read, plus a sourceScope line on search naming what the corpus covers
  • Honest paging: totalPages and nextPage say how far a list goes, a page past the end names the last page instead of reading as "nothing matched", and matches beyond the Federal Register's 50 pages or Regulations.gov's 40 surface through truncated and notice, never as silently dropped rows
  • Attachment-aware comments: attachmentOnly flags a comment whose substance is a file, with the download URLs

Getting started

Connect to the hosted instance:

sh
claude mcp add --transport http federal-regulations-mcp-server https://federal-regulations.caseyjhand.com/mcp

Or run it locally:

sh
claude mcp add federal-regulations-mcp-server -- npx -y @cyanheads/federal-regulations-mcp-server

For other clients, add this to your MCP configuration file:

json
{  "mcpServers": {    "federal-regulations-mcp-server": {      "command": "npx",      "args": ["-y", "@cyanheads/federal-regulations-mcp-server"]    }  }}

Set optional REGULATIONS_GOV_API_KEY to enable docket and comment tools; get a free key at api.data.gov/signup. The Federal Register and eCFR tools work without it. For Docker or a source build, see Running the server.

Configuration

VariableDescriptionDefault
REGULATIONS_GOV_API_KEYapi.data.gov key for regulations_get_docket and regulations_find_comments.none
FEDERAL_REGISTER_BASE_URLFederal Register API v1 base URL.https://www.federalregister.gov/api/v1
ECFR_BASE_URLeCFR API base URL.https://www.ecfr.gov/api
REGULATIONS_GOV_BASE_URLRegulations.gov API v4 base URL.https://api.regulations.gov/v4
ECFR_MIRROR_PATHPath to the eCFR SQLite mirror database../data/ecfr-mirror.sqlite
ECFR_MIRROR_REFRESH_CRONCron expression for an in-process mirror refresh (HTTP transport only), e.g. 0 4 * * 0. Each run re-harvests every configured title in full.none (no job)
ECFR_MIRROR_TITLESComma-separated CFR titles to mirror (e.g. 21,40). Reads and searches outside the set, and all-titles searches, go to the live eCFR API.all 50 titles
REGULATIONS_CLAMP_LIMITSServe a per_page or max_chars above its ceiling at the ceiling, with a notice. false advertises the ceiling as a schema maximum and rejects a larger value instead.true
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTHTTP server port.3010
MCP_AUTH_MODEAuthentication: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (debug, info, warning, error, etc.).info
STORAGE_PROVIDER_TYPEStorage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1.in-memory
OTEL_ENABLEDEnable OpenTelemetry.false

See .env.example for the full list of optional overrides.

Running the server

Local development

Requires Bun v1.4.0 or higher (or Node.js v24+).

sh
git clone https://github.com/cyanheads/federal-regulations-mcp-server.gitcd federal-regulations-mcp-server && bun installcp .env.example .env
  • Build and run:

    sh
    # One-time buildbun run rebuild
    # Run the built serverbun run start:stdio# orbun run start:http
  • Build or refresh the eCFR mirror (out of band and idempotent; the CFR tools use the live eCFR API until the first build completes):

    sh
    bun run mirror:init      # full build, resumable (scope with ECFR_MIRROR_TITLES)bun run mirror:refresh   # re-harvest every configured title against the latest eCFR issuesbun run mirror:verify    # report row counts and the last-synced issue date
  • Run checks and tests:

    sh
    bun run devcheck   # Lint, format, typecheck, security, changelog syncbun run test       # Vitest test suite

Docker

sh
docker run --rm -e REGULATIONS_GOV_API_KEY=your-key -p 3010:3010 ghcr.io/cyanheads/federal-regulations-mcp-server:latest

The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/federal-regulations-mcp-server. Build the mirror inside a running container with docker exec <container> bun run mirror:init, and mount a volume over /usr/src/app/data so it survives recreation. OpenTelemetry peer dependencies are installed by default; build with --build-arg OTEL_ENABLED=false to omit them.

Project structure

DirectoryPurpose
src/index.tscreateApp() entry point: registers tools and resources, inits the three services, and schedules the mirror refresh when ECFR_MIRROR_REFRESH_CRON is set.
src/configServer-specific environment variable parsing and validation with Zod.
src/mcp-server/toolsTool definitions (*.tool.ts), the seven regulations_* tools.
src/mcp-server/resourcesResource definitions (*.resource.ts), the document and CFR-section resources.
src/services/federal-registerFederal Register API v1 client (keyless).
src/services/ecfreCFR API client (keyless): versioner, structure, search, section XML parsing, and cite resolution.
src/services/ecfr-mirroreCFR codified-text mirror (SQLite + FTS5) and the opt-in refresh job.
src/services/regulations-govRegulations.gov v4 client (X-Api-Key): dockets and comments.
src/servicesShared request budget, text windowing, character-reference decoding, and upstream-failure handling.
scripts/ecfr-mirror-*.tsOut-of-band mirror lifecycle: init, refresh, verify.
tests/Unit and integration tests mirroring src/.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for request-scoped logging, ctx.state for tenant-scoped storage
  • Register new tools and resources via the barrels in src/mcp-server/*/definitions/index.ts
  • Wrap external API calls: validate raw → normalize to the domain type → return the output schema; never fabricate missing upstream fields

Data disclaimer

eCFR content is "authoritative but unofficial" per the Office of the Federal Register, not the official legal edition of the Code of Federal Regulations; verify against govinfo.gov for legal research. This server is not affiliated with or endorsed by the Office of the Federal Register, the Government Publishing Office, or the General Services Administration.

Contributing

Issues are welcome. Run checks and tests before submitting:

sh
bun run devcheckbun run test

License

Apache-2.0 — see LICENSE for details.

來源:README.md,提交 55ded68

工具

7

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, affected CFR title and part, printed docket number, RIN, EO 12866 significance, effective date range, and for presidential documents the executive order number, subtype, president, and signing date range, all combined. A page cite from a CFR source note ("89 FR 49102", with its date) resolves to the documents printed on that page. The primary discovery entry point: results carry the document number (open with regulations_get_document), its citation and page range, each issuing agency with its filterable slug, printed docket numbers, Regulations.gov docket and document IDs, comment count and comment URL, whether the comment period is open, RINs, significance, presidential-document identifiers, and affected CFR parts that chain into the comment and codified-text tools. A query ranks by relevance unless order says otherwise; filter-only browsing lists newest first. 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.

輸入參數rinpagetypeorderqueryagenciescfr_partcitationper_pagecfr_titledocket_idpresident另有 10 個

regulations_get_document

Fetch one Federal Register document by its FR document number — full metadata (title, type, agencies, abstract, action, effective/comment dates, RINs, EO 12866 significance, and for a presidential document its subtype, number, signing date, and president) plus the cross-source handles that make this a workflow server. The output carries the Regulations.gov docket ID (chain into regulations_get_docket or regulations_find_comments), the docket numbers the Federal Register prints (chain back into regulations_search_rules as docket_id), the comment count and comment URL, and the affected CFR parts (chain into regulations_get_cfr_section). Set include_full_text only when the rule body itself is needed: it returns the plain-text body as a window of up to 64,000 characters (max_chars raises it to 200,000), with the body's total length and, when text remains, the offset to resume from. Short documents return whole; major final rules run past a million characters, so page through with offset rather than reading them in one call.

輸入參數offsetmax_charsdocument_number必填include_full_text

regulations_browse_cfr

Explore the codified Code of Federal Regulations via eCFR in three modes. "structure" lists all 50 titles; with a title, that title's top-level divisions (its chapters, or subtitles); and with a title and part, every section and appendix in the part, flattened and paged, each naming the subpart and subject group it sits under — the way to enumerate a part's sections without reading its text. "search" runs a full-text query across the codified CFR and returns matching sections with their hierarchy path and a snippet, one result per section, paged. "versions" lists the dates a part's or one section's text changed, oldest first per section, paged, with the latest amendment date; with changed_since, what changed across a title. Every mode accepts title and part to narrow the scope, and all three feed regulations_get_cfr_section — a version row's `date` reads that version. Every search result reports which corpus answered it — the synced local mirror or the live eCFR index — and what that corpus covers, in `source` and `sourceScope`.

輸入參數datemode必填pagepartquerytitlesectionper_pagechanged_since

regulations_get_cfr_section

Read the codified text at a CFR location via eCFR — current or as of a past date. Answers "what does 40 CFR 50.1 say today?" and "...as of 2019-01-01?". Three locations: title + part + section for one section; title + part alone for the whole part, with its Authority and Source notes, an index of its sections, and the names of its appendices; title + appendix for one appendix, passing the identifier exactly as regulations_browse_cfr emits it. A section can be written as people cite it — "61", "§ 141.61", "141.61(c)", or the full cite "40 CFR 141.61" in part 141 all read 40 CFR 141.61 — and a part as "Part 141"; the response names the identifier it read. Text comes back as a window of up to 64,000 characters (max_chars raises it to 200,000) with the total length and, when text remains, the offset to resume from; whole parts run to millions of characters, so page with offset or read a single section. eCFR retains historical versions from 2017 through the title's up-to-date date; a date outside that window is rejected with the window named. Current single-section reads are served from a synced local mirror when it holds the title's latest eCFR issue; the source is reported.

輸入參數dateparttitle必填offsetsectionappendixmax_chars

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) — or read one document by document_id for its file download URLs and attachments, which a docket listing does not carry. Provide exactly one of docket_id / document_id. 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 — find one with search_term, or filter document_types to "Proposed Rule"/"Rule" for 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.

輸入參數pageper_pagedocket_iddocument_idsearch_termdocument_types

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, by its object ID or document ID), fr_document_number (convenience — resolves the FR number to the Regulations.gov document carrying it), or comment_id (one comment's full detail and attachments). A list narrows by comment text with search_term (each hit then carries the matching passages) and by posted date with posted_after/posted_before. 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/).

輸入參數pageper_pagedocket_idcomment_idsearch_termposted_afterposted_beforedocument_object_idfr_document_number

regulations_list_open_comments

List Federal Register documents currently open for public comment, sorted by closing date (soonest first) across the whole open window, filterable by document type, agency slug, and topic. "What can I still weigh in on?" Covers proposed rules and the final rules that take comment (direct final and interim final rules) by default; add NOTICE for the much larger set of notices with comment periods. Runs on the Federal Register's open-comment window and needs no key: each row carries its Regulations.gov docket and document IDs, comment count, and comment URL from the Federal Register document's embedded Regulations.gov info. Open one row with regulations_get_document for the full document, or pull the comments with regulations_find_comments (which, like regulations_get_docket, needs REGULATIONS_GOV_API_KEY).

輸入參數pagetypequeryagenciesper_pageclosing_before

版本歷史

8
  1. v0.6.1最新Oct 29, 2026
  2. v0.5.4Oct 25, 2026
  3. v0.5.3Oct 9, 2026
  4. v0.5.2Sep 25, 2026
  5. v0.5.1Sep 25, 2026
  6. v0.4.0Sep 23, 2026
  7. v0.2.5Sep 21, 2026
  8. v0.2.4Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Regulations 整合