Skip to main content
Glama

Drug Interaction MCP Server

README.md7.74 kB
# 中西藥交互作用查詢MCP Server ## 專案概述 本專案是一個基於FastMCP框架開發的中西藥交互作用查詢系統,提供完整的中藥、西藥及其交互作用資訊查詢功能。系統參考奇美醫院藥劑部的中西藥交互作用查詢系統,致力於為醫療專業人員和患者提供安全、準確的用藥指導。 ## 主要功能 ### 🏥 藥物查詢功能 - **中藥搜尋**: 支援中文名稱、拼音和分類的模糊搜尋 - **西藥搜尋**: 支援中文名稱、通用名、品牌名和分類的模糊搜尋 - **詳細資訊**: 提供藥物的性味歸經、功效主治、副作用、禁忌症等完整資訊 ### ⚠️ 交互作用檢查 - **單一檢查**: 檢查特定中藥與西藥之間的交互作用 - **全向查詢**: 根據中藥或西藥查找所有相關交互作用 - **批次檢查**: 同時檢查多個中藥與多個西藥的所有交互作用組合 - **風險評估**: 提供嚴重程度分類(致命、重度、中度、輕度) ### 📊 數據分析 - **交互作用摘要**: 完整的風險評估和統計分析 - **嚴重程度分布**: 視覺化展示不同嚴重程度的交互作用數量 - **專業建議**: 基於證據的臨床建議和監測要點 ## 系統架構 ``` drug-interaction-mcp/ ├── src/ │ ├── __init__.py # 模組初始化 │ ├── models.py # 資料模型定義 │ ├── database.py # 資料庫操作層 │ └── tools.py # MCP工具實現 ├── data/ │ └── init_data.sql # 資料庫初始化腳本 ├── tests/ # 測試檔案 ├── examples/ # 使用範例 ├── server.py # MCP Server主程式 ├── run.sh # 啟動腳本 ├── mcp-server.json # MCP配置檔案 ├── pyproject.toml # UV專案配置 └── README.md # 專案說明文檔 ``` ## 資料庫設計 ### 中藥表 (chinese_medicines) - 基本資訊:名稱、拼音、分類 - 中醫理論:性味歸經、功效主治 - 安全資訊:副作用、禁忌症、用法用量 ### 西藥表 (western_medicines) - 基本資訊:名稱、通用名、品牌名 - 臨床資訊:治療分類、作用機制 - 安全資訊:副作用、禁忌症、用法用量 ### 交互作用表 (interactions) - 關聯資訊:中藥ID、西藥ID - 交互詳情:類型、嚴重程度、作用機制 - 臨床指導:效果描述、建議、證據等級 ## 技術特性 ### 🔍 智能搜尋 - **中文模糊匹配**: 支援簡體、繁體中文搜尋 - **拼音支援**: 支援中文拼音搜尋 - **相關度排序**: 按搜尋相關度智能排序 ### 💾 高效資料庫 - **SQLite資料庫**: 輕量級、高效能 - **索引優化**: 多重索引提升查詢速度 - **外鍵約束**: 保證資料完整性 ### 🛡️ 安全機制 - **輸入驗證**: 嚴格的參數驗證 - **錯誤處理**: 完善的異常處理機制 - **日誌記錄**: 詳細的操作日誌 ### 🎯 實用功能 - **批次處理**: 支援大量藥物組合檢查 - **統計分析**: 豐富的數據統計功能 - **專業建議**: 基於實證的臨床建議 ## 安裝與使用 ### 環境要求 - Python 3.10+ - UV套件管理器 ### 安裝步驟 1. **克隆專案** ```bash cd /workspace git clone <repository-url> cd drug-interaction-mcp ``` 2. **初始化環境** ```bash # 創建虛擬環境並安裝依賴 uv venv uv sync ``` 3. **啟動服務器** ```bash # STDIO模式啟動 sh run.sh ``` ### MCP集成 本MCP服務器通過標準STDIO協議運行,可與支援MCP的客戶端集成。配置檔案位於 `mcp-server.json`。 ## API使用說明 ### 1. 搜尋中藥 ```python search_chinese_medicine(keyword="人參", limit=20) ``` 搜尋包含指定關鍵字的中藥,返回詳細的藥物資訊。 ### 2. 搜尋西藥 ```python search_western_medicine(keyword="阿斯匹靈", limit=20) ``` 搜尋包含指定關鍵字的西藥,返回詳細的藥物資訊。 ### 3. 檢查交互作用 ```python check_interactions(chinese_medicine="人參", western_medicine="warfarin") ``` 檢查特定中藥和西藥之間是否存在交互作用。 ### 4. 查詢中藥交互作用 ```python find_interactions_by_chinese_medicine(chinese_medicine="人參") ``` 查找指定中藥與所有西藥的交互作用。 ### 5. 查詢西藥交互作用 ```python find_interactions_by_western_medicine(western_medicine="阿斯匹靈") ``` 查找指定西藥與所有中藥的交互作用。 ### 6. 批次檢查 ```python batch_check_interactions( chinese_medicines="人參,當歸,甘草", western_medicines="阿斯匹靈,warfarin,胰島素" ) ``` 批次檢查多個中藥與多個西藥的交互作用。 ### 7. 獲取摘要 ```python get_interaction_summary(medicine_name="人參", medicine_type="chinese") ``` 獲取特定藥物的交互作用摘要和風險評估。 ## 資料內容 ### 包含的中藥 (21種) - 補氣藥:人參、黃耆、白朮、山藥、紅棗 - 補血藥:當歸、白芍、熟地黃 - 活血化瘀藥:川芎、丹參、三七 - 補陰藥:枸杞、麥冬、石斛 - 補陽藥:鹿茸、冬蟲夏草 - 其他:甘草、茯苓、陳皮、五味子、銀杏 ### 包含的西藥 (15種) - 心血管藥:ACE抑制劑、β阻斷劑、地高辛 - 抗凝血藥:warfarin、阿斯匹靈 - 內分泌藥:胰島素、甲狀腺素 - 抗感染藥:抗生素 - 神經系統藥:抗癲癇藥、阿茲海默症藥 - 其他:普拿疼、威而鋼、利尿劑、抗組織胺、口服避孕藥 ### 交互作用案例 系統包含30多個真實的中西藥交互作用案例,涵蓋: - **致命交互作用**: 人參與地高辛、丹參與warfarin - **重度交互作用**: 三七與warfarin、銀杏與阿斯匹靈 - **中度交互作用**: 當歸與阿斯匹靈、甘草與利尿劑 - **輕度交互作用**: 枸杞與口服避孕藥 ## 測試與驗證 系統提供完整的測試套件: ```bash # 執行所有測試 pytest tests/ # 執行特定測試 pytest tests/test_tools.py -v ``` 測試涵蓋: - 單元測試:各工具功能測試 - 整合測試:資料庫操作測試 - 端到端測試:完整流程驗證 ## 安全性與免責聲明 ### ⚠️ 重要安全提醒 1. **僅供參考**: 本系統提供的資訊僅供參考,不能替代專業醫療建議 2. **醫師諮詢**: 在使用任何藥物前,請務必諮詢合格的醫師或藥師 3. **個體差異**: 不同患者的用藥反應可能存在差異 4. **即時更新**: 藥物資訊需要定期更新,系統資訊可能有延遲 ### 責任限制 - 本系統不對藥物交互作用的準確性承擔責任 - 使用本系統的決策風險由使用者自行承擔 - 緊急醫療情況請立即就醫,勿依賴本系統 ## 開發與貢獻 ### 開發環境設置 ```bash # 安裝開發依賴 uv sync --dev # 程式碼格式化 black src/ tests/ isort src/ tests/ # 類型檢查 mypy src/ ``` ### 貢獻指南 1. Fork 本專案 2. 創建特性分支 3. 提交變更 4. 推送到分支 5. 創建 Pull Request ## 授權條款 本專案採用 MIT 授權條款。詳見 [LICENSE](LICENSE) 檔案。 ## 聯絡資訊 - 開發者:MiniMax Agent - 專案地址:[GitHub Repository] - 問題回報:[Issues Page] ## 更新日誌 ### v0.1.0 (2025-11-05) - 初始版本發布 - 基礎搜尋功能實現 - 交互作用檢查功能 - 批次處理功能 - 基礎測試套件 ## 參考資料 - [奇美醫院藥劑部](https://www.chimei.org.tw) - [FastMCP Framework](https://github.com/jlowin/fastmcp) - [Model Context Protocol](https://modelcontextprotocol.io) - 中西藥交互作用相關研究文獻 --- **最後更新:2025年11月5日**

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/benjamin920101/drug-interaction-mcp'

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