eCFR MCP Server

by n8laymanco.huggingface.n8layman/ecfr-mcp-server

Federal regulations via MCP from the eCFR API

  • Remote endpoint
  • 10 tools
  • MIT

Uptime

Checked  · every day

100%from 4 days of checks

Up without downtime on 4 of 4 days with data.

  • No downtime
  • Degraded
  • Down over 5 minutes
  • No data
  • Not checked yet

Response time

Median 1142 ms, slowest 5% 1189 ms for the handshake and the tool list, over 30 days.

1500 ms750 ms0

How far each check got

  • Reached the address 100%
  • Completed the handshake 100%
  • Listed its tools 100%

10 tools at the last answer.

Every day
DayResultChecksMedian
3 Nov (today)No downtime11135 ms
2 NovNo downtime1of 11142 ms
1 NovNo downtime1of 11107 ms
31 OctNo downtime11171 ms

A failure counts as down time only when a second check five minutes later fails too. How we check

Connect to the publisher's own endpoint

Add to ~/.continue/config.yaml:

mcpServers:
  - name: "ecfr-mcp-server"
    type: sse
    url: "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
For agents: the install prompt

Every step above as one Markdown text, for an assistant installing it for you.

# Install the MCP server eCFR MCP Server (`co.huggingface.n8layman/ecfr-mcp-server`)

Its page: https://plug.directory/servers/co.huggingface.n8layman/ecfr-mcp-server

It runs on the publisher's servers; the client connects to its URL.

Use the section for the person's client.

## Claude Desktop

Paste into Settings › Connectors › Add custom connector:

```text
https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse
```

## Claude Code

Run in a terminal:

```sh
claude mcp add --transport sse ecfr-mcp-server https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse
```

## Cursor, Devin Desktop, LM Studio, Gemini CLI, oterm, ECA

Merge into the place for the person's client:

- Cursor: ~/.cursor/mcp.json
- Devin Desktop: ~/.config/devin/mcp_config.json
- LM Studio: mcp.json (Program › Install › Edit mcp.json)
- Gemini CLI: ~/.gemini/settings.json
- oterm: config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows)
- ECA: ~/.config/eca/config.json (global) or .eca/config.json in the project

```json
{
  "mcpServers": {
    "ecfr-mcp-server": {
      "url": "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## VS Code

Merge into .vscode/mcp.json:

```json
{
  "servers": {
    "ecfr-mcp-server": {
      "type": "sse",
      "url": "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Zed

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Cline, AnythingLLM, Augment Code

Merge into the place for the person's client:

- Cline: cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers)
- AnythingLLM: anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory
- Augment Code: Augment Settings Panel – MCP section – Import from JSON (VS Code extension)

```json
{
  "mcpServers": {
    "ecfr-mcp-server": {
      "type": "sse",
      "url": "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Continue

Merge into ~/.continue/config.yaml:

```yaml
mcpServers:
  - name: "ecfr-mcp-server"
    type: sse
    url: "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
```

## Goose

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Codex

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## mcp-client-cli, TUUI, BoltAI, Bob Shell, Kiro, Kiro CLI

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Agenvoy

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Amp

Merge into ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):

```json
{
  "amp.mcpServers": {
    "ecfr-mcp-server": {
      "url": "https://n8layman-ecfr-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

Then restart the client, or reload its MCP servers, and ask it to list the server's tools to confirm it started.

Tools 10

  • ecfr_mcp_server_ecfr_compare_regulations Compare regulatory text between two dates to identify changes. Use ecfr_get_title_versions to find valid amendment dates first, then pass two of those dates here. Returns: JSON with diff showing added and removed paragraphs.
  • ecfr_mcp_server_ecfr_get_regulation Retrieve regulatory text for a specific section on a given date. IMPORTANT: Call ecfr_get_title_versions first to get a valid date. Provide section whenever possible. Always provide title explicitly for Parts 46 and 50. Returns: JSON with the regulatory text, citation, and source URL.
  • ecfr_mcp_server_ecfr_get_title_structure Get the hierarchical table of contents for a CFR title on a given date. Use to discover valid part and section identifiers before calling ecfr_get_regulation. Start with depth 2 or 3. Depth 4 on broad titles (2, 42, 45) is blocked. Returns: JSON with the hierarchical structure of the title.
  • ecfr_mcp_server_ecfr_get_title_versions Get amendment/version history for a CFR title. CALL THIS FIRST before ecfr_get_regulation or ecfr_compare_regulations. Each returned version has a 'date' field to use in subsequent calls. Returns: JSON with version history including dates for use in other tools.
  • ecfr_mcp_server_ecfr_list_agencies List federal agencies with slugs and CFR references. Returns: JSON with matching agencies and their CFR references.
  • ecfr_mcp_server_ecfr_list_titles List all 50 CFR titles with names and latest amendment dates. Returns: JSON with all CFR titles.
  • ecfr_mcp_server_ecfr_regulatory_index Get metadata and usage guide for the eCFR MCP tools. READ THIS FIRST. Returns Uniform Guidance (2 CFR Part 200) metadata, latest amendment dates, starter citations, grants-relevant agency slugs, and key rules for valid tool calls. Key rules: - Call ecfr_get_title_versions BEFORE ecfr_get_regulation to get a valid date. - Use ecfr_search for topic/concept discovery. - Always provide title= explicitly; part numbers are NOT unique across titles. - Prefer section-level over part-level requests. Tool call workflow: - Topic question: ecfr_search -> ecfr_get_title_versions -> ecfr_get_regulation - Citation lookup: ecfr_get_title_versions -> ecfr_get_regulation - Change history: ecfr_get_title_versions -> ecfr_compare_regulations - Browse structure: ecfr_get_title_structure. Returns: JSON with regulatory index metadata, starter citations, and usage notes.
  • ecfr_mcp_server_ecfr_search Full-text search across the entire Code of Federal Regulations. START HERE for topic or concept questions. Returns sections ranked by relevance. For Uniform Guidance topics, use agency_slugs='office-of-management-and-budget'. Returns: JSON with search results including citations and source URLs.
  • ecfr_mcp_server_fetch_document Read any public web page, PDF or grants.gov opportunity by its URL and return the text. Use it to look up a website the user names, a funding announcement (RFA, NOFO, solicitation), a policy page or a sponsor guide. Use when the user gives a link instead of pasting text. A grants.gov opportunity link returns the opportunity record (dates, ceiling, cost sharing, synopsis, attachment links) from the grants.gov API; fetch the full-announcement PDF it lists in a second call. NSF and other script-rendered pages have no text: ask for the PDF link. Long documents come back in pages: when the result says truncated, call again with offset = next_offset. When replying to a person about a fetched announcement, include the url as a markdown link so they can open the original, and the attachment links when listed. Call this tool by the exact name it is listed under (it carries this server's prefix). Fetch only addresses the user gave, that a tool returned, or that you know exactly (a site's home pa
  • ecfr_mcp_server_grants_gov_search Search federal funding opportunities on grants.gov (RFAs, NOFOs, program solicitations, BAAs). START HERE when the user wants to find a funding announcement. Then pass a hit's link to the fetch_document tool (listed with this server's prefix, e.g. ecfr_mcp_server_fetch_document) for the full record and its attachment PDFs. When replying to a person, list the hits as a numbered markdown list, one line each: the title as a markdown link to the hit's link, then agency, status and close date. The person can click the link to open the announcement on grants.gov. Offer to fetch one for details or to start a budget. Returns: JSON with hit_count, hits (id, number, title, agency, status, open/close dates, link), the agency facet, and next_start when more remain.

From Hugging Face Spaces. Report a problem