CWA MCP Server
The CWA MCP Server allows Claude Desktop to access Taiwan's weather forecast data through the Model Context Protocol (MCP).
Primary Function: Retrieve 36-hour weather forecasts for specified Taiwanese counties/cities
Data Source: Central Weather Administration (CWA) API
Tool: Uses
get_weather_forecastto fetch weather dataLocation Coverage: Supports all major Taiwanese locations including 宜蘭縣, 花蓮縣, 臺東縣, 澎湖縣, 金門縣, 連江縣, 臺北市, 新北市, 桃園市, 臺中市, 臺南市, 高雄市, 基隆市, 新竹縣, 新竹市, 苗栗縣, 彰化縣, 南投縣, 雲林縣, 嘉義縣, 嘉義市, 屏東縣
Setup: Requires a CWA API key and can be run locally or via Docker
Allows running the MCP server in a containerized environment with Docker, providing an alternative deployment option with proper isolation and easier environment management.
Enables access to Taiwan Central Weather Administration (CWA) API to retrieve weather forecast data for cities across Taiwan through a lightweight Node.js implementation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CWA MCP Serverwhat's the weather forecast for Taipei tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CWA MCP 伺服器
一個簡單的模型內容協定 (Model Context Protocol, MCP) 伺服器,可將 Claude Desktop 連接到台灣中央氣象署 (CWA) API 以獲取氣象資料。
功能特色
簡單、輕量的 Node.js 實作
容易設定並與 Claude Desktop 配合使用
存取所有台灣縣市的 CWA 氣象預報資料
Related MCP server: MCP Weather
快速開始
取得 CWA API 金鑰:
登入(若沒有帳號,請先註冊)
點擊「取得授權碼」按鈕
複製你的 API 金鑰
使安裝腳本可執行:
chmod +x install.sh執行安裝腳本:
./install.sh編輯位於
~/.config/claude/claude_desktop_config.json的設定檔,加入你的 CWA API 金鑰:{ "mcpServers": { "cwa": { "command": "node", "args": [ "/path/to/cwa-server.js" ], "env": { "CWA_API_KEY": "CWA-1E740A28-FFDC-4186-BE0D-B02662F066EF" } } } }重新啟動 Claude Desktop
開始在與 Claude 的對話中使用 CWA 氣象資料!
可用工具
get_weather_forecast
透過縣市名稱獲取台灣未來 36 小時的氣象預報。
在 Claude 中的使用範例:
台北市現在的天氣如何?使用 Docker
你也可以使用 Docker 來執行這個 MCP 伺服器:
建立
docker-compose.yml檔案: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將
你的_CWA_API_金鑰替換為你實際的 CWA API 金鑰更新你的 Claude Desktop 設定:
{ "mcpServers": { "cwa": { "command": "docker", "args": [ "exec", "-i", "cwa-mcp-server", "node", "cwa-server.js" ] } } }啟動 Docker 容器:
docker-compose up -d重新啟動 Claude Desktop
可用地區列表
支援以下縣市名稱:
宜蘭縣、花蓮縣、臺東縣、澎湖縣、金門縣、連江縣
臺北市、新北市、桃園市、臺中市、臺南市、高雄市
基隆市、新竹縣、新竹市、苗栗縣、彰化縣、南投縣
雲林縣、嘉義縣、嘉義市、屏東縣
故障排除
確保已安裝 Node.js 18 或更高版本
檢查你的 CWA API 金鑰是否有效並正確設定在設定檔中
使用
./test.sh測試伺服器以確認其正常運作確保 Claude Desktop 已正確設定,並在設定變更後重新啟動
Available Tools
1 toolget_weather_forecastA
Get Taiwan weather forecast for the next 36 hours by county/city name. Available locations: 宜蘭縣, 花蓮縣, 臺東縣, 澎湖縣, 金門縣, 連江縣, 臺北市, 新北市, 桃園市, 臺中市, 臺南市, 高雄市, 基隆市, 新竹縣, 新竹市, 苗栗縣, 彰化縣, 南投縣, 雲林縣, 嘉義縣, 嘉義市, 屏東縣
| Name | Required | Description | Default |
|---|---|---|---|
| locationName | Yes | Taiwan county/city name in Traditional Chinese (e.g., 臺北市, 高雄市) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does but lacks details on behavioral traits such as rate limits, error handling, authentication needs, or what the output format looks like. This leaves gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose and followed by essential details (time frame and locations). Every sentence earns its place by providing necessary information without redundancy, making it efficient and easy to understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is complete enough for basic usage but lacks details on output format and behavioral aspects. It covers the what and where adequately but falls short on how the tool behaves and what results to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'locationName' fully documented in the schema. The description adds value by listing all available locations, which provides semantic context beyond the schema's generic description, but does not elaborate further on parameter usage or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get Taiwan weather forecast'), resource ('weather forecast'), scope ('next 36 hours'), and geographical constraint ('by county/city name'). It distinguishes itself by specifying the exact time range and available locations, making the purpose unambiguous and comprehensive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool by specifying the geographical scope (Taiwan), time frame (next 36 hours), and available locations. However, it does not mention when not to use it or any alternatives, as there are no sibling tools provided, so explicit exclusions are not necessary but could be implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
get_weather_forecast
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clear purpose: retrieving weather forecasts for specific locations in Taiwan.
The single tool name 'get_weather_forecast' follows a clear verb_noun pattern (get + weather_forecast). Since there's only one tool, consistency is inherently perfect with no deviations to evaluate.
A single tool is too few for a weather server's apparent scope, which typically involves multiple operations like current conditions, forecasts, alerts, or location searches. This minimal surface suggests the server is underpowered for comprehensive weather interactions.
The server is severely incomplete for a weather domain, offering only a 36-hour forecast retrieval. It lacks essential operations such as current weather, extended forecasts, severe weather alerts, or location-based searches, which will limit agent capabilities significantly.
Maintenance
Related MCP Connectors
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Open-Meteo tabanlı anahtarsız hava durumu tahmin MCP sunucusu.
Related MCP Servers
- AlicenseBqualityFmaintenanceA lightweight bridge server that connects WeChat Reading (WeRead) data with Claude Desktop, allowing seamless access to reading notes and book collections through natural language interactions.4143575MIT
- FlicenseNot gradedqualityDmaintenanceA TypeScript-based Model Context Protocol server that enables Claude Desktop to fetch real-time weather data via external weather APIs. It provides a simple integration for users to query current weather information through natural language interactions.7-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps the Ambient Weather REST API. Query your personal weather stations conversationally from Claude Code, Claude.ai, or any MCP-compatible client.1MIT
- FlicenseAqualityDmaintenanceIntegrates the US National Weather Service API with Claude Desktop, enabling users to query current conditions and forecasts using natural language.2-