Skip to content

Federal Register

by 1102tools.com · remote · local (pypi) · no sign-in to list tools · v1.0.18 · published by com.1102tools

Federal Register proposed and final rules, notices, executive orders, and FAR cases. 8 tools.

Changes · 1

8 tools: 1 change things and 7 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http federal-register https://federal-register.1102tools.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn1 info
  • The server marks "open_comment_periods" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "open_comment_periods" says "open": a word for a change.

    What this check looks for
  • The description is 3,582 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...reaches 5,000 documents; split the publication date range beyond that)."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 1Claude Code: ask
  • open_comment_periodsFind source-reported open comment periods, soonest indexed deadline first.1 finding

    Why it is in this group

    • The name "open_comment_periods" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "open_comment_periods" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "open_comment_periods" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Find source-reported open comment periods, soonest indexed deadline first. Covers proposed rules, notices, AND final/interim rules that accept comments (dozens of RULE-type documents have open periods at any time). Queries for comment close date >= today, scans up to 500 matching documents oldest-published first (where the soonest deadlines live), sorts by close date, and returns the first `limit`. Source scope: total_open is the API's matching metadata count; scanned is how many this call examined. When total_open exceeds scanned, narrow with agencies/term for complete indexed coverage. A very recently published document with an unusually short comment window can fall outside the scan in that oversubscribed case. complete means the matching indexed records were scanned, not that every currently open opportunity or controlling deadline was verified. The API's comments_close_on metadata can disagree with DATES after an extension or reopening. Even a zero result needs docket/subject search_documents and get_document DATES/linked publication checks before ruling out comments. Default: searches all agencies. Pass agency slugs to narrow scope, e.g. ['defense-acquisition-regulations-system'] for DFARS or ['general-services-administration'] for GSA and GSAR. Parameters: - far_council: True for open FAR proposed rules and FAR information collections (documents filed jointly by DoD, GSA and NASA; there is no single FAR agency slug and the OFPP tag only appears from about mid-2025). Cannot be combined with agencies. - limit: max documents returned after sorting (default 50, max 100). Unfiltered dumps across all agencies can approach 200KB; several broad agencies together (e.g. DoD + GSA) can pass 100KB, so lower limit for those.

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Open Comment Periods
Only reads 7Claude Code: allow
  • far_case_historyGet all Federal Register documents for a FAR/DFARS case or FAC.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get all Federal Register documents for a FAR/DFARS case or FAC. Pass a docket ID like 'FAR Case 2023-008' (or a FAC number like 'FAC 2025-06'). Runs BOTH a docket-id search and a quoted full-text search, then merges the two result sets (deduped by document number) in chronological order to show the full rulemaking progression: ANPRM -> proposed rule -> final rule -> corrections. The dual query matters: FAC introduction and companion documents often carry only internal docket numbers, so a docket-only search returns a partial set. Docket matching is token-based, not substring: 'FAR Case 2023' matches all 2023 cases (token '2023' matches '2023-008'), but a partial token like 'FAR Case 20' matches nothing. Be specific to avoid false positives. Each document carries matched_by: 'docket' or 'docket+text' when its docket ids name the case, 'text' when it only mentions the case in its text (regulatory agendas, related or companion cases, FAC introductions, public meetings). Read 'text' matches with care. Each underlying search returns at most 100 documents. truncated=True flags that one of the searches hit that cap (docket_matches and term_matches carry the API's full counts); narrow the docket_id if so. Minimum docket_id length is 3 characters to prevent token matches that return unrelated documents (e.g. 'x' matched 65 random dockets in 0.1.x).

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: FAR Case History
  • get_documentGet full details for a single Federal Register document by number.No findings

    Why it is in this group

    • The name "get_document" says "get": a word for reading.
    Description, as the server wrote it
    Get full details for a single Federal Register document by number. Returns all available fields including full text URLs, docket info, RIN details, page views, topics, corrections, and CFR references. Document numbers look like '2026-03065' (modern), 'E9-12940' or 'X94-70302' (legacy pre-2011 archive), or 'C1-2026-01234' (corrections).

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Get Document
  • get_documents_batchFetch multiple documents in one call (up to ~20).No findings

    Why it is in this group

    • The name "get_documents_batch" says "get": a word for reading.
    Description, as the server wrote it
    Fetch multiple documents in one call (up to ~20). Pass a list of document numbers. More efficient than individual calls. Always returns {count, results, [errors]}; errors.not_found lists any requested numbers the API could not locate. Results come back in the order requested. Image metadata (images, images_metadata) is left out to keep batches small; get_document returns it.

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Get Documents Batch
  • get_facet_countsGet document counts grouped by type, agency, topic, or time period.No findings

    Why it is in this group

    • The name "get_facet_counts" says "get": a word for reading.
    Description, as the server wrote it
    Get document counts grouped by type, agency, topic, or time period. Accepts the same filter conditions as search_documents. Returns aggregated counts without individual document results. Facets: type, agency, topic (categorical) plus daily, weekly, monthly, quarterly, yearly (publication-date buckets, useful for trend lines). Useful for understanding the volume of rulemaking by agency, type, or over time within a date range before drilling into specific documents. presidential_document_type (executive_order, proclamation, memorandum, determination, notice, presidential_order, other) narrows to one kind of presidential document, e.g. executive orders per month. At least one filter (agencies, doc_types, term, pub_date_gte/lte, or cfr_title) is required. An unfiltered facet query returns the entire all-time aggregate. FAR Council counts: facets cannot express "filed by DoD AND GSA AND NASA", and no single agency slug covers FAR documents (OFPP only from about mid-2025; 'federal-acquisition-regulation-system' holds 2 documents ever). Count FAR rules with search_documents(far_council=True, doc_types=[...], pub_date_gte/lte=...) and read its count.

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Get Facet Counts
  • get_public_inspectionGet current public inspection documents (pre-publication).No findings

    Why it is in this group

    • The name "get_public_inspection" says "get": a word for reading.
    Description, as the server wrote it
    Get current public inspection documents (pre-publication). Public inspection documents are FR documents filed for publication but not yet published. Updated business days only. The current-PI endpoint does NOT support server-side filtering. This tool fetches all current PI documents and filters client-side by agency and/or keyword in the title. Useful for getting early notice of upcoming regulatory actions. Parameters: - agency_filter: case-insensitive substring match against agency slugs, names, and short names. Sub-agencies are included: PI documents list only the FILING sub-agency, so the filter is also matched against the Federal Register agency list and every agency below a matching one counts ('defense-department' or 'DOD' also returns Army, Navy, Air Force, Corps of Engineers and Defense Logistics Agency filings). filters_applied.includes_sub_agencies says whether that worked. - keyword_filter: substring match against document titles - limit: max documents returned after filtering (default 50, max 500). Unfiltered dumps can exceed 170KB; narrow with filters or raise the cap.

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Get Public Inspection
  • list_agenciesList agencies with their IDs, names, slugs, and parent agencies.No findings

    Why it is in this group

    • The name "list_agencies" says "list": a word for reading.
    Description, as the server wrote it
    List agencies with their IDs, names, slugs, and parent agencies. Use the 'slug' values with search_documents() and other tools. Common procurement slugs: - defense-department (DoD) - general-services-administration (GSA) - national-aeronautics-and-space-administration (NASA) - defense-acquisition-regulations-system (DARS/DFARS) - federal-procurement-policy-office (OFPP and the CAS Board) - small-business-administration (SBA) - veterans-affairs-department (VA) The FAR has no single slug. FAR rules and notices are filed jointly under DoD, GSA and NASA; OFPP was added only from about mid-2025, so the OFPP slug misses earlier FAR rules. The agency named 'Federal Acquisition Regulation System' (federal-acquisition-regulation-system) holds 2 documents ever; it carries a note in these results. For FAR documents use search_documents(far_council=True) or open_comment_periods(far_council=True). Parameters: - query: optional case-insensitive substring match against name, short_name, and slug. Recommended: narrow results before pulling full detail. - include_detail: if False (default), returns only id/name/short_name/slug/parent_id. If True, returns all fields (description, urls, etc.). The full dump is ~700KB.

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: List Agencies
  • search_documentsSearch Federal Register documents.1 finding

    Why it is in this group

    • The name "search_documents" says "search": a word for reading.

    Findings

    • Info

      The description is 3,582 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...reaches 5,000 documents; split the publication date range beyond that)."

      What this check looks for
    Description, as the server wrote it
    Search Federal Register documents. The primary tool for finding proposed rules, final rules, notices, and presidential documents published in the Federal Register since 1994. Key parameters: - agencies: list of agency URL slugs (OR logic). Use list_agencies() to find slugs. Common: 'defense-department', 'general-services-administration', 'small-business-administration', 'defense-acquisition-regulations-system' (DFARS), 'federal-procurement-policy-office' (OFPP and the CAS Board) - far_council: True for FAR rules, proposed rules and notices (the FAR Council's output). There is no single FAR agency slug: FAR documents are filed jointly under DoD, GSA and NASA, OFPP was added only from about mid-2025 (so the OFPP slug misses earlier FAR rules and adds CAS Board documents), and 'federal-acquisition-regulation-system' holds 2 documents ever. far_council=True keeps documents filed by all three of DoD, GSA and NASA; count is exact when far_council.complete is true (narrow by date if not). Cannot be combined with agencies. For FAR clause changes only, cfr_title=48 + cfr_part='1-99' also works. - doc_types: PRORULE (proposed rule), RULE (final rule), NOTICE, PRESDOCU - term: full-text keyword search (strips stop words) - docket_id: docket identifier (token match). 'FAR Case 2023-008' = exact, 'FAR Case 2023' = all 2023 cases; partial tokens like 'FAR Case 20' match nothing - regulation_id_number: RIN (precise match, e.g., '9000-AO56') - pub_date_gte/lte: publication date range (YYYY-MM-DD) - comment_date_gte/lte: comment close date range - effective_date_gte/lte: effective date range - correction: True finds only the Office of the Federal Register's own correction notices (C1- prefix documents). Agency-issued corrections ('Final rule; correction.', 'Correcting amendment.') are ordinary RULE documents and are not flagged: search doc_types=['RULE'] with term='correction' and check each document's action. - significant: True for EO 12866 significant rules only - cfr_title + cfr_part: documents affecting a CFR location, e.g. cfr_title=48, cfr_part='52' for FAR part 52 (part accepts ranges like '1-99'; cfr_part requires cfr_title) - presidential_document_type: executive_order, proclamation, memorandum, determination, notice, presidential_order, other. Use ['executive_order'] to count or list executive orders: doc_types= ['PRESDOCU'] alone also returns proclamations, memoranda and notices. - executive_order_number: one EO by number (e.g. 14275) - order: 'executive_order_number' sorts EOs by number (pair it with presidential_document_type=['executive_order']) Presidential documents carry executive_order_number, subtype (Executive Order, Proclamation, Memorandum, ...), signing_date and presidential_document_number; other documents omit those keys. Count caps at 10,000 for broad queries (count_capped=true says so); use get_facet_counts for the true number, or narrower date ranges. per_page capped at 100 to stay within MCP response size limits. Paging: the Federal Register serves only pages 1-50 of any search (a later page silently comes back as page 1), so page > 50 is refused. total_pages is the true page count; when it passes 50, max_reachable_page and paging_note say how to reach the rest (per_page=100 reaches 5,000 documents; split the publication date range beyond that).

    Annotations the server declares

    • destructiveHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: Search Documents

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.18. Values in angle brackets are yours to fill in.

claude mcp add --transport http federal-register https://federal-register.1102tools.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__federal-register__search_documents",
      "mcp__federal-register__get_document",
      "mcp__federal-register__get_documents_batch",
      "mcp__federal-register__get_facet_counts",
      "mcp__federal-register__get_public_inspection",
      "mcp__federal-register__list_agencies",
      "mcp__federal-register__far_case_history"
    ],
    "ask": [
      "mcp__federal-register__open_comment_periods"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as federal-register. Review it before you use it.