README.md•2.89 kB
# 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 已正確設定,並在設定變更後重新啟動