fcc-ecfs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ECFS_API_KEY | Yes | Your FCC ECFS API key. Required to access the FCC's Electronic Comment Filing System public API. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ecfs_search_filingsB | Search filings submitted to the FCC's Electronic Comment Filing System (ECFS). Filter by proceeding/docket number, filer name, submission type, and date received. |
| ecfs_get_filingB | Fetch a single ECFS filing by its submission ID. |
| ecfs_search_proceedingsC | Search proceedings (dockets) registered in the FCC ECFS system, e.g. by docket number. |
| ecfs_get_download_planA | Get a download plan for a filings search — the same filters as ecfs_search_filings, but instead of a page of results, returns date_submission-range buckets each with a suggested_api_call safe to run to exhaustively page a large docket. Use this before ecfs_search_filings for dockets with thousands of filings (e.g. a heavily-commented NPRM): plain offset/limit paging over a large result set can return duplicate or missing filings, which the download plan's date-bucketed queries avoid. |
| ecfs_search_documentsA | List the documents (attachments) associated with one or more ECFS filings, by submission ID. Returns document metadata (filename, page count, byte size, OCR status, and its viewer location) — not the document's file contents. Use ecfs_download_document to save a document's PDF. |
| ecfs_download_documentA | Download one document (usually a PDF) from an ECFS filing and save it to disk, returning the saved file path. Identify it by the filing's submission ID and the document's position in the filing — the {n} in its https://www.fcc.gov/ecfs/document/{id_submission}/{n} location/src URL. Fetches the file through a headless Chrome browser (Google Chrome must be installed), so it takes a few seconds per document. Files are always saved as .pdf inside the user's configured download folder (ECFS_DOWNLOAD_DIR, default ~/Downloads/ecfs). |
| ecfs_list_inboxesA | List the available inboxes for non-docketed filings in ECFS. |
| ecfs_raw_requestA | Escape hatch for calling any ECFS public API path/query parameters not covered by the other tools. The api_key is added automatically; do not include it yourself. |
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 8 tools
Most tools have clearly distinct purposes: filing lookup, document download, document listing, proceeding search, and inbox listing. Minor overlap comes from ecfs_raw_request being a universal escape hatch and from ecfs_get_download_plan sharing filters with ecfs_search_filings, though both descriptions clarify when to use them.
All tools use a consistent ecfs_ snake_case prefix and mostly follow a verb_noun pattern such as ecfs_get_filing, ecfs_search_documents, and ecfs_list_inboxes. The main deviation is ecfs_raw_request, which is still readable but does not follow the same action-verb style.
Eight tools is well within the expected range for a focused ECFS API server. Each tool covers a meaningful operation, and the set is not padded with redundant endpoints.
For a read-only ECFS research server, the surface covers the core lifecycle: searching proceedings, searching filings, fetching a filing, listing documents, downloading documents, and handling non-docketed inboxes. The raw request tool also provides an escape hatch for any uncovered API paths.