Skip to main content
Glama

US Federal Regulations (CFR)

Search the Federal Register

search_federal_register
Read-onlyIdempotent

Use this when the user asks what federal agencies have published, proposed or announced, including a rulemaking, for example "what has the FDA proposed on food dyes?", "find final rules on noncompete agreements" or "which executive orders mention AI this year?". Pass the words to find and optionally the document type (rule, proposed_rule, notice, presidential_document) and a publication date range. Returns each document's title, type, agencies, publication date, abstract, effective date, comment deadline, the CFR parts it changes and a link. This is general information, not legal advice. Do not use it to read the current text of a regulation (use get_cfr_section), or for state law, bills, court decisions or non-US rules.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_federal_register"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMost documents to return. Default 5.
orderNoDefault relevance.
queryYesWords to find in Federal Register documents, for example 'noncompete' or 'PFAS drinking water'.
publishedToNoLatest publication date, as YYYY-MM-DD.
documentTypeNorule is a final rule, proposed_rule a proposal open to comment, notice an agency notice, presidential_document an executive order or proclamation.
publishedFromNoEarliest publication date, as YYYY-MM-DD.

Output Schema

NameRequiredDescriptionDefault
queryYes
noticeYes
sourceYes
documentsYes
totalMatchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent and open-world behavior, so the description focuses on what the annotations cannot say: which document families are in scope and which are explicitly out of scope. It also enumerates the returned fields and adds a 'not legal advice' caveat, though it says nothing about result ordering behavior or limits, which stay in the schema.

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?

Front-loaded with the usage trigger, then filters, then return shape, then exclusions — a sensible order. The return-field sentence is long but productive; a mild trim of the redundant enum recap would tighten it further.

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?

Covers trigger conditions, scope boundaries, returned fields, and a usage caveat, which is more than enough for an agent to call it correctly. Since an output schema exists, leaving result structure to it is acceptable; only pagination/limit behavior is left entirely implicit.

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?

Schema coverage is 100% with two enums fully documented, so the schema carries the parameter burden. The description restates the document-type and date-range filters in prose and glosses the enum values, but adds no syntax, defaults, or constraints beyond what the schema already gives (default 5, max 10, YYYY-MM-DD).

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?

Names a specific verb and resource ('federal agencies have published, proposed or announced') and scopes it to rulemaking content, with concrete example queries that make the retrieval target unmistakable. It is clearly differentiated from get_cfr_section, which reads regulation text rather than searching publications.

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?

Opens with an explicit trigger ('Use this when the user asks...'), then gives negative routing: do not use for current regulation text (points to get_cfr_section), state law, bills, court decisions, or non-US rules. An agent can decide between this and its siblings without inspecting any schema.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.