<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/pharmacokinetics-profile
1 files
──Details
PublishedJune 14, 2026 at 12:59 AM
Content Hashsha256:be1f83c640ef23bc...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 4.2 KB)
SKILL.md4.2 KBactive
SKILL.md · 111 lines · 4.2 KB
version: "1.0.1" name: pharmacokinetics_profile description: "Pharmacokinetics Profile Builder - Build a PK profile: FDA pharmacokinetics, clinical pharmacology, dosage info, and molecular properties. Use this skill for pharmacology tasks involving get pharmacokinetics by drug name get clinical pharmacology by drug name get dosage and storage information by drug name get compound by name. Combines 4 tools from 2 SCP server(s)."
Pharmacokinetics Profile Builder
Discipline: Pharmacology | Tools Used: 4 | Servers: 2
Description
Build a PK profile: FDA pharmacokinetics, clinical pharmacology, dosage info, and molecular properties.
Tools Used
- `get_pharmacokinetics_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `get_clinical_pharmacology_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `get_dosage_and_storage_information_by_drug_name` from
fda-drug-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug - `get_compound_by_name` from
pubchem-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem
Workflow
- Get PK data from FDA
- Get clinical pharmacology
- Get dosage info
- Get molecular structure from PubChem
Test Case
Input
json
{"drug_name": "atorvastatin"}
Expected Steps
- Get PK data from FDA
- Get clinical pharmacology
- Get dosage info
- Get molecular structure from PubChem
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 = {"fda-drug-server": "https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug","pubchem-server": "https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem"}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["fda-drug-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug", "streamable-http")sessions["pubchem-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/8/Origene-PubChem", "streamable-http")# Execute workflow steps# Step 1: Get PK data from FDAresult_1 = await sessions["fda-drug-server"].call_tool("get_pharmacokinetics_by_drug_name", arguments={})data_1 = parse(result_1)print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")# Step 2: Get clinical pharmacologyresult_2 = await sessions["fda-drug-server"].call_tool("get_clinical_pharmacology_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 dosage inforesult_3 = await sessions["fda-drug-server"].call_tool("get_dosage_and_storage_information_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 molecular structure from PubChemresult_4 = await sessions["pubchem-server"].call_tool("get_compound_by_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())