<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/drug-warning-report
1 files
──Details
PublishedJune 12, 2026 at 11:31 PM
Content Hashsha256:6d75142202377d5e...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 4.2 KB)
SKILL.md4.2 KBactive
SKILL.md · 112 lines · 4.2 KB
version: "1.0.1" name: drug_warning_report description: "Drug Warning Intelligence Report - Generate drug warning report: ChEMBL drug warnings, FDA boxed warnings, adverse reactions, and environmental warnings. Use this skill for pharmacovigilance tasks involving get drug warning by id get boxed warning info by drug name get adverse reactions by drug name get environmental warning by drug name. Combines 4 tools from 2 SCP server(s)."
Drug Warning Intelligence Report
Discipline: Pharmacovigilance | Tools Used: 4 | Servers: 2
Description
Generate drug warning report: ChEMBL drug warnings, FDA boxed warnings, adverse reactions, and environmental warnings.
Tools Used
- `get_drug_warning_by_id` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL - `get_boxed_warning_info_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `get_adverse_reactions_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `get_environmental_warning_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug
Workflow
- Get ChEMBL drug warnings
- Get FDA boxed warnings
- Get adverse reactions
- Get environmental warnings
Test Case
Input
json
{"drug_name": "rosiglitazone","warning_id": 1}
Expected Steps
- Get ChEMBL drug warnings
- Get FDA boxed warnings
- Get adverse reactions
- Get environmental warnings
Usage Example
Note: Replace<YOUR_SCP_HUB_API_KEY>with your own SCP Hub API Key. You can obtain one from the SCP Platform.
python
import asyncioimport jsonfrom mcp import ClientSessionfrom mcp.client.streamable_http import streamablehttp_clientfrom mcp.client.sse import sse_clientSERVERS = {"chembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL","fda-drug-server": "https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug"}async def connect(url, transport_type):transport = streamablehttp_client(url=url, headers={"SCP-HUB-API-KEY": "<YOUR_SCP_HUB_API_KEY>"})read, write, _ = await transport.__aenter__()ctx = ClientSession(read, write)session = await ctx.__aenter__()await session.initialize()return session, ctx, transportdef 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.textreturn str(result)except: return str(result)async def main():# Connect to required serverssessions = {}sessions["chembl-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL", "streamable-http")sessions["fda-drug-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug", "streamable-http")# Execute workflow steps# Step 1: Get ChEMBL drug warningsresult_1 = await sessions["chembl-server"].call_tool("get_drug_warning_by_id", arguments={})data_1 = parse(result_1)print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")# Step 2: Get FDA boxed warningsresult_2 = await sessions["fda-drug-server"].call_tool("get_boxed_warning_info_by_drug_name", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Get adverse reactionsresult_3 = await sessions["fda-drug-server"].call_tool("get_adverse_reactions_by_drug_name", arguments={})data_3 = parse(result_3)print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")# Step 4: Get environmental warningsresult_4 = await sessions["fda-drug-server"].call_tool("get_environmental_warning_by_drug_name", arguments={})data_4 = parse(result_4)print(f"Step 4 result: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")# Cleanupprint("Workflow complete!")if __name__ == "__main__":asyncio.run(main())