cfr-mcp
This server gives AI assistants access to the U.S. Code of Federal Regulations (CFR), returning actual regulation text and citation-linked history instead of guessed answers.
Look up the full text of a specific CFR citation (e.g., 21 CFR 101.9, 40 CFR 261.4(b)(1), or a whole part/subpart as an outline).
Search regulations across the CFR, returning citations and snippets (not full text) to save context.
Find which titles/chapters/parts contain a term, with hit counts and no text fetched.
Browse the hierarchy of a CFR title or part without pulling regulation text.
See what changed for a citation: amendment dates linked to Federal Register rules, plus published corrections.
Compare versions of a citation's text between two dates to see exactly what an amendment changed.
List federal agencies and map them to the CFR titles/chapters they administer.
Use point-in-time dates (YYYY-MM-DD) to read regulations as they stood on a given day.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cfr-mcpwhat does 21 CFR 101.9 require?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cfr-mcp
An MCP server that gives AI assistants access to the US Code of Federal Regulations.
Ask "what does 21 CFR 101.9 require?" or "has 40 CFR 261 changed since 2023?" and get the actual regulation text, with citations, instead of a plausible-sounding guess.
Unofficial community project. Not affiliated with or endorsed by the Office of the Federal Register, NARA, or GPO, and uses no government seals or logos.
Maintained by one person as a personal project and provided as-is (MIT). Issues and pull requests are welcome but may not get a quick response. To report a security issue, see SECURITY.md.
Install
Requires Python 3.11+. No API key — the eCFR and Federal Register APIs are open.
Claude Code:
claude mcp add cfr -- uvx cfr-mcpAny other MCP client:
{
"mcpServers": {
"cfr": {
"command": "uvx",
"args": ["cfr-mcp"]
}
}
}Related MCP server: CourtListener MCP Server
Tools
Tool | What it does |
| Text of a citation — |
| Full-text search; returns citations and snippets, never bodies |
| Which titles contain a term, with hit counts. Fetches no text |
| The hierarchy of a title or part, no text |
| Amendment history for a citation, linking each change to the Federal Register rule that caused it, plus published corrections |
| Diff of a citation's text between two dates — see exactly what an amendment changed |
| Maps agency names to the CFR titles they administer |
Point-in-time works throughout: pass date as YYYY-MM-DD to read the CFR as it stood.
Design notes
Context budget is the whole game. The eCFR full endpoint returns an entire
downloadable XML document for a title-level request. Every tool here caps output and
degrades to an outline rather than dumping text into the model's context. Title-level
XML requests are refused outright.
Dates must be resolved, not assumed. Versioner routes 404 on dates that aren't
valid issue dates for a title, so the client resolves through titles.json first
rather than passing today's date blindly.
Caching is courtesy. The eCFR publishes no rate limit and has no key to identify
callers politely, so the client caches to disk (historical dates forever, since
point-in-time content is immutable) and self-limits concurrency. The cache lives in
~/.cache/cfr-mcp (respects XDG_CACHE_HOME); set CFR_MCP_CACHE_DIR to relocate it.
Legal
Regulation text is free to reproduce. 1 CFR 2.6 states that any person may reproduce or republish material appearing in the Federal Register, with no restrictions on what is reproduced, who reproduces it, or where. Federal government works are also outside copyright under 17 U.S.C. §105.
Incorporation by reference. Some CFR sections incorporate private standards (ASTM, NFPA, ASHRAE) whose copyright status after incorporation remains unsettled. The eCFR does not contain the text of those standards and neither does this server — it returns the citation only. Obtain standards from the issuing organization or the Office of the Federal Register reading room.
Status of the text. The eCFR is authoritative but unofficial. Anyone relying on it for legal research should verify against the current official CFR, the daily Federal Register, and the List of CFR Sections Affected (LSA).
Not legal advice. This is a retrieval tool. It returns the text of regulations; it does not tell you whether you are compliant with them.
Development
uv sync --extra dev
uv run pytestMIT licensed.
Available Tools
7 toolsbrowse_structureA
Return the CFR hierarchy for a title (or one part) without any text.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| part | No | ||
| title | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It usefully discloses that the tool returns only hierarchy and no text, but it does not explain behavior around the optional date parameter, what happens when part is omitted, or any edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no filler. It front-loads the action and resource, and every word adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, but with no annotations and no parameter descriptions, the description should provide more context about the date parameter and intended usage. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only implicitly covers 'title' and 'part'. The 'date' parameter is completely undocumented in both the schema and the description, so the description only partially compensates for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return'), names the resource ('CFR hierarchy'), and states the input scope ('for a title (or one part)') and output scope ('without any text'). This clearly differentiates the tool from siblings like search_regulations and lookup_citation, which imply text-oriented operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys the core use case—browsing the CFR hierarchy without content—and implies when it is appropriate. However, it does not explicitly mention alternatives or state when not to use this tool, leaving usage largely to inference from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_a | Yes | Earlier date, YYYY-MM-DD | |
| date_b | No | Later date, YYYY-MM-DD. Omit for the current text. | |
| citation | Yes | A section citation like '40 CFR 261.4', optionally with a paragraph: '40 CFR 261.4(b)' | |
| max_chars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the core operation (showing a diff), the minimum date constraint ('Both dates must be 2017-01-03 or later'), and the intent of comparing pre/post amendment text. It does not explicitly state that the tool is read-only, but 'Show' and 'diff' strongly imply a non-destructive operation. Some detail about output formatting is left to the output schema, which is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four tight sentences: purpose, workflow, parameter mapping, and a constraint. Each sentence earns its place, the most important information is front-loaded, and there is no repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to call the tool correctly: it explains what the tool does, how to choose dates, which sibling to use first, and an important date restriction. With an output schema present, the description does not need to document return values. The optional max_chars parameter is absent, but its name and default make it self-evident, so this is not a blocking gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantic guidance beyond the schema: it maps date_a to the day before an amendment and date_b to the amendment date, and imposes a global minimum date. The schema already covers citation and date formats, and date_b's optionality. However, max_chars is not mentioned in the description and appears to lack schema coverage, so the description does not fully compensate for that one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-and-resource statement: 'Show how a citation's text differs between two dates, as a diff.' This immediately distinguishes it from siblings like lookup_citation and what_changed. The mention of what_changed further clarifies that compare_versions is specifically for diffing text between dates, not for finding dates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use what_changed first to find amendment dates worth comparing' and then gives a concrete recipe for date_a and date_b. This tells the agent when to use this tool and how it fits with an alternative, leaving no ambiguity about the recommended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses the output type (agencies and CFR titles/chapters) and hints at the intended lookup flow, but it does not document filter matching behavior, default output when filter is null, or other edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The core function is stated first, followed by a concrete usage example. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one optional parameter, an output schema is present, and the description gives both the purpose and intended usage. It is nearly complete, with only minor missing details about filter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies the filter parameter is an agency name such as 'EPA' used to find the right CFR title, but it does not explicitly define how matching works or what null does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'List federal agencies and the CFR titles/chapters they administer.' It states exactly what the tool returns and makes the tool distinguishable from siblings like search_regulations or browse_structure, which perform different tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides a concrete use case and sequencing: 'Use this to turn a name like EPA into the right CRT title before searching.' This clearly signals when to use the tool, though it does not explicitly describe when not to use it or name an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYY-MM-DD for point-in-time text. Omit for current. | |
| citation | Yes | e.g. '21 CFR 101.9', '40 CFR 261.4(b)(1)', '40 CFR Part 261 Subpart C' | |
| max_chars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It meaningfully discloses a non-obvious behavior: large parts return an outline instead of full text, and it gives a follow-up strategy. It could add more about truncation or formatting, but the output schema covers return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, each carrying necessary information: the core purpose and the important part-vs-section behavioral caveat. No filler or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main retrieval behavior and the key edge case of large parts. The main gaps are the lack of sibling routing and the unexplained max_chars parameter, but the schema provides good examples and the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning beyond the schema. The citation and date parameters are already well described in the schema, but max_chars has no description there and the tool description does not clarify it either. At 67% schema coverage, the description should have compensated for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'Retrieve the text of a specific CFR citation.' The added note about large parts returning outlines helps clarify scope, though it does not explicitly distinguish this tool from siblings like search_regulations or browse_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: for a specific section citation, and as a follow-up after a part-level outline. However, it does not explicitly mention alternatives or state when not to use this tool versus the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| limit | No | ||
| query | Yes | ||
| title | No | Limit to a CFR title | |
| agency | No | Agency slug from list_agencies |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clearly discloses a key limitation: results are only citations, headings, and short snippets, and never full text. It does not explain filtering semantics or rate limits, but the most important behavioral trait is stated directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. It front-loads the core purpose, immediately states the output limitation, and gives a concise actionable follow-up.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for launching a search and understanding the snippet-only limitation, and an output schema exists to document return values. However, it does not explain the optional filters (date, title, agency), default limit behavior, or how it differs from the sibling where_does_term_appear, leaving some room for agent confusion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific guidance. Schema description coverage is only 40%, covering title and agency, while query, date, and limit are essentially undocumented. The tool name implies query is the search term, but date format, limit behavior, and filter interactions are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a precise verb ('Full-text search'), a clear resource ('the CFR'), and the scope ('across the CFR'). It differentiates the tool from sibling lookup_citation by explicitly stating that it returns only citations, headings, and snippets, not full text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to follow up with lookup_citation to read full text, which clarifies when to use this tool versus that sibling. However, it does not address alternatives like where_does_term_appear or specify when to use them instead, so the guidance is incomplete across all siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | YYYY-MM-DD | |
| citation | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It does well by disclosing that output includes amendment dates, corrections, cross-links to Federal Register rules, and URLs explaining the 'why.' It stops short of describing edge cases such as how 'since' changes results or what happens when no amendments exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The main function is front-loaded, the cross-link context is useful, and the compare_versions follow-up is a helpful closing action. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives solid context about output and workflow, and the presence of an output schema reduces the need to explain return structure. However, the tool is not fully self-sufficient because the optional 'since' parameter's semantics are left unclear and 'citation' input format is not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'citation' has no schema description and 'since' only has 'YYYY-MM-DD' without explaining what it filters. The tool description does not compensate; it only uses the word 'citation' generically and never explains the optional 'since' parameter, leaving an agent to guess its intended effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List amendment dates for a citation, plus any published corrections,' giving a specific verb, resource, and scope. It also distinguishes itself from compare_versions by explicitly positioning that sibling as the follow-up for seeing text changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells the agent to use compare_versions next to see actual text changes, which defines a workflow and differentiates this tool from a key sibling. It does not, however, describe when to choose lookup_citation or search_regulations instead, so guidance is good but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses an important trait: 'fetches no regulation text at all' and calls itself a 'cheap orientation tool.' However, it leaves out how the date parameter affects behavior, result limits, or edge cases, so it is informative but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences: the first states the purpose and output, the second gives the use case and a key behavioral trait. Every sentence earns its place and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter orientation tool, the description covers purpose, output shape, when to use it, and a key behavioral constraint. An output schema exists for return details. The main missing pieces are the date parameter semantics and explicit sibling routing, but these are minor relative to the overall clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for both parameters. It gives meaning to query by calling it a 'term' and by describing the output as containing titles/chapters/parts with hit counts, but the optional date parameter is never explained. This is a significant gap in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Show which titles/chapters/parts contain a term, with hit counts.' It also frames the tool as a cheap orientation step before searching, which distinguishes it from search-oriented siblings like search_regulations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear decision rule: 'Use this before searching when you don't know which part of the CFR governs a topic.' It does not explicitly name alternative tools or state when not to use it, but the intended context is concrete and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search and trace US federal rules across the Federal Register, eCFR, and Regulations.gov.
Source-linked US federal regulations: CFR provision history, obligations, rules, comments.
US Federal Register for AI agents: rules, notices, executive orders, agency lookup. No keys.
Search U.S. case law, fetch opinions, and ask matter-aware legal questions over your documents.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to search and retrieve executive orders, presidential documents, rules, and agency information from the Federal Register API through natural language queries.1256MIT
- FlicenseNot gradedqualityFmaintenanceEnables LLM-friendly access to the CourtListener legal database and eCFR for searching legal opinions, court cases, judges, documents, and federal regulations.12
- AlicenseNot gradedqualityCmaintenanceEnables querying the US Federal Register API for federal register documents and data through natural language.16MIT
- FlicenseNot gradedqualityCmaintenanceA production-quality MCP server that exposes the official eCFR API as structured tools for AI-driven contract compliance, enabling retrieval of relevant Code of Federal Regulations by clauses extracted from contracts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mccallar/cfr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server