
Hazmat Cfr Mcp
io.github.andretaki由 GitHub 账号 andretaki 发布v0.3.0更新于 Oct 24, 2026
Complete 49 CFR 172.101 hazmat table lookup with special-provision decoding, cited to eCFR.
概览
本地 MCP 服务器,为助手提供完整的 49 CFR 172.101 危险品表,用于 DOT 危险品查询、分类与校验,并附 eCFR 引用
- 可以做什么
- 按 UN/NA 编号或正确运输名称查询危险品条目,返回解码后的符号与特殊规定,并可一次调用获取完整运输要求(标签、包装、船舶积载、标牌、引用)。解析并校验运输描述,检查标签要求、标牌、隔离要求与有限数量资格。将第 7 栏特殊规定和第 8 栏包装引用解码为法规原文。说明某字段或规则所依据的公开 CFR 来源。
- 适用场景
- 当助手需要回答危险品运输问题——正确运输名称、危险类别、包装类别、标签、航空限制、船舶积载——并应引用法规而非猜测时适用。面向物流、运输与合规起草工作,不能替代受过训练的危险品从业人员。
- 运行要求
- 作为本地 stdio 进程在用户机器上运行,通过 npx 启动 hazmat-cfr-mcp 包(需要 Node.js)。未声明 API 密钥、账户或环境变量;数据集随包提供,并固定到某个日期的 eCFR 快照。
安装
在 SourceWeft 中
- 打开 控制台中的 Hazmat Cfr Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
hazmat-cfr-mcp
The complete 49 CFR 172.101 Hazardous Materials Table, as an MCP tool for AI agents — every field cited to a pinned eCFR revision.
[CI] [npm] [MCP] [License: MIT]
Give Claude, Cursor, Codex, and other MCP clients a DOT hazmat lookup, classification, and validation tool backed by the entire Hazardous Materials Table — not a sample.
Ask an agent:
Can I ship 60 L of acetone on a cargo-only aircraft? What are its label, packing, and special-provision requirements?
It returns the proper shipping name, hazard class, packing group, label codes, packaging references, aircraft limits, vessel stowage, decoded special provisions, and CFR citations — in structured JSON.
Use it two ways:
hazmat-cfr-mcp— MCP stdio server for agentshazmat-cfr— local CLI for humans, tests, and scripts
No API keys. No customer data. No carrier contracts. No NMFC. Public CFR only.
What's in the box
- ~2,700 Hazardous Materials Table entries (49 CFR 172.101) — every UN/NA entry plus Forbidden materials, ingested directly from the official eCFR.
- Special-provision decoding — all ~420 Column 7 codes (49 CFR 172.102: numeric, A, B, IB, IP, N, R, T, TP, W) expanded into their regulatory text.
- Legend decoding — Column 1 symbols (
+ A D G I W), Column 10A vessel stowage categories, and Columns 8A–8C packaging references resolved to part-173 sections. - Pinned to a dated eCFR snapshot so every answer is reproducible and citable to an exact revision.
- A curated synonym/CAS layer so "IPA", "muriatic acid", or "bleach" resolve — kept clearly separate from regulatory data.
10-second try
Why this exists
Foundation models are weak at regulated shipping details. They may know what acetone is, but they should not guess whether a shipping description is complete, what IB2 means, or which CFR field backs a label requirement.
This server gives agents an explicit, cited, complete hazmat tool surface so they answer with the regulation instead of a hallucination.
Accuracy & verification
This is a compliance-adjacent tool, so correctness is enforced by the build, not by hope:
- The dataset is generated from the eCFR versioner API and committed to the repo (see docs/data-pipeline.md). It is never hand-edited.
- The ingest fails if any special-provision code referenced by the table does not resolve in 172.102 (documented source errata, e.g.
IP16, are resolved to an explicit "referenced but not defined" note — never fabricated). test/data-integrity.test.tsre-checks entry counts, structural validity, referential integrity, and ~22 hand-verified spot-checks on every run.- The parsers are unit-tested against fixtures in
test/fixtures/.
⚠️ Disclaimer. This is an informational aid that surfaces public CFR text. It is not legal advice, not a compliance certification, and not a substitute for a trained hazmat employee. Always verify any shipping decision against the current eCFR.
Install and run
From a clone:
CLI:
MCP client config
For a local checkout, point command at node and args at dist/server.js.
Tools
Example call:
Library use
Refreshing the data
See docs/data-pipeline.md for the full pipeline.
Non-goals
Not legal advice; not a replacement for trained hazmat employees; not a full compliance certification engine; not NMFC classification; not carrier contract/tariff analysis. No private customer data, contract rates, or internal business records belong in this repo.
Safety
Maintainer
Andre Taki — Alliance Chemical — [email protected]
License
MIT — the underlying 49 CFR text is a public-domain work of the U.S. government.
来源:README.md,提交 c733ac6
工具
0版本历史
1- v0.3.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分