Federal Register MCP

by 1102tools

356 downloads Not rated yet

About

MCP server for the Federal Register API: proposed rules, final rules, notices, executive orders, comment periods, and FAR case tracking since 1994. Built for regulatory tracking and acquisition policy monitoring. 8 tools.

Explore

- search_documents – full-text search with Boolean operators, filters by agency, CFR part, RIN, docket, date, document type
- get_document and get_documents_batch – retrieve full text and metadata for one or many document numbers
- open_comment_periods – list all currently open comment periods, sorted by closing date, filterable by agency or CFR part
- get_public_inspection – view documents posted to public inspection before official publication
- far_case_history – track a FAR case through ANPRM → NPRM → Final Rule → Corrections
- list_agencies and get_facet_counts – discover agencies and aggregate document counts by agency, CFR part, or document type

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Federal Register MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

No API key required. The Federal Register API is fully public.

``json
{
"mcpServers": {
"federal-register": {
"command": "uvx",
"args": ["--refresh-package", "federal-register-mcp", "--from", "federal-register-mcp", "federal-register-mcp"]
}
}
}
`

TOML config (Codex):

`toml
[mcp_servers.federal-register]
command = "uvx"
args = ["--refresh-package", "federal-register-mcp", "--from", "federal-register-mcp", "federal-register-mcp"]
``

PyPI: pip install federal-register-mcp or uvx federal-register-mcp

keyword_search

Search GSA CALC+ ceiling rates by keyword. Performs wildcard matching across labor_category, vendor_name, and idv_piid fields. This is the primary search tool for finding rates. Returns matching rate records plus aggregation statistics (wage_stats, percentiles, education breakdown, business size) covering the FULL result set even when individual hits are capped at 10,000. Important notes: - These are NTE (not-to-exceed) ceiling rates, not prices paid - Rates are fully burdened hourly rates from GSA MAS contracts - Data refreshes nightly from vendor price proposal tables - Use P50 from percentiles for median (more accurate than median_price) Filter parameters: - education_level: AA, BA, HS, MA, PHD, TEC (pipe-delimited for OR: 'BA|MA') - experience_min/max: years of experience range - price_min/max: hourly rate range in USD - business_size: 'S' (small) or 'O' (other/large) - security_clearance: 'yes' or 'no' - sin: Special Item Number (e.g., '54151S' for IT Professional Services) - worksite: 'Customer', 'Contractor', or 'Both' ordering: current_price, labor_category, vendor_name, education_level, min_years_experience. sort: 'asc' or 'desc'. exclude: pipe-delimited hit _id values to exclude from results and stats.

exact_search

Exact match search on a specific field. Use suggest_contains() first to discover the exact field value, then pass it here. The API requires exact string matching -- partial matches return 0 results. Fields: labor_category, vendor_name, idv_piid (GSA MAS contract number).

suggest_contains

Discover exact field values via autocomplete/contains matching. Returns aggregation buckets showing matching values and their record counts. Use this BEFORE exact_search() to find the right value string. Minimum 2 characters required for the search term. Example workflow: 1. suggest_contains('vendor_name', 'booz') -> finds 'Booz Allen Hamilton Inc.' 2. exact_search('vendor_name', 'Booz Allen Hamilton Inc.') -> all their rates

filtered_browse

Browse rates with filters only (no search keyword). Useful for market segment statistics: "what do all BA-level rates with 5-15 years experience look like across all of GSA MAS?" Returns rate records plus full aggregation statistics.

igce_benchmark

Get ceiling rate benchmarks for IGCE development. Returns statistical summary for a labor category: count, min, max, avg, median, standard deviation, percentile distribution (P10-P90), education breakdown, and outlier bounds. This is the primary tool for building Independent Government Cost Estimates. The returned statistics represent the market distribution of GSA MAS ceiling rates for comparable labor categories. Reminder: these are ceiling rates (max a contractor can charge), not prices paid. Actual task order rates should be lower per FAR 8.405-2(d).

price_reasonableness_check

Evaluate a proposed hourly rate against GSA ceiling rate distribution. Returns the benchmark statistics plus a positioning analysis: z-score, comparison to median, IQR position, and delta from average. Use this for FAR 15.404-1 price analysis: is the proposed rate within the expected range for comparable labor categories on GSA MAS? A rate above P75 may be high; above P90 warrants scrutiny. A rate below P25 may indicate an unrealistically low offer (potential performance risk).

vendor_rate_card

Get all ceiling rates for a specific vendor. Auto-discovers the exact vendor name via suggest-contains, then pulls all their rate records. Returns labor categories, rates, education levels, experience requirements, SINs, and contract numbers. Pass a partial name (e.g., 'booz' for Booz Allen Hamilton). The tool finds the exact registered name automatically. If the discovery term matches multiple vendors, this tool picks the one with the most rate records and returns a _candidates list so the caller can re-query with a more specific term if needed.

sin_analysis

Get rate distribution and statistics for a specific SIN. Returns rate statistics, education breakdown, business size breakdown, and sample records for a GSA MAS Special Item Number. Common SINs for professional services: - 54151S: IT Professional Services - 541611: Management and Financial Consulting - 541715: Engineering R&D - 541330ENG: Engineering Services - 541512: Computer Systems Design - 611430: Training

- keyword_search: Search GSA CALC+ ceiling rates by keyword.

Performs wildcard matching across labor_category, vendor_name, and
idv_piid fields. This is the primary search tool for finding rates.

Returns matching rate records plus aggregation statistics (wage_stats,
percentiles, education breakdown, business size) covering the FULL
result set even when individual hits are capped at 10,000.

Important notes:
- These are NTE (not-to-exceed) ceiling rates, not prices paid
- Rates are fully burdened hourly rates from GSA MAS contracts
- Data refreshes nightly from vendor price proposal tables
- Use P50 from percentiles for median (more accurate than median_price)

Filter parameters:
- education_level: AA, BA, HS, MA, PHD, TEC (pipe-delimited for OR: 'BA|MA')
- experience_min/max: years of experience range
- price_min/max: hourly rate range in USD
- business_size: 'S' (small) or 'O' (other/large)
- security_clearance: 'yes' or 'no'
- sin: Special Item Number (e.g., '54151S' for IT Professional Services)
- worksite: 'Customer', 'Contractor', or 'Both'

ordering: current_price, labor_category, vendor_name, education_level,
min_years_experience. sort: 'asc' or 'desc'.

exclude: pipe-delimited hit _id values to exclude from results and stats.

- exact_search: Exact match search on a specific field.

Use suggest_contains() first to discover the exact field value, then
pass it here. The API requires exact string matching -- partial matches
return 0 results.

Fields: labor_category, vendor_name, idv_piid (GSA MAS contract number).

- suggest_contains: Discover exact field values via autocomplete/contains matching.

Returns aggregation buckets showing matching values and their record
counts. Use this BEFORE exact_search() to find the right value string.

Minimum 2 characters required for the search term.

Example workflow:
1. suggest_contains('vendor_name', 'booz') -> finds 'Booz Allen Hamilton Inc.'
2. exact_search('vendor_name', 'Booz Allen Hamilton Inc.') -> all their rates

- filtered_browse: Browse rates with filters only (no search keyword).

Useful for market segment statistics: "what do all BA-level rates with
5-15 years experience look like across all of GSA MAS?" Returns rate
records plus full aggregation statistics.

- igce_benchmark: Get ceiling rate benchmarks for IGCE development.

Returns statistical summary for a labor category: count, min, max, avg,
median, standard deviation, percentile distribution (P10-P90), education
breakdown, and outlier bounds.

This is the primary tool for building Independent Government Cost
Estimates. The returned statistics represent the market distribution
of GSA MAS ceiling rates for comparable labor categories.

Reminder: these are ceiling rates (max a contractor can charge), not
prices paid. Actual task order rates should be lower per FAR 8.405-2(d).

- price_reasonableness_check: Evaluate a proposed hourly rate against GSA ceiling rate distribution.

Returns the benchmark statistics plus a positioning analysis: z-score,
comparison to median, IQR position, and delta from average.

Use this for FAR 15.404-1 price analysis: is the proposed rate within
the expected range for comparable labor categories on GSA MAS?

A rate above P75 may be high; above P90 warrants scrutiny. A rate below
P25 may indicate an unrealistically low offer (potential performance risk).

- vendor_rate_card: Get all ceiling rates for a specific vendor.

Auto-discovers the exact vendor name via suggest-contains, then pulls
all their rate records. Returns labor categories, rates, education
levels, experience requirements, SINs, and contract numbers.

Pass a partial name (e.g., 'booz' for Booz Allen Hamilton). The tool
finds the exact registered name automatically.

If the discovery term matches multiple vendors, this tool picks the one
with the most rate records and returns a _candidates list so the caller
can re-query with a more specific term if needed.

- sin_analysis: Get rate distribution and statistics for a specific SIN.

Returns rate statistics, education breakdown, business size breakdown,
and sample records for a GSA MAS Special Item Number.

Common SINs for professional services:
- 54151S: IT Professional Services
- 541611: Management and Financial Consulting
- 541715: Engineering R&D
- 541330ENG: Engineering Services
- 541512: Computer Systems Design
- 611430: Training

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "federal register mcp": {
            "federal-register": {
                "command": "uvx",
                "args": [
                    "--refresh-package",
                    "federal-register-mcp",
                    "--from",
                    "federal-register-mcp",
                    "federal-register-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "federal-register": {
        "command": "uvx",
        "args": [
            "--refresh-package",
            "federal-register-mcp",
            "--from",
            "federal-register-mcp",
            "federal-register-mcp"
        ]
    }
}
A Model Context Protocol server that wraps the FederalRegister.gov REST API as deterministic tool calls. Built for federal acquisition policy teams, regulatory affairs analysts, attorneys, FAR Council watchers, and anyone who tracks rulemaking, FAR cases, comment periods, or executive orders. 8 tools covering Federal Register documents from 1994 to today. Hardened across multiple live audit rounds. MIT licensed. No API key required.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.