Skip to main content
Glama
liueic

PubChem Chemical Safety MCP Server

by liueic
schemas.py2.43 kB
""" 数据模型定义 """ from typing import List, Optional, Dict, Any from pydantic import BaseModel, Field class CompoundInfo(BaseModel): """化合物基础信息""" cid: Optional[int] = None name: str molecular_formula: Optional[str] = None molecular_weight: Optional[float] = None iupac_name: Optional[str] = None synonyms: List[str] = Field(default_factory=list) smiles: Optional[str] = None inchi_key: Optional[str] = None class GHSPictogram(BaseModel): """GHS象形图信息""" code: str url: str description: str class SafetyInfo(BaseModel): """安全分类信息""" model_config = {"exclude_unset": True} cid: int signal_word: Optional[str] = None ghs_pictograms: Optional[List[GHSPictogram]] = None ghs_hazard_statements: Optional[List[str]] = None precautionary_statements: Optional[List[str]] = None regulatory_info: Optional[List[Dict[str, Any]]] = None fire_fighting: Optional[List[Dict[str, Any]]] = None other_safety_info: Optional[List[Dict[str, Any]]] = None ghs_classification: Optional[List[Dict[str, Any]]] = None class ToxicityData(BaseModel): """毒性数据 - 支持所有PubChem Toxicity字段""" model_config = { "exclude_unset": True, "extra": "allow" # 允许额外字段,支持所有Toxicity子分类 } cid: int # 常见的毒性数据字段(这些字段总是可选的) toxicity_summary: Optional[List[Dict[str, Any]]] = None niosh_toxicity_data: Optional[List[Dict[str, Any]]] = None carcinogen_classification: Optional[List[Dict[str, Any]]] = None health_effects: Optional[List[Dict[str, Any]]] = None signs_and_symptoms: Optional[List[Dict[str, Any]]] = None acute_effects: Optional[List[Dict[str, Any]]] = None human_toxicity_excerpts: Optional[List[Dict[str, Any]]] = None non_human_toxicity_excerpts: Optional[List[Dict[str, Any]]] = None non_human_toxicity_values: Optional[List[Dict[str, Any]]] = None # 生态毒性数据 ecotoxicity_values: Optional[List[Dict[str, Any]]] = None ecotoxicity_excerpts: Optional[List[Dict[str, Any]]] = None environmental_fate: Optional[List[Dict[str, Any]]] = None # 其他所有字段通过extra="allow"自动支持 class ErrorResponse(BaseModel): """错误响应""" error: str details: Optional[str] = None

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liueic/PubChem-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server