<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/comparative-drug-analysis
1 files
──Details
PublishedJune 17, 2026 at 10:42 AM
Content Hashsha256:8c4b7273e27b7773...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 4.4 KB)
SKILL.md4.4 KBactive
SKILL.md · 116 lines · 4.4 KB
version: "1.0.1" name: comparative_drug_analysis description: "Comparative Drug Analysis - Compare drugs: structure analysis, PubChem data, FDA safety, and ChEMBL bioactivity. Use this skill for comparative pharmacology tasks involving ChemicalStructureAnalyzer get compound by name get adverse reactions by drug name search activity. Combines 4 tools from 4 SCP server(s)."
Comparative Drug Analysis
Discipline: Comparative Pharmacology | Tools Used: 4 | Servers: 4
Description
Compare drugs: structure analysis, PubChem data, FDA safety, and ChEMBL bioactivity.
Tools Used
- `ChemicalStructureAnalyzer` from
server-28(sse) -https://scp.intern-ai.org.cn/api/v1/mcp/28/InternAgent - `get_compound_by_name` from
pubchem-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem - `get_adverse_reactions_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `search_activity` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL
Workflow
- Analyze structures of both drugs
- Get PubChem data for both
- Compare FDA safety profiles
- Compare ChEMBL bioactivity
Test Case
Input
json
{"drug_a": "aspirin","drug_b": "ibuprofen"}
Expected Steps
- Analyze structures of both drugs
- Get PubChem data for both
- Compare FDA safety profiles
- Compare ChEMBL bioactivity
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 = {"server-28": "https://scp.intern-ai.org.cn/api/v1/mcp/28/InternAgent","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","chembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL"}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["server-28"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/28/InternAgent", "sse")sessions["pubchem-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem", "streamable-http")sessions["fda-drug-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug", "streamable-http")sessions["chembl-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL", "streamable-http")# Execute workflow steps# Step 1: Analyze structures of both drugsresult_1 = await sessions["server-28"].call_tool("ChemicalStructureAnalyzer", arguments={})data_1 = parse(result_1)print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")# Step 2: Get PubChem data for bothresult_2 = await sessions["pubchem-server"].call_tool("get_compound_by_name", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Compare FDA safety profilesresult_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: Compare ChEMBL bioactivityresult_4 = await sessions["chembl-server"].call_tool("search_activity", 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())