UNPKG

@bashcat/cwa-mcp-weather

Version:

MCP 伺服器整合中央氣象署 (CWA) 開放資料 API - 完整支援所有15個天氣工具

352 lines 12.9 kB
// 台灣縣市列表 export const TAIWAN_COUNTIES = [ '宜蘭縣', '花蓮縣', '臺東縣', '澎湖縣', '金門縣', '連江縣', '臺北市', '新北市', '桃園市', '臺中市', '臺南市', '高雄市', '基隆市', '新竹縣', '新竹市', '苗栗縣', '彰化縣', '南投縣', '雲林縣', '嘉義縣', '嘉義市', '屏東縣' ]; // 天氣因子類型 export const WEATHER_ELEMENTS = { // 一般天氣預報因子 GENERAL: { 'Wx': '天氣現象', 'PoP': '降雨機率', 'CI': '舒適度指數', 'MinT': '最低溫度', 'MaxT': '最高溫度' }, // 鄉鎮預報因子(3天) TOWNSHIP_3DAY: { '露點溫度': '露點溫度', '天氣預報綜合描述': '天氣預報綜合描述', '舒適度指數': '舒適度指數', '風向': '風向', '降雨機率': '降雨機率', '溫度': '溫度', '風速': '風速', '天氣現象': '天氣現象', '相對濕度': '相對濕度', '體感溫度': '體感溫度' }, // 鄉鎮預報因子(1週) TOWNSHIP_WEEKLY: { '最高溫度': '最高溫度', '天氣預報綜合描述': '天氣預報綜合描述', '平均相對濕度': '平均相對濕度', '最高體感溫度': '最高體感溫度', '降雨機率': '降雨機率', '風向': '風向', '平均露點溫度': '平均露點溫度', '最低體感溫度': '最低體感溫度', '平均溫度': '平均溫度', '最大舒適度指數': '最大舒適度指數', '最小舒適度指數': '最小舒適度指數', '風速': '風速', '紫外線指數': '紫外線指數', '天氣現象': '天氣現象', '最低溫度': '最低溫度' }, // 觀測資料因子 OBSERVATION: { 'ELEV': '海拔高度', 'WDIR': '風向', 'WDSD': '風速', 'TEMP': '溫度', 'HUMD': '相對濕度', 'PRES': '測站氣壓', 'SUN': '日照時數', 'H_24R': '日累積雨量', 'H_FX': '小時最大陣風', 'H_XD': '小時最大陣風風向', 'H_FXT': '小時最大陣風時間', 'D_TX': '日最高溫', 'D_TXT': '日最高溫時間', 'D_TN': '日最低溫', 'D_TNT': '日最低溫時間' } }; // 完整的 CWA API 端點列表 export const CWA_API_ENDPOINTS = [ // === 預報類 === { id: 'F-C0032-001', path: '/v1/rest/datastore/F-C0032-001', name: '一般天氣預報-今明36小時天氣預報', description: '臺灣各縣市天氣預報資料及國際都市天氣預報', type: 'general', category: 'forecast' }, // 鄉鎮預報 - 宜蘭縣 { id: 'F-D0047-001', path: '/v1/rest/datastore/F-D0047-001', name: '鄉鎮天氣預報-宜蘭縣未來3天天氣預報', description: '宜蘭縣各鄉鎮市區未來3天(逐3小時)天氣預報', county: '宜蘭縣', period: '3days', type: 'township', category: 'forecast' }, { id: 'F-D0047-003', path: '/v1/rest/datastore/F-D0047-003', name: '鄉鎮天氣預報-宜蘭縣未來1週天氣預報', description: '宜蘭縣各鄉鎮市區未來1週天氣預報', county: '宜蘭縣', period: 'weekly', type: 'township', category: 'forecast' }, // 潮汐預報 { id: 'F-A0021-001', path: '/v1/rest/datastore/F-A0021-001', name: '潮汐預報-未來1個月潮汐預報', description: '未來1個月潮汐預報', type: 'general', category: 'forecast' }, // 健康氣象預報 { id: 'F-H0053-001', path: '/v1/rest/datastore/F-H0053-001', name: '健康氣象冷傷害指數及警示全臺各鄉鎮五日預報', description: '冷傷害指數及警示全臺各鄉鎮五日預報', type: 'general', category: 'forecast' }, { id: 'F-H0053-003', path: '/v1/rest/datastore/F-H0053-003', name: '健康氣象冷傷害指數及警示全臺各鄉鎮未來72小時逐3小時預報', description: '冷傷害指數及警示全臺各鄉鎮未來72小時逐3小時預報', type: 'general', category: 'forecast' }, // === 觀測類 === { id: 'O-A0001-001', path: '/v1/rest/datastore/O-A0001-001', name: '自動氣象站-氣象觀測資料', description: '全臺自動氣象站氣象觀測資料', type: 'observation', category: 'observation' }, { id: 'O-A0002-001', path: '/v1/rest/datastore/O-A0002-001', name: '自動雨量站-雨量觀測資料', description: '全臺自動雨量站雨量觀測資料', type: 'observation', category: 'observation' }, { id: 'O-A0003-001', path: '/v1/rest/datastore/O-A0003-001', name: '現在天氣觀測報告-現在天氣觀測報告', description: '現在天氣觀測報告', type: 'observation', category: 'observation' }, { id: 'O-A0005-001', path: '/v1/rest/datastore/O-A0005-001', name: '紫外線指數-每日紫外線指數最大值', description: '每日紫外線指數最大值', type: 'observation', category: 'observation' }, { id: 'O-A0006-001', path: '/v1/rest/datastore/O-A0006-001', name: '臭氧總量觀測資料-台北站', description: '臭氧總量觀測資料-台北站', type: 'observation', category: 'observation' }, { id: 'O-B0074-001', path: '/v1/rest/datastore/O-B0074-001', name: '海象監測資料-48小時浮標站與潮位站海況監測資料', description: '48小時浮標站與潮位站海況監測資料', type: 'observation', category: 'observation' }, { id: 'O-B0075-003', path: '/v1/rest/datastore/O-B0075-003', name: '海象監測資料-30天浮標站與潮位站海況監測資料', description: '30天浮標站與潮位站海況監測資料', type: 'observation', category: 'observation' }, // === 地震海嘯類 === { id: 'O-B0076-001', path: '/v1/rest/datastore/O-B0076-001', name: '海嘯資訊資料-海嘯資訊資料', description: '海嘯資訊資料', type: 'earthquake', category: 'earthquake_tsunami' }, { id: 'E-A0015-001', path: '/v1/rest/datastore/E-A0015-001', name: '顯著有感地震報告資料-顯著有感地震報告', description: '顯著有感地震報告', type: 'earthquake', category: 'earthquake_tsunami' }, { id: 'E-A0015-002', path: '/v1/rest/datastore/E-A0015-002', name: '顯著有感地震報告資料-顯著有感地震報告(英文)', description: '顯著有感地震報告(英文)', type: 'earthquake', category: 'earthquake_tsunami' }, { id: 'E-A0016-001', path: '/v1/rest/datastore/E-A0016-001', name: '小區域有感地震報告資料-小區域有感地震報告', description: '小區域有感地震報告', type: 'earthquake', category: 'earthquake_tsunami' }, { id: 'E-A0016-002', path: '/v1/rest/datastore/E-A0016-002', name: '小區域有感地震報告資料-小區域有感地震報告(英文)', description: '小區域有感地震報告(英文)', type: 'earthquake', category: 'earthquake_tsunami' }, // === 氣候類 === { id: 'C-B0024-001', path: '/v1/rest/datastore/C-B0024-001', name: '每日雨量-地面測站每日雨量資料', description: '地面測站每日雨量資料', type: 'climate', category: 'climate' }, { id: 'C-B0025-001', path: '/v1/rest/datastore/C-B0025-001', name: '月平均-地面測站資料', description: '地面測站月平均資料', type: 'climate', category: 'climate' }, { id: 'C-B0074-001', path: '/v1/rest/datastore/C-B0074-001', name: '氣象測站基本資料-有人氣象測站基本資料', description: '有人氣象測站基本資料', type: 'climate', category: 'climate' }, { id: 'C-B0074-002', path: '/v1/rest/datastore/C-B0074-002', name: '氣象測站基本資料-無人氣象測站基本資料', description: '無人氣象測站基本資料', type: 'climate', category: 'climate' }, // === 天氣警特報類 === { id: 'W-C0033-001', path: '/v1/rest/datastore/W-C0033-001', name: '天氣特報-各別縣市地區目前之天氣警特報情形', description: '各別縣市地區目前之天氣警特報情形', type: 'warning', category: 'warning' }, { id: 'W-C0033-002', path: '/v1/rest/datastore/W-C0033-002', name: '天氣特報-各別天氣警特報之內容及所影響之區域', description: '各別天氣警特報之內容及所影響之區域', type: 'warning', category: 'warning' }, { id: 'W-C0034-005', path: '/v1/rest/datastore/W-C0034-005', name: '颱風消息與警報-熱帶氣旋路徑', description: '熱帶氣旋路徑資料', type: 'warning', category: 'warning' }, { id: 'F-H0052-001', path: '/v1/rest/datastore/F-H0052-001', name: '健康氣象-熱傷害指數及警示全台各鄉鎮五日逐三小時預報', description: '熱傷害指數及警示全台各鄉鎮五日逐三小時預報', type: 'warning', category: 'warning' }, // === 數值預報類 === { id: 'M-A0064-001', path: '/v1/rest/datastore/M-A0064-001', name: '數值預報-全球預報系統溫度資料', description: '全球預報系統溫度資料', type: 'numerical', category: 'numerical' }, // === 天文類 === { id: 'A-B0062-001', path: '/v1/rest/datastore/A-B0062-001', name: '日出日沒時刻-全臺各縣市年度逐日日出日沒時刻資料', description: '全臺各縣市年度逐日日出日沒時刻資料', type: 'astronomy', category: 'astronomy' }, { id: 'A-B0063-001', path: '/v1/rest/datastore/A-B0063-001', name: '月出月沒時刻-全臺各縣市年度逐日月出月沒時刻資料', description: '全臺各縣市年度逐日月出月沒時刻資料', type: 'astronomy', category: 'astronomy' } ]; // 縣市代碼對應表 export const COUNTY_API_MAPPING = { '宜蘭縣': { threeDays: 'F-D0047-001', weekly: 'F-D0047-003' }, '桃園市': { threeDays: 'F-D0047-005', weekly: 'F-D0047-007' }, '新竹縣': { threeDays: 'F-D0047-009', weekly: 'F-D0047-011' }, '苗栗縣': { threeDays: 'F-D0047-013', weekly: 'F-D0047-015' }, '彰化縣': { threeDays: 'F-D0047-017', weekly: 'F-D0047-019' }, '南投縣': { threeDays: 'F-D0047-021', weekly: 'F-D0047-023' }, '雲林縣': { threeDays: 'F-D0047-025', weekly: 'F-D0047-027' }, '嘉義縣': { threeDays: 'F-D0047-029', weekly: 'F-D0047-031' }, '屏東縣': { threeDays: 'F-D0047-033', weekly: 'F-D0047-035' }, '臺東縣': { threeDays: 'F-D0047-037', weekly: 'F-D0047-039' }, '花蓮縣': { threeDays: 'F-D0047-041', weekly: 'F-D0047-043' }, '澎湖縣': { threeDays: 'F-D0047-045', weekly: 'F-D0047-047' }, '基隆市': { threeDays: 'F-D0047-049', weekly: 'F-D0047-051' }, '新竹市': { threeDays: 'F-D0047-053', weekly: 'F-D0047-055' }, '嘉義市': { threeDays: 'F-D0047-057', weekly: 'F-D0047-059' }, '臺北市': { threeDays: 'F-D0047-061', weekly: 'F-D0047-063' }, '高雄市': { threeDays: 'F-D0047-065', weekly: 'F-D0047-067' }, '新北市': { threeDays: 'F-D0047-069', weekly: 'F-D0047-071' }, '臺中市': { threeDays: 'F-D0047-073', weekly: 'F-D0047-075' }, '臺南市': { threeDays: 'F-D0047-077', weekly: 'F-D0047-079' }, '連江縣': { threeDays: 'F-D0047-081', weekly: 'F-D0047-083' }, '金門縣': { threeDays: 'F-D0047-085', weekly: 'F-D0047-087' } }; // API 類別常數 export const API_CATEGORIES = { FORECAST: 'forecast', OBSERVATION: 'observation', EARTHQUAKE_TSUNAMI: 'earthquake_tsunami', CLIMATE: 'climate', WARNING: 'warning', NUMERICAL: 'numerical', ASTRONOMY: 'astronomy' }; //# sourceMappingURL=types.js.map