FRTracker — Federal Regulatory Research

Source-linked US federal regulations: CFR provision history, obligations, rules, comments.

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
90%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'lookup_provision' description lacks action verbin lookup_provision
  • LOWTool 'get_requirement' description lacks action verbin get_requirement
  • LOWTool 'get_rule_comments' description lacks action verbin get_rule_comments

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,458Tokens (tool definitions)
~781 BTypical response size
Moderate attention impact (1.14% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "regulatory-research": {
      "url": "https://frtracker.app/mcp"
    }
  }
}

Remote endpoints

https://frtracker.app/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢lookup_provision(q, as_of)

Look up a CFR provision by citation (e.g. "21 CFR 1304.04") or by an exact quotation, optionally as of a past date. Returns the provision text with a ProvisionEvidence object (source, snapshot date, hashes). Explicitly reports ambiguity or no-match instead of guessing. Requires a free API key.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Citation (\"21 CFR 1304.04\") or an exact quote from regulatory text"
    },
    "as_of": {
      "type": "string",
      "description": "Optional YYYY-MM-DD snapshot upper bound (not in the future)"
    }
  },
  "required": [
    "q"
  ]
}
🟢get_provision_history(canonical_id)

Documented change history for a CFR provision by canonical id (e.g. "21-cfr-1304.04(a)"): before/after text, computed redline, observed dates, and candidate final rules. 404 when the provision is not in the documented-change set — absence of a documented change is not a claim that nothing changed. No API key required.

Input Schema

{
  "type": "object",
  "properties": {
    "canonical_id": {
      "type": "string",
      "description": "Canonical provision id, e.g. \"21-cfr-1304.04(a)\""
    }
  },
  "required": [
    "canonical_id"
  ]
}
🟢rules_amending(title, part, section, limit)

Which final rules amend a CFR part or section, read from each rule's own amendatory instructions ("Amend § 52.2120 by..."). Returns the rules, the sections each addresses, and dates. This reports what a rule SAYS it amends — it is not an attribution of any observed text change to that rule. Covers 2020-present; absence means not indexed, not that no rule amended it. No API key required.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "CFR title number, e.g. \"40\""
    },
    "part": {
      "type": "string",
      "description": "CFR part, e.g. \"52\""
    },
    "section": {
      "type": "string",
      "description": "Optional section id, e.g. \"52.2120\". Omit for all rules touching the part."
    },
    "limit": {
      "type": "integer",
      "description": "Max rules (default 50, max 200)"
    }
  },
  "required": [
    "title",
    "part"
  ]
}
🟢recent_cfr_changes(limit)

Most recent detected changes to CFR text (title, part, name, dates), newest first. No API key required.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Max rows (default 50, max 200)"
    }
  }
}
🟢get_stats

Aggregate corpus statistics: documents, obligations, pairs, agencies, coverage dates. No API key required.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢search_regulations(q, tab, limit, page)

Full-text search over Federal Register documents and extracted obligations (FTS5/BM25). Totals are approximate (total_exact: false). Requires an API key.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query (min 3 chars)"
    },
    "tab": {
      "type": "string",
      "enum": [
        "all",
        "fr",
        "obligations"
      ],
      "description": "Result type (default all)"
    },
    "limit": {
      "type": "integer",
      "description": "Max results (default 25, max 50)"
    },
    "page": {
      "type": "integer",
      "description": "Page number (default 1)"
    }
  },
  "required": [
    "q"
  ]
}
🟢list_rules(agency, type, pathway, docket, limit, ...)

List Federal Register documents with filters: agency slug, document type, rulemaking pathway (interim_final/temporary/direct_final = notice-and-comment bypass classes), or docket id. Requires an API key.

Input Schema

{
  "type": "object",
  "properties": {
    "agency": {
      "type": "string",
      "description": "Agency slug, e.g. \"environmental-protection-agency\""
    },
    "type": {
      "type": "string",
      "enum": [
        "final_rule",
        "proposed_rule",
        "notice",
        "correction"
      ],
      "description": "Document type"
    },
    "pathway": {
      "type": "string",
      "enum": [
        "interim_final",
        "temporary",
        "direct_final",
        "final",
        "other"
      ],
      "description": "Rulemaking pathway"
    },
    "docket": {
      "type": "string",
      "description": "Docket id"
    },
    "limit": {
      "type": "integer",
      "description": "Max rows (default 25, max 100)"
    },
    "page": {
      "type": "integer",
      "description": "Page number (default 1)"
    }
  }
}
🟢list_obligations(agency, deontic, q, limit, page)

List extracted regulatory obligations ("who must do what") with filters: agency, deontic class, free text. Obligations are machine-extracted with quality tiers; they are not legal advice. Requires an API key.

Input Schema

{
  "type": "object",
  "properties": {
    "agency": {
      "type": "string",
      "description": "Agency slug"
    },
    "deontic": {
      "type": "string",
      "enum": [
        "MUST",
        "MUST_NOT",
        "SHOULD",
        "MAY",
        "EXEMPT"
      ],
      "description": "Deontic class"
    },
    "q": {
      "type": "string",
      "description": "Full-text filter within obligations"
    },
    "limit": {
      "type": "integer",
      "description": "Max rows (default 25, max 100)"
    },
    "page": {
      "type": "integer",
      "description": "Page number (default 1)"
    }
  }
}
🟢get_requirement(id)

Detail for one extracted obligation by id, including its source rule and citation URL. Requires an API key.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Requirement id"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_rule_comments(doc, offset)

Public comments for a Federal Register document (organization, title, date, body where available). Coverage is partial and stated in the response. Requires an API key.

Input Schema

{
  "type": "object",
  "properties": {
    "doc": {
      "type": "string",
      "description": "Federal Register document number, e.g. \"2024-12345\""
    },
    "offset": {
      "type": "integer",
      "description": "Row offset for pagination"
    }
  },
  "required": [
    "doc"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using FRTracker — Federal Regulatory Research
Expected tools: search_regulations
find_specific
Find [specific item] using FRTracker — Federal Regulatory Research
Expected tools: search_regulations
retrieve_data
Get details about [item] from FRTracker — Federal Regulatory Research
Expected tools: get_provision_history
fetch_info
Fetch [information type] using FRTracker — Federal Regulatory Research
Expected tools: get_provision_history
list_items
List all [items] available in FRTracker — Federal Regulatory Research
Expected tools: list_rules

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools