Docket Lens

com.blackswancausallabs由 blackswancausallabs.com 發布v0.1.0更新於 Oct 29, 2026

Retrieve FDA docket comments, attachments and draft/final guidance for reviewable analysis.

發布方自己的服務:docket

概覽

AI 產生的概覽

檢索 FDA regulations.gov 案卷的意見、附件與指引文件,並比對草案與最終指引的差異,供本機分析使用。

可以做什麼
  • 搜尋案卷,讀取案卷中繼資料與意見總數
  • 列出文件(通知、草案與最終指引、會議資料)及其檔案連結
  • 列出並讀取意見,包含提交者欄位、附件與擷取出的附件文字
  • 將意見與附件抓取到本機快取(可續傳),並匯出為 JSONL
  • 把指引拆成編號章節,並對草案與最終版做段落層級差異比對,標示搬移的段落
適用情境
適合需要審閱 FDA 法規制定案卷的情境:誰提出意見、要求了什麼,以及草案指引在最終版中如何改變。面向法規研究與分析流程,而非一般網頁搜尋。
執行需求
以本機 Python 程序執行(需 Python 3.11 以上;MCP 打包版另需 uv),並需要可寫入的工作資料夾。需要免費的 regulations.gov API 金鑰,透過 REGULATIONS_GOV_API_KEY 提供;DEMO_KEY 可用於單次查詢但限流嚴重。快取未命中或使用 refresh=true 時需要網路連線。
安裝前請注意
API 金鑰屬於憑證,應放在被 git 忽略的 .env 中,並以 X-Api-Key 標頭送出。工具會寫入本機 SQLite 快取與輸出檔案。結果衡量的是草案與最終文字的一致性,而非某則意見的影響力,伺服器本身不做解讀。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Docket Lens,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

regintel-mcp

Regulatory intelligence from FDA regulations.gov dockets: who commented, what they asked for, and what changed between the draft and final guidance.

Black Swan Causal Labs · blackswancausallabs.com

Retrieval lives in the MCP server. Judgment lives in skills. Humans sit at the checkpoints.

LayerComponentStatus
Dataregintel-mcp server (this repo, MIT)Phase 1 built. Fetch, cache, extract, diff. No interpretation.
Methodskills: submitter-taxonomy, comment-theming, draft-final-concordanceBuilt
Orchestration/docket-analysis <docketId> with 4 human checkpointsBuilt; first run on FDA-2020-D-2307
OutputDocket Lens explorer (reads one analysis.json; PolyForm Noncommercial)Built for FDA-2020-D-2307

Install

Python 3.11 or later.

bash
git clone https://github.com/Black-Swan-Causal-Labs/regintel-mcp.gitcd regintel-mcppython3 -m venv .venv && .venv/bin/pip install -e .cp .env.example .env    # then paste your key into .env

API key: get a free key at https://open.gsa.gov/api/regulationsgov/ and put it in .env as REGULATIONS_GOV_API_KEY=.... .env is gitignored. The key is sent only as the X-Api-Key header and never appears in logs, the cache or any output. DEMO_KEY is fine for single lookups but too rate-limited for a full corpus pull. Personal keys allow 1,000 requests/hour.

Register with an MCP client. MCP is an open standard, so the server works with any compatible assistant (Claude, OpenAI Codex, others). For Claude Code, from the repo directory:

bash
claude mcp add regintel-mcp -- "$(pwd)/.venv/bin/python" -m regintel_mcp

When installed as a Claude plugin, .mcp.json starts the server from the plugin root.

Tools

Every tool reads the local SQLite cache (data/cache.sqlite) first. It only touches the network on a cache miss or when called with refresh=true.

ToolDoes
search_dockets(query, agency="FDA", docket_type?, limit=25)Keyword search over dockets
get_docket(docket_id)Docket metadata and total comment count
list_documents(docket_id)Notices, draft and final guidance, meeting material, with every file URL
list_comments(docket_id, include_withdrawn=false)All comments, paginated internally. Flags is_stub, duplicate_of and agency_duplicate_count (flags only; nothing is dropped)
get_comment(comment_id)Body, submitter fields, attachments and extracted attachment text
build_corpus(docket_id, with_attachments=true)Pulls every comment and attachment into the cache. Resumable. Reports stubs, duplicates, OCR needs and failures
get_guidance_text(ref)A guidance document (doc ID or URL) split into numbered sections
diff_guidance(draft_ref, final_ref)Section-aligned draft-vs-final diff with paragraph changes and moved-paragraph detection
export_corpus(docket_id)Writes output/<docket>/corpus.jsonl for skills and subagents

For long pulls outside a chat: .venv/bin/python -m regintel_mcp build-corpus FDA-2020-D-2307.

How the diff works: the text layer is extracted with pdfplumber. Running headers, draft line numbers, footnotes and the table of contents are removed. Sections are split on the guidance's own Roman, letter and number headings, then matched draft→final by heading (parent-qualified first) and then by heading plus text similarity. Paragraphs are diffed within each matched section, and paragraphs that moved to a different section are labelled. Everything is deterministic: there are no model calls in the server.

API behaviour verified against the live service is recorded in docs/api-notes.md.

Docket Lens (the explorer)

Docket Lens (explorer/template.html) is a single page that reads one analysis.json and shows three linked views: who spoke, what they asked for (a themes × submitter-type heatmap that opens the verbatim requests), and what changed (draft vs final by section, with each request's call). Build a docket's copy with:

bash
.venv/bin/python scripts/build_analysis.py FDA-2020-D-2307.venv/bin/python scripts/build_explorer.py FDA-2020-D-2307

Then open explorer/FDA-2020-D-2307/index.html through any static server, e.g. python3 -m http.server --directory explorer/FDA-2020-D-2307. The explorer is licensed separately under PolyForm Noncommercial 1.0.0 (explorer/LICENSE, explorer/NOTICE).

Hosting a Docket Lens demo (Cloudflare Pages, password-protected)

bash
sh scripts/build_site.sh FDA-2020-D-2307cd site && npx wrangler pages deploy public --project-name docket-lens

site/functions/_middleware.js puts HTTP Basic Auth in front of every request, including analysis.json. Credentials are Pages secrets, never files: npx wrangler pages secret put DEMO_USER --project-name docket-lens, and the same for DEMO_PASS. If either secret is missing, the site serves nothing (it fails closed). It is a demo gate, not access control for sensitive data.

Status (3 Oct 2026)

  • First full run: FDA-2020-D-2307 (60 comments, 1,211 requests, 4 checkpoints, human spot-check agreement 91% on 55 calls). Outputs in output/FDA-2020-D-2307/, decisions in decisions/.
  • Second-docket smoke test: FDA-2021-D-0548. Retrieval and the draft/final comparison passed without changes; see docs/smoke-test-FDA-2021-D-0548.md.

The concordance caveat

This tool measures concordance, not impact. Changes between draft and final guidance also come from FDA's internal review, ICH M14, other guidances and the evolving science. When the final text moves in the direction a commenter asked for, that does not show the comment caused the change. Every output from this project carries that caveat.

License

Server: MIT (see LICENSE). The Explorer template is licensed separately under PolyForm Noncommercial 1.0.0.

© 2026 Black Swan Causal Labs · https://blackswancausallabs.com

Official MCP Registry packaging

The Docket Lens retrieval server has an MCP bundle for Registry distribution. See Registry installation and release instructions. The bundle requires uv, your Regulations.gov API key, and a writable working folder.

來源:README.md,提交 b10fd0b

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Oct 29, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Docket 整合