---
slug: "cwa"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/lincw/cwa-mcp-server@main/README.md"
repo: "https://github.com/lincw/cwa-mcp-server"
source_file: "README.md"
branch: "main"
---
# CWA MCP 伺服器

一個簡單的模型內容協定 (Model Context Protocol, MCP) 伺服器，可將 Claude Desktop 連接到台灣中央氣象署 (CWA) API 以獲取氣象資料。

## 功能特色

- 簡單、輕量的 Node.js 實作
- 容易設定並與 Claude Desktop 配合使用
- 存取所有台灣縣市的 CWA 氣象預報資料

## 快速開始

1. 取得 CWA API 金鑰：
   - 前往 [https://opendata.cwa.gov.tw/user/authkey](https://opendata.cwa.gov.tw/user/authkey)
   - 登入（若沒有帳號，請先註冊）
   - 點擊「取得授權碼」按鈕
   - 複製你的 API 金鑰

2. 使安裝腳本可執行：
   ```bash
   chmod +x install.sh
   ```

3. 執行安裝腳本：
   ```bash
   ./install.sh
   ```

4. 編輯位於 `~/.config/claude/claude_desktop_config.json` 的設定檔，加入你的 CWA API 金鑰：
   ```json
   {
     "mcpServers": {
       "cwa": {
         "command": "node",
         "args": [
           "/path/to/cwa-server.js"
         ],
         "env": {
           "CWA_API_KEY": "CWA-1E740A28-FFDC-4186-BE0D-B02662F066EF"
         }
       }
     }
   }
   ```

5. 重新啟動 Claude Desktop

6. 開始在與 Claude 的對話中使用 CWA 氣象資料！

## 可用工具

### `get_weather_forecast`
透過縣市名稱獲取台灣未來 36 小時的氣象預報。

在 Claude 中的使用範例：
```
台北市現在的天氣如何？
```

## 使用 Docker

你也可以使用 Docker 來執行這個 MCP 伺服器：

1. 建立 `docker-compose.yml` 檔案：
   ```yaml
   version: '3'
   services:
     cwa-mcp-server:
       container_name: cwa-mcp-server
       image: node:18
       volumes:
         - ./:/app
       working_dir: /app
       command: node cwa-server.js
       environment:
         - CWA_API_KEY=你的_CWA_API_金鑰
       restart: unless-stopped
   ```

2. 將 `你的_CWA_API_金鑰` 替換為你實際的 CWA API 金鑰

3. 更新你的 Claude Desktop 設定：
   ```json
   {
     "mcpServers": {
       "cwa": {
         "command": "docker",
         "args": [
           "exec",
           "-i",
           "cwa-mcp-server",
           "node",
           "cwa-server.js"
         ]
       }
     }
   }
   ```

4. 啟動 Docker 容器：
   ```bash
   docker-compose up -d
   ```

5. 重新啟動 Claude Desktop

## 可用地區列表

支援以下縣市名稱：
- 宜蘭縣、花蓮縣、臺東縣、澎湖縣、金門縣、連江縣
- 臺北市、新北市、桃園市、臺中市、臺南市、高雄市
- 基隆市、新竹縣、新竹市、苗栗縣、彰化縣、南投縣
- 雲林縣、嘉義縣、嘉義市、屏東縣

## 故障排除

- 確保已安裝 Node.js 18 或更高版本
- 檢查你的 CWA API 金鑰是否有效並正確設定在設定檔中
- 使用 `./test.sh` 測試伺服器以確認其正常運作
- 確保 Claude Desktop 已正確設定，並在設定變更後重新啟動
