Pharmacy MCP Server

Pharmacy MCP Server

Enables medication reference workflows including drug search, dosing calculations, Taiwan regulatory lookups, hospital prescription helpers, and educational PK/DDI simulation.

Category
访问服务器

README

Pharmacy MCP Server

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.

License Python MCP

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_drug
  • get_drug_info
  • get_drug_dosage
  • get_drug_warnings
  • check_drug_interaction
  • check_multi_drug_interactions
  • check_food_drug_interaction

Dosing calculators:

  • calculate_dose_by_weight
  • calculate_dose_by_bsa
  • calculate_creatinine_clearance
  • calculate_pediatric_dose
  • calculate_infusion_rate
  • convert_dose_units

Taiwan TFDA/NHI:

  • search_tfda_drug
  • get_nhi_coverage
  • get_nhi_drug_price
  • translate_drug_name
  • list_prior_authorization_drugs
  • list_nhi_coverage_rules

Hospital prescription workflow:

  • get_formulary_item
  • search_formulary
  • get_renal_adjustment
  • validate_order
  • submit_order
  • stop_order

Trusted formula and simulation:

  • list_formula_catalog
  • get_formula_details
  • explain_interaction_mechanism
  • simulate_pk_interaction
  • simulate_concentration_time

MCP Resources And Prompts

Resources:

  • pharmacy://server/disclaimer
  • pharmacy://formulas
  • pharmacy://formulas/{formula_id}
  • pharmacy://validation/formulas

Prompts:

  • ddi_analysis_workflow
  • formula_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

Apache License 2.0

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选