chemical_safety_assessment
化学安全性評価 - 化学物質の安全性を評価します。PubChemの化合物情報、FDAの医薬品データ、ADMET予測、ChEMBLの構造警告を活用します。このスキルを使用することで、化合物名から一般情報を取得したり、医薬品名から警告および注意事項を取得したり、分子のADMETを予測したり、化合物の構造警告を検出したりできます。4つのSCPサーバーから4つのツールを統合しています。
description の原文を見る
Chemical Safety Assessment - Assess chemical safety: PubChem compound info, FDA drug data, ADMET prediction, and structural alerts from ChEMBL. Use this skill for chemical safety tasks involving get general info by compound name get warnings and cautions by drug name pred molecule admet get compound structural alert. Combines 4 tools from 4 SCP server(s).
SKILL.md 本文
化学物質安全性評価
分野: 化学安全性 | 使用ツール: 4 | サーバー: 4
説明
化学物質の安全性を評価します: PubChem化合物情報、FDA医薬品データ、ADMET予測、およびChEMBLの構造アラート。
使用ツール
get_general_info_by_compound_namefrompubchem-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChemget_warnings_and_cautions_by_drug_namefromfda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrugpred_molecule_admetfromserver-3(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Modelget_compound_structural_alertfromchembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL
ワークフロー
- PubChem化合物情報を取得
- FDA警告を取得
- ADMET毒性を予測
- ChEMBLから構造アラートを確認
テストケース
入力
{
"compound_name": "acetaminophen",
"smiles": "CC(=O)Nc1ccc(O)cc1"
}
期待される手順
- PubChem化合物情報を取得
- FDA警告を取得
- ADMET毒性を予測
- ChEMBLから構造アラートを確認
使用例
注記:
sk-b04409a1-b32b-4511-9aeb-22980abdc05cをご自身のSCP Hub APIキーに置き換えてください。APIキーは SCP Platform から取得できます。
import asyncio
import json
from contextlib import AsyncExitStack
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
from mcp.client.sse import sse_client
SERVERS = {
"pubchem-server": "https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem",
"fda-drug-server": "https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug",
"server-3": "https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Model",
"chembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL"
}
async def connect(url, stack):
transport = streamablehttp_client(url=url, headers={"SCP-HUB-API-KEY": "sk-b04409a1-b32b-4511-9aeb-22980abdc05c"})
read, write, _ = await stack.enter_async_context(transport)
ctx = ClientSession(read, write)
session = await stack.enter_async_context(ctx)
await session.initialize()
return session
def parse(result):
try:
if hasattr(result, 'content') and result.content:
c = result.content[0]
if hasattr(c, 'text'):
try: return json.loads(c.text)
except: return c.text
return str(result)
except: return str(result)
async def main():
async with AsyncExitStack() as stack:
# 必要なサーバーに接続
sessions = {}
sessions["pubchem-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem", stack)
sessions["fda-drug-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug", stack)
sessions["server-3"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Model", stack)
sessions["chembl-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL", stack)
# ワークフロー手順を実行
# ステップ1: PubChem化合物情報を取得
result_1 = await sessions["pubchem-server"].call_tool("get_general_info_by_compound_name", arguments={})
data_1 = parse(result_1)
print(f"ステップ1の結果: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")
# ステップ2: FDA警告を取得
result_2 = await sessions["fda-drug-server"].call_tool("get_warnings_and_cautions_by_drug_name", arguments={})
data_2 = parse(result_2)
print(f"ステップ2の結果: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")
# ステップ3: ADMET毒性を予測
result_3 = await sessions["server-3"].call_tool("pred_molecule_admet", arguments={})
data_3 = parse(result_3)
print(f"ステップ3の結果: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")
# ステップ4: ChEMBLから構造アラートを確認
result_4 = await sessions["chembl-server"].call_tool("get_compound_structural_alert", arguments={})
data_4 = parse(result_4)
print(f"ステップ4の結果: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")
# クリーンアップ
print("ワークフローが完了しました!")
if __name__ == "__main__":
asyncio.run(main())
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- SpectrAI-Initiative
- ライセンス
- Apache-2.0
- 最終更新
- 2026/5/12
Source: https://github.com/SpectrAI-Initiative/InnoClaw / ライセンス: Apache-2.0