# Taiwan Health MCP

> MCP server from healthymind-tech/Taiwan-Health-MCP.

- **Type:** MCP server
- **Install:** `agentstack add mcp-healthymind-tech-taiwan-health-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [healthymind-tech](https://agentstack.voostack.com/s/healthymind-tech)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [healthymind-tech](https://github.com/healthymind-tech)
- **Source:** https://github.com/healthymind-tech/Taiwan-Health-MCP

## Install

```sh
agentstack add mcp-healthymind-tech-taiwan-health-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Taiwan Health MCP Server

> 台灣醫療健康資料整合 MCP 伺服器
> 整合 ICD-10-CM/PCS、SNOMED CT、LOINC、台灣 FDA 藥品 / 健康補充品 / 食品營養、臨床指引，以及 FHIR R4 IG 授權與驗證工具

[](http://hl7.org/fhir/R4/)
[](https://www.python.org/)
[](https://modelcontextprotocol.io)
[](LICENSE)

以官方 **`mcp` SDK**（`mcp.server.fastmcp.FastMCP`）建構，對外提供約 **51 個工具**，涵蓋 12 個工具群組。專為高吞吐量的生產級 SaaS 部署設計。

## 專案特色

- **台灣在地化資料**：台灣 FDA 藥品（含仿單 / 外觀 / OCR 分析）、健康補充品、食品營養、臨床指引、TWCore IG。
- **國際術語支援**：ICD-10-CM/PCS 2025、SNOMED CT International、LOINC 2.80、FHIR R4。
- **FHIR IG 授權工具**：多 IG（package-scoped）剖面 / ValueSet 查詢、術語驗證、骨架填值（skeleton-fill）資源產生與驗證。
- **語意 / 混合搜尋**：以 Ollama 嵌入模型（`qwen3-embedding`）為基礎，無嵌入時自動退回關鍵字搜尋。
- **動態工具啟用**：依各模組資料載入狀態自動註冊 / 移除可用 MCP 工具。
- **管理後台**：可選的 Admin Console（上傳來源檔、執行 / 排程匯入、管理設定與外部 FHIR 伺服器、即時監控背景工作）。
- **生產部署設計**：PostgreSQL 16（pgvector）、pgBouncer、Redis、MinIO、Prometheus、背景 worker。

## 快速開始

```bash
git clone https://github.com/audi0417/Taiwan-Health-MCP.git
cd Taiwan-Health-MCP
cp .env.example .env                          # 設定 POSTGRES_PASSWORD、ADMIN_* 等
docker compose up -d                          # postgres / pgbouncer / redis / minio / app / admin-worker
```

## 載入資料（透過管理後台）

資料匯入由 **Admin Console** 觸發、交由 `admin-worker` 背景執行（不再有獨立的 CLI data-loader 容器）。

1. 在 `.env` 啟用管理後台：

   ```dotenv
   ADMIN_ENABLED=true
   ADMIN_USERNAME=admin
   # python -c "import hashlib; print('sha256$' + hashlib.sha256(b'change-me').hexdigest())"
   ADMIN_PASSWORD_HASH=sha256$...
   ADMIN_SESSION_SECRET=change_this_admin_session_secret
   ```

   重新啟動 `app`（`docker compose up -d`）後，於 `http://:8000/admin` 登入。

2. 在 **Modules** 頁籤依模組匯入資料：

   - **需上傳來源檔**（在 Sources / Modules 上傳後按匯入）：ICD-10-CM/PCS、LOINC、SNOMED CT、FHIR IG（`package.tgz`）。
   - **由 API 自動抓取**（直接按匯入或設定排程）：藥品（TFDA，三階段:索引 → 爬取豐富 → OCR/LLM 分析）、健康補充品、食品營養。
   - **內建種子資料**（直接執行）：臨床指引。

3. 嵌入（語意搜尋）會在各模組匯入後自動回填，也可於模組頁面單獨重建。

匯入進度、步驟時間軸與即時日誌可在 **Tasks** 頁籤查看。詳見[管理後台文件](docs/admin/index.md)與[背景工作與排程](docs/admin/jobs-and-worker.md)。

## 工具群組

| 群組 | 工具 |
|------|------|
| ICD-10 | `search_medical_codes`、`infer_complications`、`get_nearby_codes`、`check_medical_conflict`、`browse_icd_category` |
| 藥品 / TFDA | `search_drug`、`identify_unknown_pill`、`get_drug_details`、`get_drug_asset_links` |
| 檢驗 / LOINC | `search_loinc`、`query_loinc`、`interpret_lab_result`、`batch_interpret_lab_results` |
| 臨床指引 | `search_clinical_guideline`、`query_guideline` |
| SNOMED CT | `search_snomed_concept`、`query_snomed_concept`、`get_snomed_relationships`、`query_snomed_mapping` |
| FHIR Condition | `query_fhir_condition`、`validate_fhir_condition` |
| FHIR Medication | `query_fhir_medication`、`validate_fhir_medication` |
| FHIR IG（授權 / 驗證） | `fhir_list_igs`、`fhir_get_ig`、`fhir_list_artifacts`、`fhir_search_artifacts`、`fhir_list_resource_profiles`、`fhir_rank_resource_profiles`、`fhir_get_profile`、`fhir_get_profile_elements`、`fhir_get_valueset`、`fhir_expand_valueset`、`fhir_lookup_code`、`fhir_validate_code`、`fhir_normalize_code`、`fhir_resolve_reference`、`fhir_build_bundle`、`fhir_validate_resource`、`fhir_validate_bundle`、`fhir_get_resource_skeleton`、`fhir_finalize_resource` |
| 健康補充品 | `search_health_supplements` |
| 食品營養 | `query_food_nutrition`、`query_food_ingredient`、`search_foods_by_nutrient`、`analyze_meal_nutrition` |
| FHIR 伺服器 | `list_fhir_servers`、`get_fhir_server_status`、`crud_fhir_server` |
| 系統 | `health_check` |

> 模組相關工具會依資料載入狀態自動啟用 / 停用；FHIR 伺服器與系統工具則永遠註冊。

## 連接客戶端

伺服器同時提供兩種介面,皆在同一個 `app` 容器、同一個埠(預設 8000):

| 介面 | 端點 | 適用客戶端 |
|------|------|-----------|
| **MCP**（streamable-http） | `http://:8000/mcp` | 原生 MCP 客戶端(Claude Desktop、Open WebUI v0.6.31+ 的 MCP 連線等) |
| **OpenAPI bridge** | `GET http://:8000/openapi.json`、`POST http://:8000/tools/` | 僅支援 OpenAPI 工具伺服器的客戶端(如 Open WebUI 的 External Tools / OpenAPI 類型) |

- **MCP**:客戶端填 `http://:8000/mcp`。
- **OpenAPI**:`/openapi.json` 依「目前已啟用的工具」動態產生 OpenAPI 3.1 規格;每個工具對應 `POST /tools/`,以 JSON body 當參數呼叫。客戶端只要填基底網址 `http://:8000`,會自動抓 `/openapi.json`。

> 例:在 **Open WebUI → Settings → Tools** 以 **OpenAPI** 類型新增工具伺服器,URL 填 `http://:8000` 即可列出全部工具。
>
> 注意:這兩個介面目前皆**未強制驗證**(與既有設計一致);對外開放時請在前面加反向代理或 token。

## 資料庫 Schema

`audit` | `admin` | `icd` | `drug` | `health_supplements` | `food_nutrition` | `loinc` | `guideline` | `fhir`（multi-IG）| `snomed` | `rxnorm`

完整定義見 `db/schema.sql`（PostgreSQL 容器首次啟動時自動套用），增量變更見 `db/migrations/`。

## 管理後台（選用）

預設停用。於 `.env` 設定 `ADMIN_ENABLED=true` 並提供 `ADMIN_USERNAME` / `ADMIN_PASSWORD_HASH` / `ADMIN_SESSION_SECRET` 後，可於 `/admin` 存取 Admin Console，用於上傳來源檔、執行與排程資料匯入、管理設定與外部 FHIR 伺服器，以及監控由 `admin-worker` 執行的背景工作。詳見 `docs/admin/`。

## 開發與測試

```bash
pip install -r requirements.txt
pip install pytest pytest-asyncio
python -m pytest tests/ -v
```

## 文件

完整文件請見 [`docs/`](docs/) 與 MkDocs 設定（`mkdocs.yml`）。

## 致謝

- 台灣衛生福利部、TFDA
- Regenstrief Institute（LOINC）
- SNOMED International
- National Library of Medicine（RxNorm / UMLS）
- HL7 International（FHIR）
- WHO

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [healthymind-tech](https://github.com/healthymind-tech)
- **Source:** [healthymind-tech/Taiwan-Health-MCP](https://github.com/healthymind-tech/Taiwan-Health-MCP)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-healthymind-tech-taiwan-health-mcp
- Seller: https://agentstack.voostack.com/s/healthymind-tech
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
