Skip to main content
Glama

federal-regulations-mcp-server

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/federal-regulations-mcp-server
GitHub Stars
1
Server Listing
federal-regulations-mcp-server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: browsing CFR hierarchy, fetching section text, finding comments, retrieving dockets, getting document metadata, listing open comments, and searching rules. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent 'regulations_' prefix followed by a verb_noun pattern (e.g., browse_cfr, find_comments, get_cfr_section). The naming convention is uniform and predictable across the entire set.

Tool Count5/5

With 7 tools, the server is well-scoped for its purpose of accessing federal regulations. Each tool addresses a core operation without being excessive or insufficient.

Completeness5/5

The tool set covers the entire lifecycle of regulatory exploration: searching and browsing rules, retrieving documents and dockets, fetching comments, and reading codified text. There are no obvious gaps for a read-only regulations server.

Available Tools

7 tools
regulations_browse_cfrregulations_browse_cfrA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoPoint-in-time date, ISO 8601 (YYYY-MM-DD). Defaults to current. Structure mode uses this date for historical hierarchy; in search mode, a past date enables point-in-time search.
modeYes"structure": browse the CFR tree (titles, or one title's chapters/parts/sections) to find a cite. "search": full-text search the codified CFR for sections matching a phrase.
partNoCFR part within the title (structure mode, optional) — narrows the returned tree to one part's sections. Parts can be alphanumeric.
queryNoFull-text search phrase (search mode, required in that mode). Ignored in structure mode.
titleNoCFR title number (1–50). Structure mode: omit to list all 50 titles, or provide to expand one title. Search mode: optional filter to restrict to one title.
per_pageNoResults per page in search mode (1–50, default 20). Ignored in structure mode.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateNoResolved point-in-time date (structure mode).
modeYesWhich mode produced this result.
nodesNoHierarchy nodes at the requested level (structure mode).
shownNoResults returned on this page (search mode).
noticeNoGuidance when nothing matched.
sourceNoProvenance: the synced mirror index, or the live eCFR search fallback (search mode).
resultsNoMatching CFR sections, this page (search mode).
truncatedNoTrue when search results were capped at per_page.
totalCountNoTotal search matches before pagination (search mode).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint. The description adds behavioral details: structure walks the hierarchy, search returns snippets and hierarchy paths, and the source is reported. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (four sentences) and well-structured, front-loading the purpose. Every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (two modes, multiple parameters) and the presence of a full input schema and output schema, the description covers the main behavioral aspects. It might lack detail on error handling or pagination in structure mode, but overall it is sufficiently complete for an agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaningful context: explains how 'date' affects historical hierarchy and point-in-time search, mode values are elaborated, and per_page is clarified as search-only. This adds value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool explores the eCFR via two modes (structure and search). Distinguishes from siblings by specifying it feeds into regulations_get_cfr_section and is used when the exact citation is unknown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use each mode: structure for discovering unknown citations, search for full-text queries. It also connects to a sibling tool for detailed section retrieval. However, it does not explicitly list when not to use this tool versus alternatives like regulations_search_rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_find_commentsregulations_find_commentsA
Read-only
Inspect

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/).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Regulations.gov caps a query at 20 pages (5,000 records); for a high-volume docket this surfaces a sample — narrow by document_object_id.
per_pageNoComments per page (5–250, default 25). Regulations.gov requires a minimum page size of 5.
docket_idNoFetch all comments in a docket by docket ID (e.g. "EPA-HQ-OAR-2025-0194"). Broadest scope. One of docket_id / document_object_id / fr_document_number / comment_id is required.
comment_idNoFetch one comment's full detail and attachments by its Regulations.gov comment ID (e.g. "EPA-HQ-OAR-2025-0194-31102"). Use to read a single comment's body after finding it in a list.
document_object_idNoFetch comments on one specific document by its Regulations.gov object ID (the objectId from regulations_get_docket's documents). Comments usually attach to the docket's primary (proposed-rule) document.
fr_document_numberNoConvenience: fetch comments for a Federal Register document by its FR number (e.g. "2025-14555"). Resolves to the Regulations.gov document internally. Saves a get_document → get_docket hop.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeYesWhich mode produced this result.
shownNoComments returned on this page (list mode).
titleNoComment title (detail mode).
noticeNoGuidance — empty results, or that bodies need comment_id detail mode.
targetNoWhat was queried — docket / document / FR doc (list mode).
bodyTextNoComment body, HTML-stripped. A stub ("See Attached") when content is in attachments; null when empty (detail mode).
commentsNoComments matching the target, this page (list mode). Bodies/attachments require comment_id detail mode.
docketIdNoDocket ID, or null (detail mode).
commentIdNoComment ID (detail mode).
truncatedNoTrue when comments exceed the 5,000-record ceiling (list mode).
withdrawnNoTrue when the comment was withdrawn (detail mode).
postedDateNoPosted date (detail mode).
totalCountNoTotal comments matching the target (list mode).
attachmentsNoAttachment files — substance lives here when attachmentOnly is true (detail mode).
organizationNoSubmitter organization, or null (detail mode).
receivedDateNoReceived date, or null (detail mode).
submitterNameNoSubmitter name when public, or null (detail mode).
attachmentOnlyNoTrue when attachments exist and the body is a stub/empty — the substance is in the attachment files (detail mode).
restrictReasonNoReason the comment is restricted, or null (detail mode).
commentOnDocumentIdNoDocument the comment was filed on, or null (detail mode).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds value by disclosing that the list endpoint returns no body text or attachment info, that call comment_id to read body, that attachments with stub body have attachmentOnly=true, and that API key is required. This goes well beyond the annotations' minimal safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loading the purpose and then explaining parameters and behaviors. Every sentence adds value, though it is slightly long due to the need to cover four parameter modes. Slightly verbose but not wasteful; a clear 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameter modes, pagination, attachment handling, API key requirement), the description covers all essential aspects: what the tool retrieves, the distinct behaviors of list vs. detail endpoints, attachment handling, and prerequisite (API key). With an output schema present (not shown but referenced as 'has output schema: true'), the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds usage context beyond schema: e.g., labeling docket_id as 'broadest scope', comment_id as 'use to read a single comment's body', and explaining fr_document_number as a convenience that saves hops. This additional layer of guidance merits a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch public comments' and details the four distinct targeting parameters (docket_id, document_object_id, fr_document_number, comment_id), specifying the resource and scope. It distinguishes this tool from siblings by focusing exclusively on comments, and the phrase 'unique corpus of what citizens and organizations actually submitted' adds specific purpose context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs 'Provide exactly one targeting parameter' and explains when to use each: docket_id for broadest scope, document_object_id for one document, fr_document_number as convenience, comment_id to read a comment's body. It also notes limitations (20-page cap, sample for high-volume dockets) and suggests narrowing via document_object_id, providing clear when-to and when-not-to guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_get_cfr_sectionregulations_get_cfr_sectionA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoPoint-in-time date, ISO 8601 (YYYY-MM-DD). Default current. eCFR retains historical versions back to ~2017; a date before coverage is rejected.
partYesCFR part within the title (e.g. "50"). Parts can be alphanumeric. Obtain from regulations_browse_cfr or a Federal Register document's cfrReferences.
titleYesCFR title number (1–50). E.g. 40 for "Protection of Environment".
sectionNoSection identifier within the part (e.g. "50.1"). Omit to fetch the entire part — large parts can be very long; prefer a specific section when you know it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateYesThe issue/point-in-time date the text reflects (ISO 8601).
partYesCFR part.
titleYesCFR title number.
sourceYesProvenance: the synced mirror, or the live eCFR API.
cfrCiteYesAssembled cite, e.g. "40 CFR 50.1".
headingYesSection/part heading.
sectionYesSection identifier; null when a whole part was fetched.
bodyTextYesSection text, XML stripped to plain text (paragraph structure preserved).
sectionsNoPresent only when a whole part was fetched — each section in the part.
hierarchyPathYesHuman-readable hierarchy path.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint and idempotentHint; description adds that it uses eCFR, retains historical versions, and that early dates are rejected with guidance. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence is purposeful, no filler. Front-loaded with purpose, then usage guidelines, then parameter hints. Appropriate length for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description doesn't need to detail return format. It covers versioning, performance (local mirror), error cases (date rejection), and usage patterns. Complete for a read-only, idempotent tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 4 parameters (100%), but the description adds guidance on combining title, part, and section, and clarifies the behavior of omitting section. This adds meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads CFR section/part text, current or historical, and distinguishes from siblings like regulations_browse_cfr (for browsing structure) and regulations_search_rules (for searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to use (e.g., answering 'what does 40 CFR 50.1 say today'), when to omit section (fetch whole part with length warning), and date constraints (coverage since ~2017, rejection before). Also mentions local mirror for current reads and source reporting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_get_docketregulations_get_docketA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Regulations.gov caps a query at 20 pages (5,000 records); beyond that, narrow with document_types.
per_pageNoDocuments per page (5–250, default 25). Regulations.gov requires a minimum page size of 5.
docket_idYesRegulations.gov docket ID (e.g. "EPA-HQ-OAR-2025-0194"). Obtain from a Federal Register document's docketId (regulations_get_document) or an agency rulemaking reference.
document_typesNoFilter the docket's documents to these types. Omit for all. A docket often contains hundreds of "Supporting & Related Material" items — filter to "Proposed Rule"/"Rule" to find the rule documents.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rinYesRegulation Identifier Number ("Not Assigned" when none), or null.
shownNoDocuments returned on this page.
titleYesDocket title.
noticeNoGuidance when the docket has no documents.
abstractYesDocket abstract, or null.
agencyIdYesAgency ID (e.g. "EPA"), or null.
docketIdYesRegulations.gov docket ID.
objectIdYesDocket object ID, or null.
documentsYesDocuments filed in the docket (this page).
truncatedNoTrue when documentCount exceeds the returned set / 5,000 ceiling.
docketTypeYesDocket type (e.g. "Rulemaking"), or null.
modifyDateYesLast-modified date, or null.
documentCountYesTotal documents in the docket (before pagination).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true. The description adds valuable context beyond annotations: requires API key, pagination limits (20 pages, 5,000 records), and that dockets often contain hundreds of supporting materials.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four concise sentences, each carrying essential information. Front-loaded with purpose, then usage guidance, and finally prerequisite. No redundant or unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, output schema exists), the description is complete. It explains the docket concept, return contents, filtering strategies, and even provides a real-world example docket ID.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but description adds significant meaning: explains docket_id format, clarifies that document_types filter helps find rule documents, and mentions pagination behavior. This goes beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it pulls a rulemaking docket by docket ID, including metadata and documents. It specifies the exact resource (docket) and action (pull), and distinguishes from siblings like regulations_find_comments and Federal Register tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (to get a docket's metadata and documents) and prerequisites (requires API key). It also offers guidance on filtering document types to find rule documents, but does not explicitly exclude alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_get_documentregulations_get_documentA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_numberYesFederal Register document number (e.g. "2025-14555"). Obtain from regulations_search_rules results (the documentNumber field).
include_full_textNoWhen true, fetch and inline the document body as plain text (can be large). Default false returns the body URLs only; fetch full text only when you need to read the rule itself, not just its metadata and cross-links.

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYesDocument type.
datesYesFree-text dates summary from the rule, or null.
titleYesDocument title.
actionYesAction line (e.g. "Final rule."), or null.
htmlUrlYesFederal Register web URL for the document.
abstractYesAbstract summary, or null.
agenciesYesIssuing agency names.
docketIdYesRegulations.gov docket ID — chain into regulations_get_docket / find_comments. Null when not on Regulations.gov.
fullTextNoInlined plain-text body — present only when include_full_text=true.
rawTextUrlYesURL of the plain-text body.
bodyHtmlUrlYesURL of the rendered HTML body.
effectiveOnYesEffective date (ISO 8601), or null.
commentCountYesFR-reported comment count from Regulations.gov; null when not on Regulations.gov.
cfrReferencesYesAffected CFR parts — chain into regulations_get_cfr_section.
documentNumberYesFederal Register document number.
commentsCloseOnYesComment-period close date (ISO 8601); when set, still open for comment.
publicationDateYesPublication date (ISO 8601).
regulationIdNumbersYesRegulation Identifier Number(s) (RIN).
supportingDocumentsYesRelated Regulations.gov supporting documents.
regulationsGovDocumentIdYesRegulations.gov document ID — chain into regulations_find_comments (document-scoped). Null when absent.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint. The description adds value by noting that full text can be large (final rules tens of thousands of words) and that the output carries cross-source handles and chaining info. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with primary purpose, then details. Each sentence earns its place. Could be slightly more concise but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description need not explain return values. It explains cross-links, chaining, and large-text warning, which is sufficient for a simple fetch-by-id tool. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds meaningful usage guidance: document_number's format and source, and include_full_text's trade-off. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fetches a single Federal Register document by FR document number, listing full metadata and cross-source handles. It distinguishes from siblings like regulations_search_rules (which returns multiple) and regulations_get_docket (which gets a docket). The verb 'fetch' and resource 'Federal Register document' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises when to set include_full_text (only when rule body is needed), and explicitly chains to other tools (regulations_get_docket, regulations_find_comments, regulations_get_cfr_section). However, it does not explicitly state when to not use this tool in favor of siblings, though the context of sibling names helps infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_list_open_commentsregulations_list_open_commentsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1–50). The FR caps total_pages at 50; with per_page=100 this covers up to 5,000 open rules.
queryNoFull-text filter across open rules. Omit to list all rules currently open for comment.
agenciesNoFilter to one or more agencies by Federal Register agency slug (e.g. "environmental-protection-agency").
per_pageNoResults per page (1–100, default 20).
closing_beforeNoOnly rules whose comment period closes on or before this date, ISO 8601 (YYYY-MM-DD). Use to find deadlines you need to act on soon.

Output Schema

ParametersJSON Schema
NameRequiredDescription
asOfYesThe "today" the open-window filter used (ISO 8601).
keyedYesWhether comment counts were enriched (REGULATIONS_GOV_API_KEY present).
shownNoResults returned on this page.
noticeNoGuidance when nothing matched, or that comment counts are unavailable without a key.
resultsYesRules open for comment (this page), closing soonest first.
truncatedNoTrue when matches exceed the FR 5,000-record navigation ceiling.
totalCountYesTotal rules open for comment matching the filters.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond annotations: it is fully functional without a key, enriches rows with comment count when the key is set, and advises using sibling tools for more details. No contradictions with readOnlyHint and openWorldHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with the main purpose, and every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return format explanation is unnecessary. The description covers use cases, behavior, parameter nuances, and integration with sibling tools, making it fully informative for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with clear descriptions. The description adds value by noting the sort order and page limit implications, but the schema already does the heavy lifting, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool lists rules open for public comment, with filtering and sorting by closing date. It clearly identifies the resource and action, distinguishing it from siblings like regulations_search_rules and regulations_get_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a use case ('What can I still weigh in on?'), mentions the data source (Federal Register), and explains behavior with/without an API key. It references sibling tools for next steps, but lacks explicit 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regulations_search_rulesregulations_search_rulesA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1–50, default 1). The FR API caps total_pages at 50 — with per_page=100 this allows navigating up to 5,000 results. To reach beyond that window, narrow with published_after/published_before rather than paging deeper.
typeNoDocument types to include. PRORULE=Proposed Rule, RULE=Final Rule, NOTICE=Notice, PRESDOCU=Presidential Document. Omit for all types.
queryNoFull-text search across document title and body. Omit to browse by filters alone (e.g. all EPA proposed rules in a date range).
agenciesNoFilter to one or more agencies by Federal Register agency slug (e.g. "environmental-protection-agency", "securities-and-exchange-commission"). Slugs are the kebab-case agency name; if unsure, search by query and read the agency slugs off the results.
per_pageNoResults per page (1–100, default 20).
published_afterNoEarliest publication date, ISO 8601 (YYYY-MM-DD). Combine with published_before to window large result sets — the FR caps navigation at 50 pages.
published_beforeNoLatest publication date, ISO 8601 (YYYY-MM-DD).

Output Schema

ParametersJSON Schema
NameRequiredDescription
shownNoResults returned on this page.
noticeNoGuidance when nothing matched or when results were truncated.
resultsYesMatching Federal Register documents (this page).
truncatedNoTrue when matches exceed the FR 50-page (5,000-record) navigation ceiling.
totalCountYesTotal matches before pagination (FR count; capped at 10,000 by the API window).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses pagination limits (50 pages, 10,000 results) and suggests workarounds. Annotations confirm read-only (readOnlyHint=true), and no contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with front-loaded purpose. Slightly long but every sentence conveys essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description explains result context (document number, docket IDs, RINs, affected CFR parts) and links to other tools. Comprehensive for a search tool with good annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, yet the description adds significant value by explaining page limits, per_page max, and the meaning of type enum values. Provides usage guidance for each parameter beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the Federal Register with specific filters and identifies it as the primary discovery entry point, distinguishing it from sibling tools like regulations_get_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use (primary discovery) and how to narrow results (use date filters, not deeper paging). Notes that results chain into other tools. Could add explicit when-not scenarios, but sufficient context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    -
    maintenance
    Enables interaction with the Regulations.gov API to search federal rulemaking dockets, proposed and final rules, public comments, and comment periods. Supports tracking FAR/DFARS case histories and monitoring open comment periods across federal agencies with optional API key authentication for higher rate limits.
    Last updated

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.