Skip to main content
Glama

title: Klinik MCP emoji: 💊 colorFrom: blue colorTo: green sdk: docker app_port: 8080 pinned: false

⚠️ Disclaimer: Everything this server returns is for educational purposes only and is not medical advice. Always consult a qualified healthcare professional for medical decisions.

Related MCP server: OpenFDA MCP Server

💬 Example questions

Ask your assistant things like:

  • "What is Parol's SGK equivalent (muadil) and reimbursement status?"find_drug_equivalents

  • "Is Glioscan under additional monitoring, or has its licence been cancelled?"get_drug_safety_status

  • "What warnings are on metformin's FDA label?"get_drug_label

  • "70 years old, 60 kg, creatinine 1.4, female — what is the creatinine clearance?"creatinine_clearance

  • "TİTCK record for amoxicillin: ATC, company, prescription type?"get_turkish_drug_info

  • "What is Parol's official patient leaflet (KÜB/KT)?"get_drug_leaflet

  • "Can amifampridine be supplied from abroad?"find_foreign_supply

  • "Can warfarin and aspirin be taken together?"check_drug_interactions

Answers come from official sources (TİTCK, SGK, openFDA, NLM, PubMed), not from the model's training data. Replies are written in Turkish.

One-click workflows (MCP Prompts): your client (Claude, Cursor and friends) shows these as ready-made commands:

  • ilac_bilgisi — TİTCK record + safety status + SGK equivalents in one summary.

  • muadil_ve_geri_odeme — SGK reimbursement + equivalent (muadil) group.

  • renal_doz_kontrol — creatinine clearance plus a renal-dosing reminder.

👥 Who is it for?

User

Start with

Why

Physician

get_drug_label · creatinine_clearance · get_drug_safety_status

Indication/dose/warning + renal dosing + safety flags

Pharmacist

find_drug_equivalents · get_reimbursement_status · get_drug_safety_status

Equivalents + reimbursement + safety status

Researcher

search_medical_literature · get_drug_classes · find_drugs_for_condition

PubMed + drug classes + reverse indication lookup

This server is not a clinical decision tool. Confirming against the official source and applying clinical judgement is mandatory.

Tools

Tool

Description

Source

get_drug_label

Indications, dosage, warnings, contraindications, interactions, adverse reactions

openFDA

get_drug_interactions

The drug-interactions section of one label

openFDA

check_drug_interactions

Pairwise interaction severity (Major/Moderate/Minor)

DDInter

get_drug_adverse_events

Most frequently reported adverse events (FAERS)

openFDA

find_drugs_for_condition

Drugs indicated for a condition (reverse lookup)

openFDA

get_drug_classes

Therapeutic / ATC / mechanism-of-action classes

RxClass

search_medical_literature

Medical literature search on PubMed

PubMed

creatinine_clearance

Creatinine clearance (Cockcroft–Gault)

Formula

body_surface_area

Body surface area (Mosteller)

Formula

pediatric_dose

Weight-based pediatric dose arithmetic

Formula

find_drug_equivalents

Equivalent (muadil) group

SGK EK-4/A

get_reimbursement_status

Reimbursement status (is it on the list)

SGK EK-4/A

search_turkish_drugs

Search the Turkish drug registry by name

TİTCK SKRS

get_turkish_drug_info

Drug info: ATC, company, prescription type

TİTCK SKRS

get_drug_leaflet

Official KÜB/KT leaflet links (clinician + patient)

TİTCK

find_drugs_by_active_ingredient

Drugs sharing the same ATC (active substance)

TİTCK SKRS

find_foreign_supply

Active substances suppliable from abroad

TİTCK

get_drug_safety_status

Additional monitoring (▼) + licence cancellation

TİTCK

🚀 Connecting (no installation required)

The server is live (HuggingFace Spaces + Smithery), so most people need no setup at all. Pick your client:

ChatGPT

  1. In ChatGPT, enable Settings → Connectors → Advanced → Developer mode.

  2. Choose Add connector and enter the MCP URL:

    https://onatozmenn-klinik-mcp.hf.space/mcp
  3. Save. You can now ask things like "Can warfarin and aspirin be taken together?"

Note: custom MCP tools only show up on accounts with Developer mode on.

Claude Desktop

Add this to claude_desktop_config.json (Windows: %APPDATA%\Claude\claude_desktop_config.json · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "klinik": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://onatozmenn-klinik-mcp.hf.space/mcp"]
    }
  }
}

Restart Claude Desktop and the tools appear in the 🔨 menu.

Claude.ai (web)

Remote MCP connects directly on Pro / Max plans (and Free, one connector):

  1. Customize → Connectors"+" → Add custom connector.

  2. Enter the MCP URL (leave the OAuth fields empty, the server needs no key):

    https://onatozmenn-klinik-mcp.hf.space/mcp
  3. Click Add, then enable Klinik MCP from "+" → Connectors in the chat.

Smithery (one command)

npx -y @smithery/cli install onatozmen44/klinik-mcp --client claude

If you want to run it locally or contribute:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .

# stdio (for a local Claude Desktop):
.\.venv\Scripts\python.exe -m health_mcp

# HTTP (for ChatGPT / remote clients):
.\.venv\Scripts\python.exe -m health_mcp --transport http --port 8000

Optional: copy .env.example to .env and set OPENFDA_API_KEY / NCBI_API_KEY to raise the upstream rate limits (not required).

To point Claude at your local stdio server, set command to your own .venv\Scripts\python.exe path and args to ["-m", "health_mcp"].

Run the tests:

.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m pytest -q

Try the tools in a browser (MCP Inspector):

npx @modelcontextprotocol/inspector .\.venv\Scripts\python.exe -m health_mcp

Data sources

🇹🇷 Turkish data (SGK EK-4/A, full list)

find_drug_equivalents and get_reimbursement_status read SGK's complete reimbursement list, "Bedeli Ödenecek İlaçlar Listesi (EK-4/A)" (~8,000 drugs: equivalent group, barcode, public number, list-entry date, reimbursement) (src/health_mcp/data/sgk_ek4a.json).

The full list is published publicly inside SGK's consolidated "İşlenmiş Güncel SUT" zip (EK-4 LİSTELERİ/EK-4A BEDELİ ÖDENECEK İLAÇLAR LİSTESİ.xlsx). scripts/update_data.py finds, downloads and processes it automatically.

Note on retail prices: EK-4/A carries barcodes, equivalents and reimbursement, but not the net retail price in TRY (the price columns are discount rates). TİTCK does not publish barcode-level retail prices either (dinamikmodul/100 is EUR reference pricing, without barcodes). A commercial drug database is needed for real TRY prices.

Manual update (with an EK-4/A file you extracted from the zip):

.\.venv\Scripts\python.exe scripts/build_sgk_snapshot.py "C:\path\EK-4A.xlsx" --version "2026"

🇹🇷 Full drug registry (TİTCK SKRS)

search_turkish_drugs, get_turkish_drug_info and find_drugs_by_active_ingredient read every active product in the TİTCK SKRS e-prescription list (~7,900 drugs: name, barcode, ATC, company, prescription type, essential-medicines flag) (src/health_mcp/data/titck_drugs.json).

To refresh it:

  1. Download the latest .xlsx: titck.gov.tr → dinamikmodul/43 "SKRS E-Reçete İlaç ve Diğer Farmasötik Ürünler Listesi".

  2. Build the snapshot:

.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe scripts/build_titck_snapshot.py "C:\path\skrs.xlsx" --version 2026-06-23

🛡️ TİTCK safety status (additional monitoring + licence cancellation)

get_drug_safety_status, and the warning lines inside get_turkish_drug_info, read two official TİTCK lists (src/health_mcp/data/titck_safety.json):

  • Drugs under additional monitoring (▼ black triangle) — TİTCK dinamikmodul/57

  • Licence cancellation list — TİTCK dinamikmodul/76

Matching is by drug name / active substance (the barcode is empty in most cancellation records), so product and presentation differences must be confirmed against the official list. To refresh, download the latest .xlsx files and run:

.\.venv\Scripts\python.exe scripts/build_titck_safety_snapshot.py `
  --monitoring "C:\path\ekizleme.xlsx" --cancellations "C:\path\ruhsatiptal.xlsx" `
  --monitoring-version 2025-12-19 --cancellations-version 2026-06-19

or let scripts/update_data.py below fetch them for you.

🔄 Automatic updates

TİTCK republishes its lists regularly. Pull the latest data with one command:

.\.venv\Scripts\python.exe scripts/update_data.py

The script locates and downloads the TİTCK SKRS list (titck_drugs.json), the full SGK EK-4/A (sgk_ek4a.json, from the consolidated SUT zip) and the TİTCK safety lists (titck_safety.json: additional monitoring + licence cancellations), then rebuilds the snapshots. To schedule it weekly (adjust the paths):

schtasks /Create /SC WEEKLY /D MON /ST 03:00 /TN "health-mcp-update" /TR "C:\path\.venv\Scripts\python.exe C:\path\scripts\update_data.py"

⚠️ Sorumluluk reddi: Bu sunucunun sağladığı bilgiler yalnızca eğitim amaçlıdır ve tıbbi tavsiye değildir. Tıbbi kararlar için mutlaka bir sağlık profesyoneline danışın.

💬 Örnek sorular

Asistanına şöyle sor:

  • “Parol'un SGK eşdeğeri (muadil) ve geri ödeme durumu nedir?”find_drug_equivalents

  • “Glioscan ek izlemede mi, ruhsatı iptal mi?”get_drug_safety_status

  • “Metformin'in FDA etiketinde uyarılar neler?”get_drug_label

  • “70 yaş, 60 kg, kreatinin 1.4, kadın — kreatinin klerensi kaç?”creatinine_clearance

  • “Amoksisilin için TİTCK kaydı: ATC, firma, reçete türü?”get_turkish_drug_info

  • “Parol'un resmi prospektüsü (KÜB/KT) nedir?”get_drug_leaflet

  • “Amifampridine yurt dışından temin edilebilir mi?”find_foreign_supply

  • “Warfarin ile aspirin birlikte verilebilir mi?”check_drug_interactions

Yanıtlar resmî kaynaklardan (TİTCK, SGK, openFDA, NLM, PubMed) gelir — eğitimden tahmin değil.

Tek tıkla iş akışları (MCP Prompts): istemcin (Claude / Cursor vb.) bunları hazır komut olarak gösterir:

  • ilac_bilgisi — TİTCK kaydı + güvenlik durumu + SGK eşdeğer, tek özette.

  • muadil_ve_geri_odeme — SGK geri ödeme + eşdeğer (muadil) grubu.

  • renal_doz_kontrol — kreatinin klerensi hesabı + böbrek dozu hatırlatması.

👥 Kimler için?

Kullanıcı

Başla

Neden

Hekim

get_drug_label · creatinine_clearance · get_drug_safety_status

Endikasyon/doz/uyarı + böbrek dozu + güvenlik bayrakları

Eczacı

find_drug_equivalents · get_reimbursement_status · get_drug_safety_status

Muadil + geri ödeme + güvenlik durumu

Araştırmacı

search_medical_literature · get_drug_classes · find_drugs_for_condition

PubMed + ilaç sınıfları + endikasyon ters arama

Bu sunucu bir klinik karar aracı değildir; resmî kaynak teyidi ve hekim/eczacı muhakemesi şarttır.

Araçlar (Tools)

Araç

Açıklama

Kaynak

get_drug_label

Endikasyon, doz, uyarı, kontrendikasyon, etkileşim, yan etki

openFDA

get_drug_interactions

Etiketteki ilaç etkileşimleri bölümü

openFDA

check_drug_interactions

İki ilaç arası etkileşim şiddeti (Major/Moderate/Minor)

DDInter

get_drug_adverse_events

En sık bildirilen yan etkiler (FAERS)

openFDA

find_drugs_for_condition

Hastalığa göre ilaç bulma (ters arama)

openFDA

get_drug_classes

Terapötik / ATC / etki mekanizması sınıfları

RxClass

search_medical_literature

PubMed'de tıbbi literatür araması

PubMed

creatinine_clearance

Kreatinin klerensi (Cockcroft–Gault)

Formül

body_surface_area

Vücut yüzey alanı (Mosteller)

Formül

pediatric_dose

Kilo bazlı pediatrik doz hesabı

Formül

find_drug_equivalents

Eşdeğer (muadil) grup

SGK EK-4/A

get_reimbursement_status

Geri ödeme durumu (listede mi)

SGK EK-4/A

search_turkish_drugs

Türk ilaç kaydı arama (ad)

TİTCK SKRS

get_turkish_drug_info

İlaç bilgisi: ATC, firma, reçete türü

TİTCK SKRS

get_drug_leaflet

Resmi KÜB/KT prospektüs linkleri (hekim+hasta)

TİTCK

find_drugs_by_active_ingredient

Aynı ATC (etkin madde) ilaçlar

TİTCK SKRS

find_foreign_supply

Yurt dışından temin edilebilen etkin maddeler

TİTCK

get_drug_safety_status

Ek izleme (▼) + ruhsat iptali

TİTCK

🚀 Bağlama (kurulum gerekmez)

Sunucu yayında (HuggingFace Spaces + Smithery) — çoğu kullanıcı için hiçbir kurulum gerekmez. İstemcini seç:

ChatGPT

  1. ChatGPT → Settings → Connectors → Advanced → Developer mode'u aç.

  2. Add connector de ve MCP URL'sini gir:

    https://onatozmenn-klinik-mcp.hf.space/mcp
  3. Kaydet. Artık sohbette “Warfarin ile aspirin birlikte verilebilir mi?” gibi sorabilirsin.

Not: Özel MCP araçları yalnızca Developer mode açık hesaplarda görünür.

Claude Desktop

claude_desktop_config.json dosyasına ekle (Windows: %APPDATA%\Claude\claude_desktop_config.json · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "klinik": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://onatozmenn-klinik-mcp.hf.space/mcp"]
    }
  }
}

Claude Desktop'ı kapat-aç; araçlar 🔨 menüsünde görünür.

Claude.ai (web)

Pro / Max (ve Free — tek connector) planlarında uzak MCP doğrudan bağlanır:

  1. Customize → Connectors“+” → Add custom connector.

  2. MCP URL'sini gir (OAuth alanları boş — sunucu anahtarsız):

    https://onatozmenn-klinik-mcp.hf.space/mcp
  3. Add de; sohbette sol alttaki “+” → Connectors'tan Klinik MCP'yi aç.

Smithery (tek komut)

npx -y @smithery/cli install onatozmen44/klinik-mcp --client claude

Kendi makinende çalıştırmak veya katkıda bulunmak istersen:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .

# stdio (yerel Claude Desktop için):
.\.venv\Scripts\python.exe -m health_mcp

# HTTP (ChatGPT / uzak istemciler için):
.\.venv\Scripts\python.exe -m health_mcp --transport http --port 8000

İsteğe bağlı: .env.example.env'e kopyalayıp OPENFDA_API_KEY / NCBI_API_KEY girerek API hız limitlerini yükseltebilirsin (gerekli değil).

Yereldeki stdio'yu Claude'a bağlamak istersen config'de command'i kendi .venv\Scripts\python.exe yoluna, args["-m", "health_mcp"]'e ayarla.

Testleri çalıştır:

.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m pytest -q

Araçları tarayıcıda denemek (MCP Inspector):

npx @modelcontextprotocol/inspector .\.venv\Scripts\python.exe -m health_mcp

Veri kaynakları

🇹🇷 Türkiye verisi (SGK EK-4/A — tam liste)

find_drug_equivalents ve get_reimbursement_status araçları, SGK'nın tam "Bedeli Ödenecek İlaçlar Listesi (EK-4/A)"sını okur (~8.000 ilaç: eşdeğer grup, barkod, kamu no, listeye giriş tarihi, geri ödeme) (src/health_mcp/data/sgk_ek4a.json).

Tam liste, SGK'nın konsolide "İşlenmiş Güncel SUT" zip'i içinde public olarak yayımlanır (EK-4 LİSTELERİ/EK-4A BEDELİ ÖDENECEK İLAÇLAR LİSTESİ.xlsx). scripts/update_data.py bunu otomatik bulur, indirir ve işler.

TL fiyatı notu: EK-4/A barkod + eşdeğer + geri ödeme içerir ama net TL perakende fiyatı içermez (fiyat sütunları iskonto oranıdır). TİTCK de barkod bazlı retail TL fiyatını public yayımlamaz (dinamikmodul/100 yalnızca EUR referans, barkodsuz). Gerçek TL fiyatı için ticari bir ilaç DB'si gerekir.

Manuel güncelleme (zip'ten çıkardığın EK-4/A ile):

.\.venv\Scripts\python.exe scripts/build_sgk_snapshot.py "C:\yol\EK-4A.xlsx" --version "2026"

🇹🇷 Tam ilaç kaydı (TİTCK SKRS)

search_turkish_drugs, get_turkish_drug_info ve find_drugs_by_active_ingredient araçları, TITCK SKRS E-Reçete listesinin tüm aktif ürünlerini (~7.900 ilaç: ad, barkod, ATC, firma, reçete türü, temel ilaç listesi) okur (src/health_mcp/data/titck_drugs.json).

Listeyi güncellemek için:

  1. En güncel .xlsx'i indir: titck.gov.tr → dinamikmodul/43 "SKRS E-Reçete İlaç ve Diğer Farmasötik Ürünler Listesi".

  2. Snapshot'ı üret:

.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe scripts/build_titck_snapshot.py "C:\yol\skrs.xlsx" --version 2026-06-23

🛡️ TİTCK güvenlik durumu (ek izleme + ruhsat iptali)

get_drug_safety_status aracı ve get_turkish_drug_info içindeki uyarı satırları, iki resmî TİTCK listesini okur (src/health_mcp/data/titck_safety.json):

  • Ek İzlemeye Tabi İlaçlar (▼ kara üçgen) — TİTCK dinamikmodul/57

  • Ruhsat İptal Listesi — TİTCK dinamikmodul/76

Eşleşme ilaç adı/etkin madde bazlıdır (ruhsat iptalinde barkod çoğu kayıtta boştur), bu yüzden ürün/sunum farkları için resmî listeden teyit edilmelidir. Listeyi güncellemek için en güncel .xlsx'leri indirip:

.\.venv\Scripts\python.exe scripts/build_titck_safety_snapshot.py `
  --monitoring "C:\yol\ekizleme.xlsx" --cancellations "C:\yol\ruhsatiptal.xlsx" `
  --monitoring-version 2025-12-19 --cancellations-version 2026-06-19

veya tek komutla otomatik (aşağıdaki scripts/update_data.py bunu da çeker).

🔄 Otomatik güncelleme

TİTCK listesi düzenli güncellenir. En güncel veriyi tek komutla çek:

.\.venv\Scripts\python.exe scripts/update_data.py

Script TİTCK SKRS listesini (titck_drugs.json), SGK tam EK-4/A'yı (sgk_ek4a.json, konsolide SUT zip'inden) ve TİTCK güvenlik listelerini (titck_safety.json: ek izleme + ruhsat iptali) kendi bulup indirir ve yeniden üretir. Haftalık zamanlamak için (yolları kendine göre düzenle):

schtasks /Create /SC WEEKLY /D MON /ST 03:00 /TN "health-mcp-update" /TR "C:\yol\.venv\Scripts\python.exe C:\yol\scripts\update_data.py"

Available Tools

18 tools
body_surface_areaA
Read-onlyIdempotent

Body surface area (Mosteller formula) for BSA-based dosing.

ParametersJSON Schema
NameRequiredDescriptionDefault
height_cmYesHeight in centimeters.
weight_kgYesBody weight in kilograms.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds that it uses the Mosteller formula and its purpose, but does not disclose behavioral details beyond what annotations provide. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, concise sentence with all essential information. No extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and annotations, the description covers the formula and purpose. However, it does not specify the output unit (e.g., m^2) or any input constraints. Minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with adequate parameter descriptions. The tool description adds no further meaning to height_cm or weight_kg beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes body surface area using the Mosteller formula for BSA-based dosing. It names the specific formula and use case, distinguishing it from siblings like creatinine_clearance or pediatric_dose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when BSA-based dosing is needed but does not specify when to use this over alternatives like pediatric_dose or creatinine_clearance. No explicit when-not-to-use or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_drug_interactionsA
Read-onlyIdempotent

Check whether TWO specific drugs interact, with severity (DDInter 2.0).

USE THIS for questions like "can X and Y be taken together?", "does X interact with Y?", or any two-drug combination/co-administration check. Provide the two drug names (Turkish brand/active substance or English INN); returns the pairwise severity — Major / Moderate / Minor — from DDInter, bridging Turkish names through TİTCK. For ONE drug's full label interaction text, use get_drug_interactions instead. A missing pair does NOT prove the combination is safe.

ParametersJSON Schema
NameRequiredDescriptionDefault
drug1YesFirst drug — brand, active substance, or INN (Turkish or English).
drug2YesSecond drug — brand, active substance, or INN (Turkish or English).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds that severity comes from DDInter, bridges Turkish names through TİTCK, and includes the important caveat about missing pairs not implying safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences front-loading the core function, usage examples, and a caution. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with likely simple output (severity level), the description is complete enough. It covers what to input, what to expect, and a limitation. An output schema exists to fill any gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameters are self-explanatory. The description reiterates the parameter types (brand, active substance, INN) but adds no significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks pairwise drug interactions with severity, using DDInter 2.0. It distinguishes from the sibling tool get_drug_interactions, which is for a single drug's full label.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'USE THIS for' examples and a direct when-not-to-use instruction pointing to the alternative get_drug_interactions. Also warns that a missing pair does not prove safety.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

creatinine_clearanceA
Read-onlyIdempotent

Estimate creatinine clearance (Cockcroft–Gault) for renal drug dosing.

sex: "kadın"/"female"/"f" or "erkek"/"male"/"m". serum_creatinine_mg_dl: serum creatinine in mg/dL.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesPatient age in years.
sexYesSex: 'kadın'/'female'/'f' or 'erkek'/'male'/'m'.
weight_kgYesBody weight in kilograms.
serum_creatinine_mg_dlYesSerum creatinine in mg/dL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint and idempotentHint. The description reinforces this with 'Estimate' and adds details like sex parameter language variants, which go beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose, second clarifies parameter specifics. No redundant information, well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple calculator with a known formula, output schema present, and all parameters fully described, the description is complete. It names the formula and purpose, sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented. The description repeats the sex allowed values and serum creatinine unit, adding no new information beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it estimates creatinine clearance using the Cockcroft-Gault formula for renal drug dosing, which is a specific, unambiguous purpose that distinguishes it from sibling tools like body_surface_area or check_drug_interactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose is stated but no explicit guidance on when to use this tool versus alternatives (e.g., other GFR estimation formulas). The context of renal drug dosing is implied but not elaborated with usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_drug_equivalentsA
Read-onlyIdempotent

Find SGK eşdeğer (bioequivalent) drugs for a drug name or barcode.

ParametersJSON Schema
NameRequiredDescriptionDefault
drugYesDrug name or barcode.
max_resultsNoMaximum number of equivalent drugs to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description's minimal behavioral disclosure (only the operation) adds no conflict. However, it does not elaborate on data source limits or potential failures beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states purpose upfront with no extraneous words. Every word serves a clear function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not detail return values. The two parameters are fully covered by schema. However, additional context about the SGK database scope or limitations could enhance completeness slightly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning or format guidance beyond 'drug name or barcode'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('Find'), resource ('SGK eşdeğer (bioequivalent) drugs'), and input ('drug name or barcode'). It is specific and distinguishes from siblings like 'find_drugs_by_active_ingredient' by focusing on bioequivalence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding bioequivalent drugs but does not explicitly guide when to use this tool over alternatives (e.g., find_drugs_by_active_ingredient). No exclusion or when-not guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_drugs_by_active_ingredientA
Read-onlyIdempotent

Find Turkish drugs sharing the same ATC code (same active substance/class).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDrug name or barcode; its ATC code is used to find matches.
max_resultsNoMaximum number of drugs to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. Description adds that it uses the query's ATC code to find matches, which is useful but not extensive. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key information, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema and the tool's simplicity, the description adequately covers the purpose and behavior. It doesn't explain return values but that is covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with param descriptions. The description adds value by explaining that the query can be a drug name or barcode and that the ATC code is extracted to find matches, clarifying the mechanism beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Find', resource 'Turkish drugs', and the criterion 'sharing the same ATC code (same active substance/class)'. This differentiates from siblings like search_turkish_drugs or find_drug_equivalents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for finding drugs by ATC code but does not explicitly state when to use this tool versus alternatives or when not to use it. No direct comparison with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_drugs_for_conditionA
Read-onlyIdempotent

Find drugs whose FDA labels list a given condition as an indication.

Reverse lookup: given a condition (e.g. "hypertension", "migraine"), returns the generic drugs most frequently indicated for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionYesCondition/indication, e.g. 'hypertension' or 'migraine'.
max_resultsNoMaximum number of drugs to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint. The description adds behavioral context by stating that results are sorted by frequency ('most frequently indicated'), which is not captured by annotations. No contradiction detected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action, and contains zero filler or redundancy. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool and the presence of annotations (readOnlyHint, openWorldHint, idempotentHint) and a complete schema, the description is complete. An output schema exists but its content is not needed for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with clear descriptions for both parameters ('condition' and 'max_results'). The description does not add any additional meaning beyond what is already in the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find drugs whose FDA labels list a given condition as an indication.' It specifies the verb 'find', resource 'drugs', and mentions a unique aspect ('generic drugs most frequently indicated'), which distinguishes it from siblings like 'find_drugs_by_active_ingredient'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for condition-based drug lookup but does not explicitly state when to use this tool versus alternatives or provide exclusions. The context is clear, but no direct guidance on selection among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_foreign_supplyA
Read-onlyIdempotent

TİTCK Yurt Dışı Etkin Madde Listesi: bir etkin maddenin yurt dışından temin edilebilirliği.

Checks whether an active substance can be supplied from abroad (via TEB), with ATC, pharmaceutical form, prescription type and whether import needs TİTCK's written approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesActive substance, drug name, or ATC code to check against TİTCK's foreign-supply list.
max_resultsNoMaximum number of substances to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds value by detailing the specific information returned (ATC, form, prescription type, import approval) and the source (TİTCK list via TEB).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is mostly concise with two sentences, but includes a Turkish header that may not be universally understood. Otherwise efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema existence, the description is complete enough for a simple query tool. It covers the core functionality and expected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add new parameter semantics beyond the schema; query and max_results are already well-described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks foreign supply of an active substance via TEB, with specific fields (ATC, form, prescription type, import approval). It is distinct from siblings like find_drug_equivalents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when checking foreign supply availability, but does not provide explicit when-to-use or when-not-to-use guidance relative to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_adverse_eventsA
Read-onlyIdempotent

Get the most frequently reported adverse events for a drug (FAERS).

Data comes from the openFDA adverse-event reporting system. Counts reflect spontaneous reports and do not imply causation.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of adverse-event terms to return.
drug_nameYesDrug name (brand, generic, or active substance).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds useful context beyond annotations: data source (openFDA) and a caveat about spontaneous reports not implying causation. Annotations already cover read-only and idempotent nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the core purpose, the second adds data source and a critical caveat. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a read-only tool with output schema and good annotations. Mentions data source and limit of interpretation (no causation). Could mention ordering by frequency but 'most frequently' implies it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The tool description does not add any new parameter details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets the most frequently reported adverse events for a drug using FAERS data. Distinct from sibling tools like check_drug_interactions or get_drug_safety_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: when adverse event information is needed. No explicit guidance on when to use this versus other tools, no exclusions or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_classesA
Read-onlyIdempotent

List the therapeutic / ATC / mechanism classes a drug belongs to (RxClass).

ParametersJSON Schema
NameRequiredDescriptionDefault
drug_nameYesDrug name to look up therapeutic/ATC/mechanism classes for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, indicating a safe read operation. The description adds specific context by naming the types of classes (therapeutic, ATC, mechanism) and the RxClass source, which is useful beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the verb 'List'. Every word is necessary, and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown) and the simple one-parameter input, the description is largely complete. However, it could mention possible empty results or error cases, but the annotations (readOnlyHint, openWorldHint) mitigate this. The description sufficiently covers the tool's function for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a single parameter 'drug_name' that is fully described in the schema. The tool description does not add new semantic information beyond restating the purpose. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and clearly identifies the resource: therapeutic, ATC, and mechanism classes a drug belongs to. It also mentions 'RxClass' which distinguishes it from sibling tools like 'find_drugs_for_condition' or 'get_drug_adverse_events'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives like 'find_drugs_by_active_ingredient' or 'get_drug_label'. Usage is implied as a straightforward lookup, but no exclusions or alternative guidance are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_interactionsA
Read-onlyIdempotent

Get the interactions section of ONE drug's openFDA label (free text).

Returns the single-drug interaction narrative from the US label. To check whether TWO specific drugs interact (with a severity rating), use check_drug_interactions instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
drug_nameYesDrug name (brand, generic, or active substance).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, openWorldHint, idempotentHint. Description adds context about returning free text from a US label, which is consistent with annotations and slightly extends understanding. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. First sentence states purpose, second provides alternative. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, existing output schema), the description adequately explains what it returns (interactions section free text). No further detail is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter description 'Drug name (brand, generic, or active substance).' Description does not add further meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get the interactions section of ONE drug's openFDA label (free text)' with a specific verb and resource. It distinguishes from the sibling tool `check_drug_interactions` by noting that this tool is for a single drug's free-text narrative, not checking interaction between two drugs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool vs the sibling: 'To check whether TWO specific drugs interact (with a severity rating), use check_drug_interactions instead.' This provides clear guidance on alternative usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_labelA
Read-onlyIdempotent

Get the official openFDA label for a drug.

Includes indications, dosage & administration, warnings, contraindications, drug interactions and adverse reactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
drug_nameYesDrug name (brand, generic, or active substance).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds minimal behavioral context beyond listing label sections; it does not discuss data freshness, error handling, or what happens if the drug is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the core action, second lists key content. No redundancy, immediately informative, and well-structured for agent scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with annotations (read-only, open-world, idempotent) and output schema, the description is sufficient. It tells exactly what the tool returns, which is the official label with typical sections. For a simple tool with one parameter, this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'drug_name' is fully covered in the schema (100%). The description does not elaborate on expected formats, accepted names, or validation rules, so it adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the 'official openFDA label for a drug', listing key contents like indications, dosage, warnings, etc. The verb 'Get' and specific resource distinguish it from general search tools, though sibling 'get_drug_leaflet' is not contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_drug_leaflet or search_medical_literature. The description does not specify prerequisites, exclusions, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_leafletA
Read-onlyIdempotent

Resmi TİTCK KÜB (Kısa Ürün Bilgisi — hekim) ve KT (Kullanma Talimatı — hasta) prospektüs bağlantıları.

Looks up a Turkish drug in TİTCK's official KÜB/KT registry and returns the official SmPC (KÜB, for clinicians) and patient-leaflet (KT) PDF links.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTurkish drug name to find its official KÜB/KT leaflet for.
max_resultsNoMaximum number of matching products to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, so safety is covered. Description adds that it returns PDF links, which is useful. However, it does not mention behavior when drug not found or any rate limits, but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and source. Every sentence adds value. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists (not shown) but description mentions return of PDF links. With good annotations and schema, description covers essential context. Could mention that search is limited to Turkish drugs, which it does implicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The tool description adds context about the registry but no additional parameter details beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verbs 'looks up' and 'returns' for the resource 'Turkish drug official KÜB/KT leaflet'. It clearly distinguishes from siblings by specifying TİTCK registry and PDF links for SmPC and patient leaflet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like get_turkish_drug_info or search_turkish_drugs. Context is implied but no exclusions or when-not-to-use are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drug_safety_statusA
Read-onlyIdempotent

TİTCK güvenlik durumu: ek izleme (▼) ve ruhsat iptali. Ad veya barkod.

Reports whether a Turkish drug is on TİTCK's additional-monitoring list and whether any authorization-cancellation record matches its name/barcode.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDrug name or barcode.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=true, idempotentHint=true) are consistent with the description. The description adds specific details: it reports two types of status (additional monitoring and cancellation). No destructive behavior mentioned, and it aligns with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes both Turkish and English versions. The first sentence is in Turkish, then an English clarification. It is concise but the dual language might confuse; however, it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema (as indicated by context signals), the description adequately covers the tool's functionality: reporting two specific safety statuses. It does not need to explain return values due to output schema presence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the parameter 'query' with 100% description coverage. The description adds 'Ad veya barkod' (name or barcode) which is redundant with the schema. However, it also provides the context of what the query is used for in the overall tool purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it reports TİTCK safety status for Turkish drugs, specifically additional monitoring and authorization cancellation. It clearly distinguishes from sibling tools like get_turkish_drug_info by focusing on safety-related status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context (TİTCK safety status) and input type (name or barcode). It implies use when checking drug safety or authorization status but does not explicitly state when not to use or mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_reimbursement_statusA
Read-onlyIdempotent

Check whether a drug is on the SGK reimbursement list (EK-4/A).

ParametersJSON Schema
NameRequiredDescriptionDefault
drugYesDrug name or barcode.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description does not need to repeat those. It adds context about the specific list (SGK, EK-4/A) but does not disclose any further behavioral traits beyond what annotations provide. This is acceptable given the annotations, but no additional transparency is offered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that efficiently conveys the tool's purpose with no wasted words. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, full schema coverage, and an output schema present, the description is nearly complete. It could be slightly improved by hinting at the output format (e.g., 'returns true/false'), but the existing output schema mitigates this gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'drug' parameter has a description 'Drug name or barcode.'). The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('check') and resource ('whether a drug is on the SGK reimbursement list (EK-4/A)'). It distinguishes from sibling tools like check_drug_interactions or get_drug_adverse_events by focusing on reimbursement status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there is no explicit mention of when not to use it or what distinguishes it from similar drug lookup tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_turkish_drug_infoA
Read-onlyIdempotent

Get full TİTCK registry info for a Turkish drug by name or barcode.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDrug name or barcode.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, indicating safe, read-only behavior. The description adds meaningful context by specifying the source (TİTCK registry) and that it returns 'full' info, which supplements the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately conveys the tool's purpose and input method. Every word is necessary and there is no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (not provided here), the description does not need to explain return values. The description adequately states what the tool does and how to use it, though it could optionally clarify that it is for exact lookups as opposed to searches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of the 'query' parameter as 'Drug name or barcode.' The tool description essentially restates this, adding no new semantic detail beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves 'full TİTCK registry info' for a Turkish drug by name or barcode. It identifies the specific resource and input method, but does not explicitly differentiate from sibling tools like 'search_turkish_drugs' which may return multiple results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'search_turkish_drugs' or 'get_drug_label'. The description lacks usage context and does not mention any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pediatric_doseA
Read-onlyIdempotent

Weight-based pediatric dose calculator.

Computes total daily and per-dose amounts from a mg/kg/day rate that YOU supply from a trusted reference; this tool only does the arithmetic (optionally capping at a maximum daily dose). It does not recommend doses.

ParametersJSON Schema
NameRequiredDescriptionDefault
weight_kgYesChild body weight in kilograms.
doses_per_dayNoNumber of divided doses per day.
max_mg_per_dayNoOptional maximum total daily dose (mg) to cap at.
mg_per_kg_per_dayYesDose rate in mg per kg per day, from a trusted reference.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and idempotentHint=true, which align with the arithmetic-only description. The description adds context: it only performs safe, idempotent calculations and optionally caps daily dose. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one line as title, one sentence explaining functionality. Every word adds value, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values need not be described. The description covers all critical behavioral aspects (arithmetic-only, capping, user-supplied rate) and is sufficient for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds semantic value by explaining the 'mg_per_kg_per_day' parameter must come from a trusted reference and mentioning the optional cap ('max_mg_per_day'). This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'Weight-based pediatric dose calculator' that computes total daily and per-dose amounts. It distinguishes from siblings like 'body_surface_area' by specifying it only does arithmetic from a user-supplied rate. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the user to supply the dose rate from a trusted reference and clarifies the tool does not recommend doses. This tells when to use (when you have a rate) and when not to (for dose recommendations). Could be improved by naming alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_medical_literatureA
Read-onlyIdempotent

Search PubMed for medical literature on a drug, condition or topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTopic to search — drug, condition, or keyword.
max_resultsNoMaximum number of articles to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds the PubMed source context but does not disclose additional behavioral traits like result format, pagination, or API limitations. The added value is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core function. Every word serves a purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with two parameters and an output schema, the description adequately covers the primary use case. It could optionally mention advanced search syntax, but overall it is sufficient for an agent to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents both parameters. The description restates that the query is a topic but adds no further semantics about query syntax or parameter constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: searching PubMed for medical literature on a drug, condition, or topic. It uses a specific verb ('search') and resource ('PubMed'), and distinguishes from sibling tools that focus on specific drug-related queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the input domains (drug, condition, topic) but provides no guidance on when to prefer this tool over siblings like 'find_drug_adverse_events' or 'get_drug_label'. No usage exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_turkish_drugsB
Read-onlyIdempotent

Search Turkey's licensed drug registry (TİTCK SKRS) by drug name.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDrug name to search in the TİTCK registry.
max_resultsNoMaximum number of results to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only and idempotent, which covers basic behavior. The description adds the specific registry (TİTCK SKRS) but does not disclose any additional behavioral traits beyond the annotations, making it adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is front-loaded with the action and target resource, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (which will document return values), the description is sufficient for a simple search tool. It names the specific registry, which provides useful context, though it could mention that results are limited by max_results (but that is in the schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters well. The description adds no extra meaning beyond what is in the schema, but it does not need to since the schema is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches Turkey's licensed drug registry by drug name, which is a specific action on a specific resource. However, it does not explicitly differentiate from sibling tools like 'get_turkish_drug_info' or 'find_drug_equivalents', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when to search by name versus by active ingredient or other criteria, and lacks any exclusions or context about optimal usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.8/5.0
Disambiguation4/5

Most tools have distinct purposes, though 'check_drug_interactions' and 'get_drug_interactions' could be confused without careful reading of descriptions. Overall, tools are well-differentiated.

Naming Consistency3/5

Names mix verb-noun patterns (e.g., check_drug_interactions, find_drug_equivalents) with noun-only names (e.g., body_surface_area, creatinine_clearance), lacking a uniform convention.

Tool Count5/5

18 tools cover a broad range of pharmaceutical and clinical functionalities without being excessive, appropriate for the domain's complexity.

Completeness4/5

The set covers core areas (calculations, interactions, labels, safety, search) but lacks some specialized features like allergy checks or multi-drug interaction checks, though not essential for the primary use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that enables AI assistants to query U.S. FDA public datasets, including drug adverse events, labeling, recalls, approvals, shortages, NDC directory, and medical device regulatory information.
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides comprehensive medical information by querying authoritative APIs including FDA, WHO, PubMed, RxNorm, and Australia's PBS, enabling drug searches, health statistics, medical literature, drug nomenclature, and PBS subsidy queries.
    71
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that gives LLMs live access to clinical trials, FDA drug recalls, adverse-event reports, drug labels, and drug-name normalization via six validated tools.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/onatozmenn/klinik-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server