cfr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CFR_MCP_CACHE_DIR | No | Directory to use for the disk cache. Overrides the default cache location (~/.cache/cfr-mcp) and XDG_CACHE_HOME. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lookup_citationA | Retrieve the text of a specific CFR citation. Large parts return an outline of their sections instead of full text; follow up with a specific section citation to read it. |
| search_regulationsA | Full-text search across the CFR. Returns citations, headings and short snippets only — never full text. Follow up with lookup_citation to read anything. |
| where_does_term_appearA | Show which titles/chapters/parts contain a term, with hit counts. Cheap orientation tool: fetches no regulation text at all. Use this before searching when you don't know which part of the CFR governs a topic. |
| browse_structureA | Return the CFR hierarchy for a title (or one part) without any text. |
| what_changedA | List amendment dates for a citation, plus any published corrections. Each amendment is cross-linked to the Federal Register rule that caused it, with a URL to the rulemaking (whose preamble explains the why). Follow up with compare_versions to see exactly what text changed. |
| compare_versionsA | Show how a citation's text differs between two dates, as a diff. Use what_changed first to find amendment dates worth comparing; pass the day before an amendment as date_a and the amendment date as date_b to see exactly what that rule changed. Both dates must be 2017-01-03 or later. |
| list_agenciesA | List federal agencies and the CFR titles/chapters they administer. Use this to turn a name like "EPA" into the right CFR title before searching. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool occupies a distinct niche: search returns snippets, where_does_term_appear gives only hit counts, lookup_citation retrieves full text, browse_structure shows hierarchy, what_changed lists dates, compare_versions shows diffs, and list_agencies maps agencies to titles. The descriptions explicitly cross-reference each other to guide the correct choice.
Most tools follow a clear verb_noun pattern (lookup_citation, search_regulations, browse_structure, compare_versions, list_agencies), but two tools use interrogative phrases (where_does_term_appear, what_changed). This is a minor deviation that remains readable and predictable, but it is not perfectly uniform.
Seven tools is well within the ideal range for a focused legal-research server. Each tool serves a distinct and necessary function for navigating, searching, and analyzing the CFR without redundancy or bloat.
The tool set covers the full research workflow: orientation (list_agencies, where_does_term_appear), discovery (search_regulations, browse_structure), retrieval (lookup_citation), and historical analysis (what_changed, compare_versions). There are no obvious dead ends; each tool refers to others for follow-up, creating a coherent end-to-end experience.