← 返回列表
未验证
MSDS Chain MCP 服务器
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档
综合分
29.8
GitHub 分
29.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add littleblakew/msds-chain-mcp该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
MSDS Chain MCP 服务器
面向 AI 辅助实验设计的化学品安全智能。
由 ChainSDS 提供支持——一个经过验证、始终保持最新的化学品安全数据库。经过验证。保持最新。持续增长。
一个 MCP 服务器,让 AI 代理(Claude Code、Cursor、Copilot、pi 等)能够访问化学品安全推理能力——兼容性检查、危害分析、法规合规、PPE 建议、储存指导等。
专为使用 AI 设计实验并需要将安全验证集成到工作流程中的研究人员而构建。
为什么需要它
当你使用 Claude 规划合成路线或设置 Opentrons 协议时,安全验证不应成为一个单独的步骤。这个 MCP 服务器让你的 AI 助手能够自动:
- 检查同一工作台面上的化学品是否兼容
- 标记危险的混合顺序
- 针对你正在处理的特定化学品推荐 PPE
- 验证是否符合欧盟 REACH、美国 OSHA/TSCA 以及其他 7 个司法管辖区的要求
- 生成用于 GLP/GMP 合规的签名审计报告
工具(23 个)
| 工具 | 描述 |
|------|-------------|
| batch_safety_check | 针对化学品清单的一站式报告:两两兼容性 + 每种化学品的风险警告 |
| check_regulatory_lists | 将化学品与 8 个司法管辖区及 3 个国际公约下的 23 个法规监控清单进行交叉比对 |
| get_sds_section | 检索某化学品的特定 SDS 章节(1-16) |
| get_sds_document | 原始 SDS/MSDS PDF 的签名下载 URL(约 5 分钟有效);包含来源出处 |
| get_chemical_alternatives | 受限或高风险化学品的更安全替代品 |
| validate_protocol_chemicals | 从协议文本或代码中提取并验证化学品名称 |
| check_mixing_order | 试剂对的安全添加顺序(例如,将酸加入水中) |
| get_waste_disposal | 废弃物分类、容器类型和处置程序 |
| upload_msds_pdf | 上传 MSDS PDF 以进行 AI 驱动的解析和数据提取(需要 API 密钥) |
| compare_sds_versions | 两个 SDS 版本之间的危害变化差异(H 代码的新增/删除 + 它们是否会改变判定结论) |
| check_chemical_compatibility | 2 种或更多化学品之间的两两兼容性 |
| get_chemical_risk_warnings | GHS 分类、H 代码、信号词、闪点 |
| get_ppe_recommendation | 手套、眼部防护、呼吸防护、身体防护 |
| get_storage_guidance | 储存类别、柜体类型、温度、隔离规则 |
| get_emergency_response | 泄漏、火灾或暴露应急程序 |
| get_exposure_limits | 美国、欧盟、日本、中国、国际的 OEL/TLV/PEL/MAC |
| get_transport_classification | UN 编号、危险类别、包装类别、ADR/IATA/IMDG |
| check_regulatory_compliance | 多地区:欧盟、美国、中国、日本、加拿大、澳大利亚、新加坡基于清单;韩国/台湾接受但未接入清单 |
| search_chemical_database | 按名称、同义词或 CAS 编号查找化学品 |
| ask_chemical_safety | 针对任何安全问题的自然语言通用入口 |
| create_audit_session | 带签名 PDF 报告的完整审计(需要 API 密钥) |
| get_audit_report | 已签名审计 PDF 的下载链接 |
快速开始
1. 获取 API 密钥
在 msdschain.lagentbot.com 注册 → API Keys 标签页 → 创建一个密钥。
2. 安装
git clone https://github.com/littleblakew/msds-chain-mcp.git
cd msds-chain-mcp
pip install -r requirements.txt
3. 添加到你的 AI 编程代理
架构说明: 托管端点 https://mcp.lagentbot.com 位于一个分发网关之后,
该网关负责终止 OAuth 2.1(PKCE + DCR)并提供
/.well-known/oauth-authorization-server。下文描述的 OAuth / 浏览器登录流程
仅适用于该托管网关。 本仓库的裸核心服务器
(python server_remote.py,或 Docker 镜像)不实现 OAuth,也不提供任何
/.well-known 端点——它只接受 Authorization: Bearer sk-msds-... 或
X-Api-Key 透传。如果你直接自行托管核心,请使用静态 API 密钥;没有
浏览器登录步骤。
Claude Code(远程——推荐):
claude mcp add msds-chain --transport http https://mcp.lagentbot.com/mcp
然后在 Claude Code 中运行 /mcp 并进行身份验证——浏览器会打开以登录(邮箱
验证码);你的账户会自动开通,调用会计入你的用量(免费
套餐包含每月免费额度)。旧版 SSE 端点
(--transport sse https://mcp.lagentbot.com/sse)仍然可用,但推荐使用
可流式传输的 HTTP。
Claude Code(插件——包含技能 + MCP):
/plugin install https://github.com/littleblakew/msds-chain-mcp.git
Claude Code(npm——远程,shim 会注册托管端点):
claude mcp add msds-chain -- npx -y msds-chain-mcp@latest
claude.ai(网页版):
在 Settings > Plugins 中搜索 "msds-chain"(已发布)。
手动配置(Claude Code ~/.claude.json):
{
"mcpServers": {
"msds-chain": {
"type": "http",
"url": "https://mcp.lagentbot.com/mcp"
}
}
}
重启 Claude Code,运行 /mcp,并进行身份验证(OAuth)。然后你应该会在
MCP 工具列表中看到 msds-chain。(更想使用静态密钥而不是 OAuth?对于无头
客户端,将其作为请求头传入——--header "Authorization: Bearer sk-msds-your-key"。)
Claude Code 技能
/msds-safety-check 技能提供自动检测和引导式审计工作流。
插件安装(自动包含技能 + MCP):
/plugin install https://github.com/littleblakew/msds-chain-mcp.git
手动安装(仅技能,如果 MCP 已配置):
git clone https://github.com/littleblakew/msds-chain-mcp.git /tmp/msds-chain-mcp
cp -r /tmp/msds-chain-mcp/skills/msds-safety-check .agents/skills/msds-safety-check
ln -s ../../.agents/skills/msds-safety-check .claude/skills/msds-safety-check
该技能的功能
- 自动检测对话中的化学品并提供安全检查
- /msds-safety-check — 针对实验室协议或 EHS 合规的引导式审计
- 免费增值 — 基本查询无需 API 密钥即可使用,审计报告需要免费注册
使用示例
实验方案审查
用户:我正在计划一个使用镁屑、乙醚和溴苯的格氏反应。检查这个装置是否安全。
Claude:
→ 调用 batch_safety_check(["magnesium", "diethyl ether", "bromobenzene"])
→ 返回:兼容性矩阵 + 每种化学品的风险警告(附来源 SDS)
Opentrons 工作台安全检查
用户:我的 Opentrons 工作台在不同槽位中有这些:
槽位 1:丙酮,槽位 3:浓 H2SO4,槽位 5:甲醇,
槽位 7:硼氢化钠。有任何安全问题吗?
Claude:
→ 调用 check_chemical_compatibility(["acetone", "sulfuric acid", "methanol", "sodium borohydride"])
→ ⚠️ 不相容:硼氢化钠 + 硫酸(剧烈反应,产生 H2 气体)
→ ⚠️ 注意:丙酮 + 硫酸(放热)
→ 建议:将硼氢化钠移至与酸的最大距离处
发货前的合规检查
用户:我们需要将甲苯和二氯甲烷运送到我们的日本实验室。
适用哪些运输法规?
Claude:
→ 调用 get_transport_classification(["toluene", "dichloromethane"])
→ 调用 check_regulatory_compliance(["toluene", "dichloromethane"], regions=["JP"])
→ 返回:UN 编号、IATA 包装说明、日本特定法规
生成已签名审计报告
用户:为我们的季度审查创建一份安全审计报告。
化学品:丙酮、甲醇、乙醇、异丙醇、己烷。
Claude:
→ 调用 create_audit_session("Q2 2026 Solvent Cabinet Review", ["acetone", "methanol", "ethanol", "isopropanol", "hexane"])
→ 调用 get_audit_report("SESSION-ID")
→ 返回:已签名 PDF URL(Ed25519 签名,适用于 GLP/GMP 合规)
试试这些提示词(每个工具一个)
每个提示词都能可靠地触发指定的工具。用它们来端到端评估该连接器。
| 工具 | 示例提示词 | 良好响应应展示的内容 |
|------|----------------|----------------------------|
| search_chemical_database | “查找 CAS 号为 67-64-1 的化学品。” | 识别出丙酮,附同义词 + CAS |
| ask_chemical_safety | “把漂白剂存放在氨水旁边安全吗?” | 通俗易懂的危害回答(有毒氯胺气体) |
| check_chemical_compatibility | “丙酮和过氧化氢相容吗?” | 两两判定 + 反应风险 |
| get_chemical_risk_warnings | “甲苯的 GHS 危害有哪些?” | H 代码、信号词、闪点 |
| get_ppe_recommendation | “处理浓硫酸需要什么 PPE?” | 手套/眼部/呼吸/身体防护指导 |
| get_storage_guidance | “我应该如何储存氢氧化钠和硝酸?” | 储存类别、储存柜、隔离规则 |
| get_emergency_response | “如果我把氯仿洒了该怎么办?” | 分步泄漏处理程序 |
| get_exposure_limits | “苯在欧盟的 OEL 是多少?” | 按地区划分的 OEL/TLV/PEL 值 |
| get_transport_classification | “丙酮在空运中如何分类?” | UN 编号、危险类别、包装类别 |
| check_regulatory_compliance | “二氯甲烷在日本和欧盟是否受到限制?” | 按地区划分的合规状态 |
| check_regulatory_lists | “哪些监管观察名单包含甲醛?” | 跨地区匹配的名单 |
| get_waste_disposal | “我该如何处置废乙腈?” | 废物类别、容器、程序 |
| check_mixing_order | “混合硫酸和水时的安全顺序是什么?” | 正确的添加顺序 + 原因 |
| get_chemical_alternatives | “在萃取中是否有比己烷更安全的替代品?” | 危害更低的替代品 |
| validate_protocol_chemicals | “验证此方案中的化学品:[粘贴文本]” | 提取并验证的化学品清单 |
| get_sds_section | “向我展示甲醇 SDS 的第 4 节(急救)。” | 所请求的 SDS 章节内容 |
| compare_sds_versions | “丙酮的 SDS 版本之间有什么变化?” | 两个版本之间的危害变化 |
| batch_safety_check | “对丙酮、甲醇和己烷进行完整的安全检查。” | 兼容性矩阵 + 风险警告 |
| upload_msds_pdf | “解析此 MSDS PDF 并提取其危害数据。” (API 密钥) | 从 PDF 中进行结构化提取 |
| create_audit_session | “为我们的溶剂柜创建一份已签名的审计报告。” (API 密钥) | 审计会话 + 已签名 PDF |
| get_audit_report | “给我那份审计报告的下载链接。” (API 密钥) | 已签名 PDF URL |
隐私与数据处理
- 隐私政策: msdschain.lagentbot.com/privacy
- 只读工具仅发送您提供的化学品名称/查询;不需要个人数据。
- API 密钥工具(upload_msds_pdf、create_audit_session、get_audit_report)会将活动与您的账户关联,以实现审计可追溯性。
- 上传的 MSDS PDF 会被处理以进行数据提取,并根据您账户的数据共享设置贡献到经过验证的 ChainSDS 数据库。
第三方 AI 平台集成
从任何支持 MCP 的 AI 平台连接到托管的 MSDS Chain MCP 服务器。
服务器 URL(首选): https://mcp.lagentbot.com/mcp(可流式 HTTP)
托管端点同时服务两种传输方式——可流式 HTTP(/mcp,首选)和 SSE(/sse,适用于仅支持 SSE 的客户端:悟空、Dify、Coze 等)。调用按已认证用户计量。
| 传输方式 | 端点 | 说明 |
|-----------|----------|-------|
| 可流式 HTTP | https://mcp.lagentbot.com/mcp | 首选——最广泛、最稳健 |
| SSE | https://mcp.lagentbot.com/sse | 适用于仅支持 SSE 的客户端 |
身份验证: 可选择 OAuth(客户端在首次连接时打开浏览器登录)或静态请求头——Authorization: Bearer sk-msds-your-key——用于无头客户端。
悟空 (Wukong)
1. 设置 → MCP 服务 → + 添加
2. 类型:SSE
3. 名称:msds-chain
4. URL:https://mcp.lagentbot.com/sse
5. HTTP Headers:Authorization : Bearer sk-msds-your-key
6. 点击「添加」
Dify / Coze / 其他平台
通用步骤:
1. 找到 MCP 服务器 / 工具集成设置
2. 选择 SSE 传输类型
3. 将 URL 设置为 https://mcp.lagentbot.com/sse
4. 添加身份验证请求头:Authorization: Bearer sk-msds-your-key
获取 API 密钥: 在 msdschain.lagentbot.com 注册 → API Keys 标签页 → 创建密钥。
远程模式 (HTTP)
对于云部署或团队共享访问,以 HTTP 服务器方式运行:
MSDS_API_KEY=sk-msds-xxx python server_remote.py
单个 server_remote.py 进程始终同时服务两种传输方式——
/mcp 上的 Streamable HTTP(推荐用于 Claude Code 2026+)和 /sse 上的 SSE
(兼容性)。MSDS_MCP_TRANSPORT 环境变量仅为向后兼容而保留;
它在运行时会被忽略。
从 Claude Code 连接:
claude mcp add msds-chain --transport http https://your-server.example.com/mcp
Docker
docker build -t msds-chain-mcp .
docker run -p 8080:8080 -e MSDS_API_KEY=sk-msds-xxx msds-chain-mcp
配置
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| MSDS_API_KEY | (必填) | 来自 MSDS Chain 仪表板的 API 密钥 |
| MSDS_API_URL | 生产 URL | 仅供开发使用 |
| MSDS_LANG | en | 响应语言:en、zh、ja、de、id |
使用场景
实验室自动化 (Opentrons / Hamilton / Tecan)
- 运行前方案安全审计
- 工作台布局兼容性验证
- 自动化运行合规报告
电子实验记录本 (Benchling / LabArchives)
- 实验条目上的安全注释
- 带自动标记的化学品登记
制药研发
- 合成路线安全筛查
- 新化合物的多地区法规预检
- 带签名回执的 GMP 就绪审计追踪
数据覆盖 — ChainSDS
行业来源、AI 验证并经过加密签名。
- 4,000,000+ 条化学品记录,含多语言别名(EN/ZH/JA)
- 用于兼容性规则的 NFPA/GHS 分类
- 8 个司法管辖区 + 3 项国际公约的 23 个法规监视清单(EU、US、CN、JP、KR、CA、AU、SG;不涵盖台湾,也不涵盖 IARC)
- 来自 5 项标准的职业接触限值(OSHA PEL、ACGIH TLV、EU IOELV、JP OEL、CN GBZ)
- 16+ 种常见实验室化学品的 UN 运输数据
- 版本跟踪——检测到更新的 SDS,并将其危害分类与您所依赖的版本进行差异比对
架构
Your AI Agent MSDS Chain MCP Server
┌──────────────────┐ ┌─────────────────────────┐
│ Claude Code │ │ 23 安全工具 │
│ Cursor / pi │──MCP────▶│ ↓ │
│ 任意 MCP 客户端 │ │ ChainSDS 平台 │
└──────────────────┘ └─────────────────────────┘
MCP 服务器连接到 ChainSDS 平台,以进行经验证的安全推理。
开发
使用 MCP inspector 在本地测试:
export MSDS_API_KEY=sk-msds-your-key
npx @modelcontextprotocol/inspector python server.py
故障排除
| 症状 | 可能原因 | 修复方法 |
|---------|--------------|-----|
| 连接时出现 401 Unauthorized | API 密钥缺失或无效 | 验证 Authorization: Bearer sk-msds-... 请求头(或 MSDS_API_KEY 环境变量)。在 msdschain.lagentbot.com → API Keys 生成新密钥。 |
| 工具未出现在客户端中 | MCP 服务器未加载 | 添加服务器后,完全重启客户端。确认 msds-chain 显示在 MCP/工具列表中。 |
| 连接断开或超时 | 传输方式/端点错误 | 优先使用可流式 HTTP 端点 https://mcp.lagentbot.com/mcp(服务器重新部署时,SSE 会话可能会断开)。检查 GET https://mcp.lagentbot.com/health 是否返回 {"status":"ok"} —— 那是网关;核心的工具数量位于不可公开访问的内部端点上,因此缺少 tools 字段是预期情况。 |
| Quota exceeded / 429 | 已达到每月调用上限 | 免费密钥有额度限制;请升级套餐或等待每月重置。 |
| 对已知化学品返回空结果 | 名称未匹配 | 使用 CAS 号或常见同义词重试;search_chemical_database 接受名称、同义词或 CAS。 |
| 浏览器客户端中 OAuth 登录失败 | OAuth 元数据不可访问(仅托管网关——自托管核心没有 OAuth) | 确认 GET https://mcp.lagentbot.com/.well-known/oauth-authorization-server 返回 200;客户端应自动发现授权/令牌端点。如果直接自托管 server_remote.py,请跳过 OAuth,改用静态 Authorization: Bearer 密钥。 |
仍然遇到问题?请发送电子邮件至 contact@lagentbot.com,或在 github.com/littleblakew/msds-chain-mcp/issues 提交 issue。
路线图
- [x] get_waste_disposal —— 废物分类和处置指导
- [x] check_mixing_order —— 试剂对的安全添加顺序
- [x] get_chemical_alternatives —— 受限化学品的更安全替代品
- [x] 远程 MCP(HTTP SSE / Streamable HTTP),用于云托管访问
- [x] 用于 Claude Marketplace 集成的 OAuth 2.1(由 mcp.lagentbot.com 前面的分发网关提供,而不是由这个核心服务器提供)
许可证
MIT
关于
由 LAgentBot 构建 —— AI 驱动的化学品安全基础设施。
属于 MSDS Chain 平台的一部分——全球首个由 AI Agent 驱动的化学品安全数据信任网络,由 ChainSDS 提供支持:经过验证、实时更新、持续增长。扫码进群