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:
- Only the 13 names in
HTML_NAMED_ENTITIESdecode; any other named entity reachesbodyTextandcontent[]as literal markup. HTML_NAMED_ENTITIESis a…
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
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.