Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for federal-regulations-mcp-server

Pod holds 24 of 33 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to federal-regulations-mcp-server.

Most discussed

feat(regulations_find_comments): add search_term and posted-date filters, and page to Regulations.gov's 40-page limit

Use case

A practitioner studying a high-volume docket wants a subset of its comments, such as the ones mentioning a technology or those from one comment window, and needs a way past the Regulations.gov per-query page ceiling. regulations_find_comments list mode has neither, and its truncation guidance ("narrow by document_object_id") fails whenever one document holds most of the comments, which is the normal case for a proposed rule.

Proposed behavior

Add optional list-mode filters…

Read the thread · 2026-09-22 · closed · 3 comments

feat(regulations_list_open_comments): include direct and interim final rules that request comment

Use case

regulations_list_open_comments hard-codes conditions[type][]=PRORULE, so rules that take comments under another document type never appear. On 2026-09-22 that left out 31 open final rules: 3 direct final rules and 25 interim or final rules that request comment. A direct final rule is withdrawn if it draws significant adverse comment, so its deadline is one a practitioner can't afford to miss.

Related: #32, which changes the same listOpenComments query. The two land…

Read the thread · 2026-09-22 · closed · 3 comments

bug(regulations_list_open_comments): "soonest first" sorts one page of newest-published rules, not the open window

Server version

0.2.5

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_list_open_comments claims "sorted by closing date (soonest first)", but it requests order=newest and sorts each page locally, so rules closing tomorrow land on later pages. The FR API can't order by comment date (order=comment_date silently falls back to newest). Separately, truncated is set only when a…

Read the thread · 2026-09-22 · closed · 3 comments

bug(regulations_browse_cfr): structure mode on a part stops at subparts, so its sections cannot be listed

Server version

0.2.5

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_browse_cfr structure mode with a part returns only that part's direct children. In most parts those children are subparts or subject groups, which carry cfrCite: null, and no input goes further down, so the part's sections can't be listed. The part description says structure mode "narrows the returned tree to…

Read the thread · 2026-09-22 · closed · 3 comments

bug(regulations_get_cfr_section): whole-part reads are unbounded and carry every section twice

Server version

0.2.5

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.x

Transport

HTTP (Streamable HTTP)

Description

A whole-part read in regulations_get_cfr_section (title + part, no section) has no size limit, and it returns every section twice. getSectionText in src/services/ecfr/ecfr-service.ts builds bodyText by joining each section's heading and text, and it also returns the same sections as sections[]. format() renders both, so…

Read the thread · 2026-09-22 · closed · 3 comments

bug(regulations_search_rules,regulations_list_open_comments): agency results carry names the filter rejects, and every Federal Register 400 is unlabeled

Server version

0.2.5

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

Linux (Docker)

Description

The agencies filter on regulations_search_rules and regulations_list_open_comments takes a Federal Register agency slug, but its description says to "read the agency slugs off the results", and results carry only names…

Read the thread · 2026-09-02 · closed · 3 comments

feat(regulations_get_cfr_section): resolve dotless, §-prefixed, and paragraph-level section cites before answering not_found

Use case

regulations_get_cfr_section passes section to the eCFR versioner verbatim, and the versioner matches only the exact identifier ("141.61"). So a caller who writes the cite the way people usually do gets not_found for a section that is in force. The recovery hint then points at regulations_browse_cfr and never mentions the part.section shape that would have worked.

Related: #9 (dotless identifiers in 14 CFR 241), #11 (this error's recovery plumbing)

| Input (`title:…

Read the thread · 2026-08-21 · closed · 3 comments

bug(regulations-gov): the Regulations.gov leg has no request deadline

Server version

0.2.1

mcp-ts-core version

0.11.1

Runtime

Bun

Runtime version

Bun 1.3.14

Transport

stdio

Description

Related: #15

RegulationsGovService.fetchJson is the one leg of the three with no request deadline. FederalRegisterService passes TIMEOUT_MS (15s) and EcfrService passes 20s (60s for XML, 10 minutes for a bulk title) to fetchWithTimeout, which aborts the attempt when it expires. Regulations.gov cannot use that helper — it has to branch…

Read the thread · 2026-08-10 · closed · 2 comments

Most recent

bug(ecfr-xml): diacritics and overlines are dropped, so "x̄" reads "x"

Server version

0.5.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

eCFR versioner XML marks a diacritic with a self-closing <AC T="…"/> after the character it modifies, almost always across a newline (<I>x⏎<AC T="8"/></I> is the sample mean, ⏎ a newline). stripTags in src/services/ecfr/xml.ts turns it into a space, so live and mirror reads give x is the sample mean where eCFR prints…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_browse_cfr): structure mode cites dotless sections as another part ("14 CFR 01")

Server version

0.5.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_browse_cfr structure mode cites a section as <title> CFR <identifier> (buildCite in src/services/ecfr/ecfr-service.ts). A part whose section numbers carry no part prefix gets a cite that names a different part: 14 CFR 241's sections are identified 01, 02, 1, … (structure document, 2026-09-15 issue), so the…

Read the thread · 2026-09-25 · closed · 1 comment

bug(ecfr-xml): entity decoding throws on an out-of-range numeric reference and decodes inherited property names

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

The eCFR text extractors decode entities with the same two defects #54 describes for comment bodies. decodeEntities in src/services/ecfr/xml.ts passes numeric references to an unguarded String.fromCodePoint and looks names up in a plain object; plainText in src/services/ecfr/ecfr-service.ts uses a plain-object lookup with…

Read the thread · 2026-09-25 · closed · 1 comment

bug(ecfr-mirror): a ready mirror serves its snapshot as current text with no freshness bound

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

Once the eCFR mirror is ready, current section reads (the tool and the regulations://cfr/… resource) and mirror-routed searches answer from it however old its rows are. mirrorReady() checks only that an init completed and the ingest version. Nothing compares a title's stored issue_date with that title's latest_issue_date in…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_find_comments): comment bodies keep HTML entities outside a 13-name table

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

Detail mode of regulations_find_comments decodes comment bodies with stripHtml in src/services/regulations-gov/regulations-gov-service.ts, which has three defects:

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_get_cfr_section): "40 CFR 141.61" as section and "Part 141" as part answer not_found

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_get_cfr_section resolves § 141.61, Sec. 141.61, 61, and 141.61(c) (#22), but not the two forms most often pasted: a full cite in section, and a spelled-out part. The server writes the first form itself: every cfrCite it returns sits next to "→ regulations_get_cfr_section", including 14 CFR 241 § 25 for a…

Read the thread · 2026-09-25 · closed · 1 comment

feat(regulations_get_cfr_section): return the part's heading, Authority, and Source notes

Use case

A practitioner reading a part with regulations_get_cfr_section needs its statutory authority and default source, but the part's <AUTH> ("Authority: 42 U.S.C. 300f, 300g-1, …") and <SOURCE> ("Source: 40 FR 59570, Dec. 24, 1975, unless otherwise noted.") under its <DIV5> are dropped, and a section with no <CITA> of its own (3,128 of 5,982 non-reserved sections across titles 1, 10, and 11 as of 2026-09-25) has its provenance only there. A whole-part read's heading is also…

Read the thread · 2026-09-25 · closed · 1 comment

bug(ecfr-xml): inline markup flattens, so exponents, subscripts, and footnote markers read as loose text

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

stripTags in src/services/ecfr/xml.ts turns every opening tag into a space and keeps the element's text, so superscripts, subscripts, and footnote markers land inline as loose characters, and (<E T="01">a</E>) reads ( a). Live and mirror reads share it.

Steps to reproduce

  1. regulations_get_cfr_section `{ "title":…

Read the thread · 2026-09-25 · closed · 1 comment

bug(schemas): commentsCloseOn and commentEndDate are described as meaning the period is still open

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

Three output fields describe a comment close date as meaning the period is open: commentsCloseOn on regulations_search_rules and regulations_get_document ("when set, still open for comment") and commentEndDate on regulations_get_docket ("when set, open for comment"). Every closed proposal also has one set, so a model…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_search_rules,regulations_list_open_comments): docketIds sold as Regulations.gov handles; the FR's own Regulations.gov IDs, keyless counts, and comment URL are dropped

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

docketIds on regulations_search_rules and regulations_list_open_comments is described as chaining into regulations_get_docket / regulations_find_comments, but it holds the docket numbers the Federal Register prints. Of the 226 rules open for comment on 2026-09-25, 199 had a Regulations.gov docket: 23 printed it as a bare…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_search_rules,regulations_get_docket,regulations_find_comments): a page past the end reads as an empty result

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

On three tools, a page past the end reads as "nothing matched" and tells the caller to drop filters, and truncated doesn't track what paging can reach: regulations_get_docket sets it on every page of a multi-page docket, the last included, and regulations_search_rules compares against a fixed 5,000 when the Federal Register…

Read the thread · 2026-09-25 · closed · 1 comment

feat(regulations_search_rules): filter by CFR part, docket ID, and RIN

Use case

regulations_search_rules filters only by query, type, agency, and date. Three common questions have no direct path: which rulemakings touched a CFR part someone just read with regulations_get_cfr_section; every document for one RIN, proposal through final; and every Federal Register document in a docket on a keyless deployment, where regulations_get_docket needs REGULATIONS_GOV_API_KEY. A query of "40 CFR 141" matches documents that mention the part, not the ones whose…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_get_cfr_section,regulations_search_rules): a section's FR source citation can't be resolved to its rulemaking

Server version

0.4.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_get_cfr_section's bodyText description says to "pass one of its FR cites to regulations_search_rules to reach the rulemaking that produced this text." That chain returns nothing. Federal Register full-text search does not match a volume/page cite,…

Read the thread · 2026-09-25 · closed · 1 comment

bug(regulations_get_docket): page stops at 20, but Regulations.gov serves 40 pages

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_get_docket caps page at 20 and tells the caller Regulations.gov stops at 5,000 records. Regulations.gov v4 /documents accepts page[number] up to 40, so pages 21–40 of a large docket are unreachable and the truncation guidance names the wrong limit.…

Read the thread · 2026-09-22 · closed · 1 comment

bug(regulations_browse_cfr): search mode repeats a section once per version, inflating totalCount

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

regulations_browse_cfr search mode returns the same CFR section several times. eCFR's /search/v1/results answers one hit per section version, and with date pinned it still returns versions whose starts_on differ while every one reports ends_on: null. The service passes the hits through as-is, so results repeats cites…

Read the thread · 2026-09-22 · closed · 1 comment

bug(regulations_get_document): document_number pattern rejects pre-2010 Federal Register numbers (98-1572, E9-25990)

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Node.js

Runtime version

Node 24

Transport

stdio

Description

regulations_get_document and the regulations://document/{documentNumber} resource validate document_number against ^[0-9]{4}-[0-9]+$, which only fits numbers assigned from 2010 on. The Federal Register API serves every older shape too, and regulations_search_rules…

Read the thread · 2026-09-22 · closed · 1 comment

The remaining reports are on the project's issue tracker.