MSDS-Chain

MSDS-Chain

Chemical safety intelligence for AI-assisted experiment design. 18 MCP tools for compatibility checks, hazard analysis, PPE, storage, waste disposal, mixing order, exposure limits, transport classification, regulatory compliance (8 jurisdictions), and signed audit reports. Supports 4,200+ chemicals in 5 languages.

Category
访问服务器

README

MSDS Chain MCP Server

Chemical safety intelligence for AI-assisted experiment design.

An MCP server that gives AI agents (Claude Code, Cursor, Copilot, etc.) access to chemical safety reasoning — compatibility checks, hazard analysis, regulatory compliance, PPE recommendations, storage guidance, and more.

Built for researchers who design experiments with AI and need safety verification integrated into their workflow.

Why This Exists

When you use Claude to plan a synthesis route or set up an Opentrons protocol, safety validation shouldn't be a separate step. This MCP server lets your AI assistant automatically:

  • Check if chemicals on the same deck are compatible
  • Flag dangerous mixing orders
  • Recommend PPE for the specific chemicals you're handling
  • Verify compliance with EU REACH, US OSHA/TSCA, and 6 other jurisdictions
  • Generate signed audit reports for GLP/GMP compliance

Tools (18)

Tool Description
batch_safety_check One-call comprehensive report: compatibility + PPE + storage grouping for a chemical list
get_sds_section Retrieve a specific SDS section (1-16) for a chemical
get_chemical_alternatives Safer substitutes for restricted or high-risk chemicals
validate_protocol_chemicals Extract & validate chemical names from protocol text or code
check_mixing_order Safe addition sequence for reagent pairs (e.g., acid into water)
get_waste_disposal Waste classification, container type, and disposal procedures
check_chemical_compatibility Pairwise compatibility for 2+ chemicals
get_chemical_risk_warnings GHS classification, H-codes, signal words, flash point
get_ppe_recommendation Gloves, eye protection, respiratory, body protection
get_storage_guidance Storage class, cabinet type, temperature, isolation rules
get_emergency_response Spill, fire, or exposure emergency procedures
get_exposure_limits OEL/TLV/PEL/MAC across US, EU, JP, CN, INT
get_transport_classification UN number, hazard class, packing group, ADR/IATA/IMDG
check_regulatory_compliance Multi-region: EU, US, CN, JP, KR, CA, AU, TW
search_chemical_database Look up chemicals by name, synonym, or CAS number
ask_chemical_safety Natural language catch-all for any safety question
create_audit_session Full audit with signed PDF report (requires API key)
get_audit_report Download link for the signed audit PDF

Quick Start

1. Get an API key

Sign up at msdschain.lagentbot.comAPI Keys tab → create a key.

2. Install

git clone https://github.com/littleblakew/msds-chain-mcp.git
cd msds-chain-mcp
pip install -r requirements.txt

3. Add to your AI coding agent

Claude Code:

claude mcp add msds-chain -- python /path/to/msds-chain-mcp/server.py

OpenAI Codex:

codex marketplace add https://github.com/littleblakew/msds-chain-mcp

Manual config (Claude Code ~/.claude.json or Codex .agents/):

{
  "mcpServers": {
    "msds-chain": {
      "command": "python",
      "args": ["/absolute/path/to/msds-chain-mcp/server.py"],
      "env": {
        "MSDS_API_KEY": "sk-msds-your-key-here"
      }
    }
  }
}

Restart Claude Code. You should see msds-chain in the MCP tools list.

Usage Examples

Experiment Protocol Review

User: I'm planning a Grignard reaction with magnesium turnings, diethyl ether,
      and bromobenzene. Check if this setup is safe.

Claude:
  → calls batch_safety_check(["magnesium", "diethyl ether", "bromobenzene"])
  → Returns: compatibility matrix, PPE requirements, storage grouping

Opentrons Deck Safety Audit

User: My Opentrons deck has these in different slots:
      Slot 1: Acetone, Slot 3: Concentrated H2SO4, Slot 5: Methanol,
      Slot 7: Sodium borohydride. Any safety issues?

Claude:
  → calls check_chemical_compatibility(["acetone", "sulfuric acid", "methanol", "sodium borohydride"])
  → ⚠️ INCOMPATIBLE: Sodium borohydride + sulfuric acid (violent reaction, H2 gas evolution)
  → ⚠️ CAUTION: Acetone + sulfuric acid (exothermic)
  → Recommendation: Move sodium borohydride to maximum distance from acids

Compliance Check Before Shipping

User: We need to ship toluene and dichloromethane to our Japan lab.
      What transport regulations apply?

Claude:
  → calls get_transport_classification(["toluene", "dichloromethane"])
  → calls check_regulatory_compliance(["toluene", "dichloromethane"], regions=["JP"])
  → Returns: UN numbers, IATA packing instructions, Japan-specific regulations

Generate Signed Audit Report

User: Create a safety audit report for our quarterly review.
      Chemicals: acetone, methanol, ethanol, isopropanol, hexane.

Claude:
  → calls create_audit_session("Q2 2026 Solvent Cabinet Review", ["acetone", "methanol", "ethanol", "isopropanol", "hexane"])
  → calls get_audit_report("SESSION-ID")
  → Returns: Signed PDF URL (Ed25519 signature, suitable for GLP/GMP compliance)

Remote Mode (HTTP)

For cloud deployment or shared team access, run as an HTTP server:

# Streamable HTTP (recommended for Claude Code 2026+)
MSDS_API_KEY=sk-msds-xxx python server_remote.py

# Or SSE mode
MSDS_MCP_TRANSPORT=sse MSDS_API_KEY=sk-msds-xxx python server_remote.py

Connect from 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

Configuration

Variable Default Description
MSDS_API_KEY (required) API key from the MSDS Chain dashboard
MSDS_API_URL Production URL Override to point at dev/self-hosted instance
MSDS_LANG en Response language: en, zh, ja, de, id

Use Cases

Lab Automation (Opentrons / Hamilton / Tecan)

  • Pre-run protocol safety audit
  • Deck layout compatibility verification
  • Automated run compliance reports

Electronic Lab Notebooks (Benchling / LabArchives)

  • Safety annotations on experiment entries
  • Chemical registration with auto-flagging

Pharmaceutical R&D

  • Synthesis route safety screening
  • Multi-region regulatory pre-checks for new compounds
  • GMP-ready audit trail with signed receipts

Data Coverage

  • 4,200+ chemicals with multi-language aliases (EN/ZH/JA)
  • NFPA/GHS classification for compatibility rules
  • 8 regulatory jurisdictions (EU, US, CN, JP, KR, CA, AU, TW)
  • Occupational exposure limits from 5 standards (OSHA PEL, ACGIH TLV, EU IOELV, JP OEL, CN GBZ)
  • UN transport data for 16+ common lab chemicals

Architecture

Your AI Agent (Brain)          MSDS Chain MCP (Hands)
┌──────────────────┐           ┌─────────────────────────┐
│ Claude Code      │──MCP────▶│ server.py (stdio/SSE)   │
│ Cursor           │           │   ↓                     │
│ Any MCP client   │           │ MSDS Chain Backend API  │
└──────────────────┘           │   ↓                     │
                               │ Safety Reasoning Engine │
                               │ (Rules + LLM fallback)  │
                               └─────────────────────────┘

The MCP server is a thin client — all safety reasoning happens on the MSDS Chain backend (rule engine + Azure OpenAI GPT-4o fallback for edge cases).

Development

Test locally with the MCP inspector:

export MSDS_API_KEY=sk-msds-your-key
npx @modelcontextprotocol/inspector python server.py

Roadmap

  • [x] get_waste_disposal — waste classification and disposal guidance
  • [x] check_mixing_order — safe addition sequence for reagent pairs
  • [x] get_chemical_alternatives — safer substitutes for restricted chemicals
  • [x] Remote MCP (HTTP SSE / Streamable HTTP) for cloud-hosted access
  • [x] OAuth 2.1 for Claude Marketplace integration (skeleton — needs Redis/DB for production)

License

MIT

About

Built by LAgentBot — AI-powered chemical safety infrastructure.

Part of the MSDS Chain platform: the world's first AI Agent-driven chemical safety data trust network.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选