Pharmacy Server
FreeNot checkedEnables medication reference workflows including drug search, dosing calculations, Taiwan regulatory lookups, hospital prescription helpers, and educational PK/
About
Enables medication reference workflows including drug search, dosing calculations, Taiwan regulatory lookups, hospital prescription helpers, and educational PK/DDI simulation.
README
Pharmacy MCP is a Python MCP server for medication reference workflows. It combines drug search, label summaries, dosing calculators, Taiwan TFDA/NHI lookups, hospital prescription helpers, and a trusted PBPK-lite formula catalog for educational PK/DDI simulation.
Traditional Chinese: README.zh-TW.md
What Is New In 0.9.1
- Hardened interaction outputs so local database guidance is surfaced as non-prescriptive management considerations with safety metadata.
- Added fail-closed simulation guardrails for NaN, infinity, unstable denominators, and catalog metadata drift.
- Added release artifact auditing and packaged-wheel smoke tests.
- Made Streamable HTTP ASGI exports lazy and mount-aware.
What Is New In 0.9.0
- Built-in trusted PK/DDI formula catalog under
src/pharmacy_mcp/data/formulas/. - Deterministic simulation service for one-compartment concentration, repeated-dose accumulation, renal clearance adjustment, CYP reversible inhibition, AUC ratio, and temperature-corrected elimination.
- Mechanism-aware DDI tools for supported CYP inhibition examples such as warfarin/fluconazole and statin/clarithromycin.
- Modern MCP surfaces: tools, read-only resources, resource templates, prompts, Streamable HTTP deployment helpers, and structured outputs.
- Release gates for pytest coverage, ruff, mypy, bandit, package build, and artifact audit.
Simulation outputs are screening estimates only. They always include the project
disclaimer and not_for_direct_clinical_decision: true.
Install
git clone https://github.com/u9401066/pharmacy-mcp.git
cd pharmacy-mcp
uv sync --all-extras
Run
# stdio transport for local MCP clients
uv run pharmacy-mcp
# explicit stdio
uv run pharmacy-mcp --transport stdio
# Streamable HTTP
uv run pharmacy-mcp --transport streamable-http --host 0.0.0.0 --port 8000
# ASGI app
uv run uvicorn pharmacy_mcp.presentation.server:app --host 0.0.0.0 --port 8000
Environment variables use the PHARMACY_MCP_ prefix. Supported settings include
PHARMACY_MCP_TRANSPORT, PHARMACY_MCP_HOST, PHARMACY_MCP_PORT,
PHARMACY_MCP_MOUNT_PATH, PHARMACY_MCP_STREAMABLE_HTTP_PATH, and
PHARMACY_MCP_STATELESS_HTTP.
Claude Desktop Example
{
"mcpServers": {
"pharmacy": {
"command": "uv",
"args": ["run", "pharmacy-mcp", "--transport", "stdio"],
"cwd": "/path/to/pharmacy-mcp"
}
}
}
MCP Tools
Drug reference:
search_drugget_drug_infoget_drug_dosageget_drug_warningscheck_drug_interactioncheck_multi_drug_interactionscheck_food_drug_interaction
Dosing calculators:
calculate_dose_by_weightcalculate_dose_by_bsacalculate_creatinine_clearancecalculate_pediatric_dosecalculate_infusion_rateconvert_dose_units
Taiwan TFDA/NHI:
search_tfda_drugget_nhi_coverageget_nhi_drug_pricetranslate_drug_namelist_prior_authorization_drugslist_nhi_coverage_rules
Hospital prescription workflow:
get_formulary_itemsearch_formularyget_renal_adjustmentvalidate_ordersubmit_orderstop_order
Trusted formula and simulation:
list_formula_catalogget_formula_detailsexplain_interaction_mechanismsimulate_pk_interactionsimulate_concentration_time
MCP Resources And Prompts
Resources:
pharmacy://server/disclaimerpharmacy://formulaspharmacy://formulas/{formula_id}pharmacy://validation/formulas
Prompts:
ddi_analysis_workflowformula_review_checklist
Trusted Formula Model
Formula metadata is committed as data, not executed as arbitrary runtime code. Each trusted formula has an ID, expression, parameters, units, assumptions, limitations, references, and validation cases. The Python simulation service dispatches by formula ID to reviewed implementations.
External formula generators such as NSForge can be used as companion authoring tools, but Pharmacy MCP does not vendor NSForge in 0.9.x. Generated formulas must be reviewed, committed to the trusted catalog, and covered by tests before production tools can use them.
Data Sources
| Source | Provider | Data |
|---|---|---|
| RxNorm API | NIH/NLM | Drug names and concepts |
| openFDA | FDA | Drug labels and warnings |
| DailyMed | NLM | Label sections |
| TFDA Open Data | Taiwan TFDA | Taiwan permits and drug names |
| NHI Open Data | Taiwan NHI | Coverage rules and reimbursement data |
| Local catalog | Pharmacy MCP | Trusted PK/DDI formulas and hospital mock data |
Architecture
src/pharmacy_mcp/
domain/ Entities and value objects
application/services/ Use-case services and simulation orchestration
infrastructure/api/ External API clients
infrastructure/cache/ Disk cache adapter
infrastructure/knowledge/Local formularies and trusted formula catalog
presentation/ FastMCP server, tools, resources, prompts
Verification
uv run pytest --cov=src --cov-report=term-missing
uv run ruff check src tests
uv run mypy src
uv run bandit -q -r src
uv build
uv run python scripts/audit_release_artifacts.py dist
Disclaimer
This project is for reference, education, and workflow support only. It does not provide medical advice and must not be used as the sole basis for clinical decisions. Consult qualified healthcare professionals and validated clinical systems for patient care.
License
Install Pharmacy Server in Claude Desktop, Claude Code & Cursor
unyly install pharmacy-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add pharmacy-mcp-server -- uvx --from git+https://github.com/u9401066/pharmacy-mcp pharmacy-mcpFAQ
Is Pharmacy Server MCP free?
Yes, Pharmacy Server MCP is free — one-click install via Unyly at no cost.
Does Pharmacy Server need an API key?
No, Pharmacy Server runs without API keys or environment variables.
Is Pharmacy Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Pharmacy Server in Claude Desktop, Claude Code or Cursor?
Open Pharmacy Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Pharmacy Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
