littleblakew avatar

Msds Chain

littleblakew/msds-chain-mcp

Connects Claude to ChainSDS, a chemical safety database with 21 tools for lab protocol validation. You get pairwise compatibility checks, PPE recommendations, regulatory compliance across 10 jurisdictions (EU REACH, US OSHA, Japan, China), GHS hazard lookups, and transport classification. The batch_safety_check tool runs compatibility matrices for deck layouts in one call. It handles mixing order validation (acid into water checks), waste disposal procedures, and generates signed audit PDFs for GLP/GMP compliance. Useful when designing experiments with AI and you need safety verification inline instead of as a separate step. Works freemium for basic queries, requires API key from msdschain.lagentbot.com for audit reports and PDF uploads.

tools
18
auth
Secret needed
transport
HTTP
env var
1
last updated
Nov 9, 2026

Tools

18 tools

Public tool metadata for what this MCP can expose to an agent.

check_chemical_compatibilityCheck pairwise compatibility between a list of chemicals. Returns compatibility status (compatible / caution / incompatible) for each pair, along with specific hazard reasons and storage recommendations. Use this before an experiment to verify it is safe to use the listed chem...1 params

Check pairwise compatibility between a list of chemicals. Returns compatibility status (compatible / caution / incompatible) for each pair, along with specific hazard reasons and storage recommendations. Use this before an experiment to verify it is safe to use the listed chem...

Parameters* required
chemicalsarray
get_chemical_risk_warningsGet hazard and risk warnings for one or more chemicals. Returns GHS hazard classification, signal words (Danger/Warning), H-codes, flash point, toxicity, and recommended PPE. Use this to understand the specific dangers of each chemical before handling or storing them. Args: ch...1 params

Get hazard and risk warnings for one or more chemicals. Returns GHS hazard classification, signal words (Danger/Warning), H-codes, flash point, toxicity, and recommended PPE. Use this to understand the specific dangers of each chemical before handling or storing them. Args: ch...

Parameters* required
chemicalsarray
check_regulatory_complianceCheck multi-region regulatory compliance status for chemicals. Checks against: EU (SVHC/REACH/CLP/CMR), US (OSHA PEL/TSCA), CN, JP, KR, CA, AU, TW regulations. Use this when preparing export documentation, compliance audits, or when working with chemicals that may be restricte...2 params

Check multi-region regulatory compliance status for chemicals. Checks against: EU (SVHC/REACH/CLP/CMR), US (OSHA PEL/TSCA), CN, JP, KR, CA, AU, TW regulations. Use this when preparing export documentation, compliance audits, or when working with chemicals that may be restricte...

Parameters* required
chemicalsarray
regionsvalue
ask_chemical_safetyAsk any chemical safety question in natural language. Handles: storage conditions, spill/exposure emergency procedures, first-aid measures, PPE requirements, disposal guidance, MSDS lookups, GHS label interpretation, and general lab safety questions. Use this as the catch-all...1 params

Ask any chemical safety question in natural language. Handles: storage conditions, spill/exposure emergency procedures, first-aid measures, PPE requirements, disposal guidance, MSDS lookups, GHS label interpretation, and general lab safety questions. Use this as the catch-all...

Parameters* required
questionstring
get_ppe_recommendationGet PPE (Personal Protective Equipment) recommendations for chemicals. Returns specific glove types, eye protection, respiratory protection, and body protection requirements based on MSDS Section 8 data and GHS hazard codes. Args: chemicals: List of chemical names or CAS numbe...1 params

Get PPE (Personal Protective Equipment) recommendations for chemicals. Returns specific glove types, eye protection, respiratory protection, and body protection requirements based on MSDS Section 8 data and GHS hazard codes. Args: chemicals: List of chemical names or CAS numbe...

Parameters* required
chemicalsarray
get_storage_guidanceGet storage and isolation guidance for chemicals. Returns storage class (flammable/oxidizer/corrosive/toxic/general), recommended cabinet type and color code, temperature requirements, incompatible materials for isolation, and specific storage instructions derived from SDS Sec...1 params

Get storage and isolation guidance for chemicals. Returns storage class (flammable/oxidizer/corrosive/toxic/general), recommended cabinet type and color code, temperature requirements, incompatible materials for isolation, and specific storage instructions derived from SDS Sec...

Parameters* required
chemicalsarray
get_emergency_responseGet emergency response guidance for a chemical incident. Returns immediate actions, SDS-specific instructions from Section 4/5/6, and H-code-based guidance for three scenario types. Args: chemical: Chemical name or CAS number, e.g. "hydrochloric acid" scenario: Type of emergen...2 params

Get emergency response guidance for a chemical incident. Returns immediate actions, SDS-specific instructions from Section 4/5/6, and H-code-based guidance for three scenario types. Args: chemical: Chemical name or CAS number, e.g. "hydrochloric acid" scenario: Type of emergen...

Parameters* required
chemicalstring
scenariostring
default: spill
get_exposure_limitsGet occupational exposure limits (OEL/TLV/PEL/MAC) for chemicals. Returns TWA, STEL, and Ceiling values from multiple standards: - OSHA PEL (US) - ACGIH TLV (International) - EU SCOEL IOELV - Japan 産衛研 - China GBZ Args: chemicals: List of chemical names or CAS numbers region:...2 params

Get occupational exposure limits (OEL/TLV/PEL/MAC) for chemicals. Returns TWA, STEL, and Ceiling values from multiple standards: - OSHA PEL (US) - ACGIH TLV (International) - EU SCOEL IOELV - Japan 産衛研 - China GBZ Args: chemicals: List of chemical names or CAS numbers region:...

Parameters* required
chemicalsarray
regionvalue
get_transport_classificationGet UN transport classification for chemicals (dangerous goods shipping). Returns UN number, proper shipping name, hazard class, packing group, and transport mode details (ADR road, IATA air, IMDG sea). Args: chemicals: List of chemical names or CAS numbers1 params

Get UN transport classification for chemicals (dangerous goods shipping). Returns UN number, proper shipping name, hazard class, packing group, and transport mode details (ADR road, IATA air, IMDG sea). Args: chemicals: List of chemical names or CAS numbers

Parameters* required
chemicalsarray
create_audit_sessionRun a full MSDS safety audit for a list of chemicals and return a session id. Creates a persistent audit session on MSDS Chain, runs pairwise compatibility and risk analysis across all chemicals, and returns a session_id that can later be passed to `get_audit_report` to fetch...2 params

Run a full MSDS safety audit for a list of chemicals and return a session id. Creates a persistent audit session on MSDS Chain, runs pairwise compatibility and risk analysis across all chemicals, and returns a session_id that can later be passed to `get_audit_report` to fetch...

Parameters* required
chemicalsarray
experiment_namestring
get_audit_reportGet a short-lived signed URL to download the audit report PDF. Use after `create_audit_session` to retrieve an archivable PDF report containing the chemicals, compatibility matrix, risk warnings, and session metadata. Args: session_id: The session id returned by `create_audit_...1 params

Get a short-lived signed URL to download the audit report PDF. Use after `create_audit_session` to retrieve an archivable PDF report containing the chemicals, compatibility matrix, risk warnings, and session metadata. Args: session_id: The session id returned by `create_audit_...

Parameters* required
session_idstring
search_chemical_databaseSearch the MSDS Chain database for a specific chemical. Returns structured information: CAS number, chemical name, NFPA ratings (flammability, health, reactivity), GHS classification, and whether full MSDS data is available. Use this to verify a chemical is in the database bef...1 params

Search the MSDS Chain database for a specific chemical. Returns structured information: CAS number, chemical name, NFPA ratings (flammability, health, reactivity), GHS classification, and whether full MSDS data is available. Use this to verify a chemical is in the database bef...

Parameters* required
querystring
get_sds_sectionRetrieve a specific SDS (Safety Data Sheet) section for a chemical. The 16 standard GHS-SDS sections are: 1. Identification 2. Hazard(s) identification 3. Composition / ingredients 4. First-aid measures 5. Fire-fighting measures 6. Accidental release measures 7. Handling and s...2 params

Retrieve a specific SDS (Safety Data Sheet) section for a chemical. The 16 standard GHS-SDS sections are: 1. Identification 2. Hazard(s) identification 3. Composition / ingredients 4. First-aid measures 5. Fire-fighting measures 6. Accidental release measures 7. Handling and s...

Parameters* required
chemicalstring
sectioninteger
get_chemical_alternativesSuggest safer alternatives for a chemical, considering its intended use. Returns 2-4 alternative chemicals with: name, CAS number, why it's safer (lower toxicity, higher flash point, non-CMR, etc.), any trade-offs (cost, availability, performance), and relevant regulatory cont...2 params

Suggest safer alternatives for a chemical, considering its intended use. Returns 2-4 alternative chemicals with: name, CAS number, why it's safer (lower toxicity, higher flash point, non-CMR, etc.), any trade-offs (cost, availability, performance), and relevant regulatory cont...

Parameters* required
chemicalstring
use_casestring
default:
validate_protocol_chemicalsExtract and validate chemical names from a protocol or experiment description. Parses free-text or code (e.g., Opentrons Python protocol, lab notebook entry, SOP paragraph) to identify all mentioned chemicals, then checks each against the MSDS Chain database. Returns a structu...1 params

Extract and validate chemical names from a protocol or experiment description. Parses free-text or code (e.g., Opentrons Python protocol, lab notebook entry, SOP paragraph) to identify all mentioned chemicals, then checks each against the MSDS Chain database. Returns a structu...

Parameters* required
protocol_textstring
check_mixing_orderDetermine the safe order for mixing/adding two chemicals. Returns the recommended addition sequence, the dangerous sequence to avoid, reasoning (exothermic potential, gas evolution, splashing risk), and any required precautions (cooling, dilution rate, inert atmosphere). Class...3 params

Determine the safe order for mixing/adding two chemicals. Returns the recommended addition sequence, the dangerous sequence to avoid, reasoning (exothermic potential, gas evolution, splashing risk), and any required precautions (cooling, dilution rate, inert atmosphere). Class...

Parameters* required
chemical_astring
chemical_bstring
contextstring
default:
get_waste_disposalGet waste classification and disposal guidance for chemicals. Returns waste category (halogenated/non-halogenated/acidic/alkaline/ heavy metal/oxidizing/reactive), disposal method, container requirements, and incompatible waste streams that must NOT be mixed. Based on SDS Sect...1 params

Get waste classification and disposal guidance for chemicals. Returns waste category (halogenated/non-halogenated/acidic/alkaline/ heavy metal/oxidizing/reactive), disposal method, container requirements, and incompatible waste streams that must NOT be mixed. Based on SDS Sect...

Parameters* required
chemicalsarray
batch_safety_checkRun a comprehensive safety check on a list of chemicals in one call. Returns a combined report with: - Pairwise compatibility matrix (compatible/caution/incompatible) - PPE requirements (merged across all chemicals) - Storage grouping recommendations (which chemicals can share...1 params

Run a comprehensive safety check on a list of chemicals in one call. Returns a combined report with: - Pairwise compatibility matrix (compatible/caution/incompatible) - PPE requirements (merged across all chemicals) - Storage grouping recommendations (which chemicals can share...

Parameters* required
chemicalsarray

Sponsors

Configuration

MSDS_API_KEY*secret

API key from msdschain.lagentbot.com (free plan available)

Readme

MSDS Chain MCP Server

Chemical safety intelligence for AI-assisted experiment design.

An MCP server that gives AI agents (Claude, ChatGPT, Claude Code, Gemini CLI, Copilot Studio, and any other MCP client) 27 tools for chemical safety reasoning: compatibility checks, hazard analysis, regulatory compliance, PPE, storage, transport, and signed audit reports. Every answer names the supplier SDS it came from, with a link to the original PDF.

MSDS Chain, powered by ChainSDS: a verified, always-current chemical safety database.

Built for researchers who design experiments with AI and want safety verification inside the workflow rather than as a separate step: whether the chemicals on a deck are compatible, which mixing orders are dangerous, what PPE a specific handling step needs, how a compound is treated under EU REACH or US OSHA/TSCA, and what a GLP/GMP reviewer will ask for afterwards.

Quick Start

Hosted endpoint. Nothing to install, nothing to run locally:

claude mcp add msds-chain --transport http https://mcp.lagentbot.com/mcp

View the full README on GitHub

Details

Repository
github.com/littleblakew/msds-chain-mcp
Package
msds-chain-mcp
Transport
HTTP
Auth
Required
Registry
MCP registry, active