mcpField
D
docketwatch

docketwatch

Local
github.com/CloudCorpRecordsLegal & Government0Updated 1w ago

About docketwatch

docketwatch provides MCP tools and a CLI for querying the public rulemaking record through Regulations.gov API v4. It serves people tracking federal dockets, documents, comments, and open comment periods, returning the API’s JSON data.

Key features

  1. 01Search documents, comments, and dockets
  2. 02Retrieve document, comment, and docket details
  3. 03List open comment periods by closing date
  4. 04Fetch paginated FAR/DFARS case history
  5. 05Check API key configuration status

Use cases

  1. 01Track documents and comments for an agency or docket
  2. 02Find dockets and inspect their metadata
  3. 03Monitor comment periods that have not closed
  4. 04Review documents associated with a FAR/DFARS case

MCP support

The MCP server exposes nine tools for searching and retrieving Regulations.gov records, checking access configuration, and composing open-comment-period and FAR/DFARS case-history results. Data requests require a free `REGULATIONS_GOV_API_KEY`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-docketwatch": {
"command": "npx",
"args": [
"-y",
"@reneturcios/docketwatch"
]
}
}
}
Run commandnpx -y @reneturcios/docketwatch

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/docketwatch0.1.0
ocighcr.io/cloudcorprecords/docketwatch:0.1.0

Tools

9

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
sortstringNoSort order for the results (optional).
agency_idstringNoIdentifier of the agency.
docket_idstringNoIdentifier of the docket.
page_sizeintegerNoNumber of results per page (optional).
page_numberintegerNoPage number for paginated results (optional).
posted_datestringNoThe posted date for this call.
search_termstringNoSearch term.
posted_date_gtestringNoThe posted date gte for this call.
posted_date_ltestringNoThe posted date lte for this call.
last_modified_date_gtestringNoThe last modified date gte for this call.

Details

From the project README

docketwatch

Follow the federal rulemaking record without living in a browser tab. docketwatch talks to the Regulations.gov API v4 — the public record of dockets, documents and public comments behind rules published by US agencies — and answers with the API's own JSON, so a search result here is the same payload you would get from the API directly.

You will need a free api.data.gov key:

export REGULATIONS_GOV_API_KEY="<your key>"

Get one at https://api.data.gov/signup. The key goes out as the X-Api-Key header on every data call. If the variable is unset the server still starts and lists its tools, but every data tool replies with setup instructions and makes no request at all — handy for checking that a client is wired up before a key exists. get_access_status is the exception: it never calls out and reports only {"configured": true} or {"configured": false}, never the key itself. The base URL defaults to https://api.regulations.gov/v4 and can be overridden with REGULATIONS_GOV_API_BASE.

The nine tools:

  • search_documents — find documents (proposed rules, rules, notices, supporting material) by keyword, agency, docket and posted/modified date windows.
  • get_document_detail — one document in full; pass include_attachments: true to ask the API to include its attachments.
  • search_comments — search the public comments by keyword, agency, docket, or the document commented on.
  • get_comment_detail — one comment's full text and submitter information.
  • search_dockets — search rulemaking and nonrulemaking dockets by keyword or agency.
  • get_docket_detail — one docket's metadata, abstract and RIN.
  • open_comment_periods — composition (labelled): not a single API call. It pages through documents posted in the last 180 days (the scan window is a local choice), keeps those whose comment period ends today or later, and returns them soonest-closing first alongside complete and truncated flags.
  • far_case_history — composition (labelled): fetches a FAR/DFARS case docket (for example FAR-2023-0008) together with every page of that docket's documents, concatenated, plus a complete flag saying whether all pages were read.
  • get_access_status — the key check described above.

Search arguments are flat names that map onto the API's documented filter[...] parameters, with sort, page[number] and page[size] for ordering and paging. Filter values are case-sensitive — the API treats EPA and epa differently — and docketwatch passes them through unchanged.

One honest gap: the API documentation used for this build does not pin a document-type or docket-type filter parameter name, so no type filter argument is exposed. Keyword, agency, docket and date filters cover the documented surface.

CLI

Each tool is a subcommand taking one JSON argument string (get_access_status takes none):

npx @reneturcios/docketwatch search_documents '{"agency_id":"EPA","search_term":"emissions"}'
npx @reneturcios/docketwatch get_document_detail '{"document_id":"EPA-HQ-OAR-2020-0001-0001","include_attachments":true}'
npx @reneturcios/docketwatch search_comments '{"docket_id":"EPA-HQ-OAR-2020-0001"}'
npx @reneturcios/docketwatch open_comment_periods '{"agency_id":"EPA","limit":20}'
npx @reneturcios/docketwatch far_case_history '{"case_number":"FAR-2023-0008"}'
npx @reneturcios/docketwatch get_access_status
npx @reneturcios/docketwatch --version

Output is the tool's result text (JSON for every tool). Exit codes: 0 on success, 1 on a runtime error (including a validation, missing-key or upstream failure), 2 on a usage error.

MCP server

npx -y @reneturcios/docketwatch mcp

MCP client config:

{
  "mcpServers": {
    "docketwatch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/docketwatch", "mcp"],
      "env": {
        "REGULATIONS_GOV_API_KEY": "<your key>"
      }
    }
  }
}

Docker

docker run -i -e REGULATIONS_GOV_API_KEY="<your key>" ghcr.io/cloudcorprecords/docketwatch
docker run --rm -e REGULATIONS_GOV_API_KEY="<your key>" ghcr.io/cloudcorprecords/docketwatch get_access_status

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch + fake clock, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.