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
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools