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 集成