Clinical Trial Drug Profiling

SkillProductivity

Clinical Trial Drug Profiling - Profile drug for clinical trials: FDA clinical studies, contraindications, pregnancy info, and geriatric use. Use this skill for clinical research tasks involving get clinical studies info by drug name get contraindications by drug name get pregnancy effects info by drug name get geriatric use info by drug name. Combines 4 tools from 1 SCP server(s).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Clinical Trial Drug Profiling skill

What this skill tells your AI

The instructions your AI receives, as published by internscience/scp in skills/clinical_trial_drug_profile/SKILL.md and read by ahel’s review.

Discipline: Clinical Research | Tools Used: 4 | Servers: 1

Description

Profile drug for clinical trials: FDA clinical studies, contraindications, pregnancy info, and geriatric use.

Tools Used

  • get_clinical_studies_info_by_drug_name from fda-drug-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug
  • get_contraindications_by_drug_name from fda-drug-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug
  • get_pregnancy_effects_info_by_drug_name from fda-drug-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug
  • get_geriatric_use_info_by_drug_name from fda-drug-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/14/Origene-FDADrug

Workflow

  1. Get clinical studies info
  2. Get contraindications
  3. Get pregnancy effects
  4. Get geriatric use info

Test Case

Input

{
    "drug_name": "methotrexate"
}

Expected Steps

  1. Get clinical studies info
  2. Get contraindications
  3. Get pregnancy effects
  4. Get geriatric use info

Usage Example

Note: Replace <YOUR_SCP_HUB_API_KEY> with your own SCP Hub API Key. You can obtain one from the SCP Platform.

import asyncio
import json
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
from mcp.client.sse import sse_client

SERVERS = {
    "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, transport

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():
    # Connect to required servers
    sessions = {}
    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 clinical studies info
    result_1 = await sessions["fda-drug-server"].call_tool("get_clinical_studies_info_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 contraindications
    result_2 = await sessions["fda-drug-server"].call_tool("get_contraindications_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 pregnancy effects
    result_3 = await sessions["fda-drug-server"].call_tool("get_pregnancy_effects_info_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 geriatric use info
    result_4 = await sessions["fda-drug-server"].call_tool("get_geriatric_use_info_by_drug_name", arguments={})
    data_4 = parse(result_4)
    print(f"Step 4 result: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")

    # Cleanup
    print("Workflow complete!")

if __name__ == "__main__":
    asyncio.run(main())

Signals

GitHub stars
167
Forks
9
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
clinical-trial-drug-profile
Source
github.com/internscience/scp