@bashcat/cwa-mcp-weather
Version:
MCP 伺服器整合中央氣象署 (CWA) 開放資料 API - 完整支援所有15個天氣工具
50 lines • 1.99 kB
JavaScript
import { CWAAPIClient } from './cwa-client.js';
const API_KEY = 'CWA-XXXXXXXX';
async function testDirectAPICall() {
console.log('🧪 開始直接測試 CWA API...');
// 測試直接的 fetch 呼叫
const url = new URL('/v1/rest/datastore/F-C0032-001', 'https://opendata.cwa.gov.tw/api');
url.searchParams.append('Authorization', API_KEY);
url.searchParams.append('format', 'JSON');
url.searchParams.append('locationName', '臺北市');
console.log('📡 測試 URL:', url.toString());
try {
const response = await fetch(url.toString());
console.log('📊 回應狀態:', response.status, response.statusText);
console.log('� 回應標頭:', Object.fromEntries(response.headers.entries()));
const textResponse = await response.text();
console.log('📝 回應內容 (前200字):', textResponse.substring(0, 200));
// 嘗試解析為 JSON
try {
const jsonData = JSON.parse(textResponse);
console.log('✅ JSON 解析成功');
console.log('🔍 成功狀態:', jsonData.success);
}
catch (jsonError) {
console.log('❌ JSON 解析失敗:', jsonError instanceof Error ? jsonError.message : jsonError);
}
}
catch (error) {
console.error('❌ 直接 API 呼叫失敗:', error);
}
}
async function testCWAConnection() {
console.log('\n🔧 測試 CWA 客戶端...');
const client = new CWAAPIClient(API_KEY);
try {
const data = await client.getCountyWeather({
locationName: ['臺北市']
});
console.log('✅ CWA 客戶端呼叫成功!');
console.log('📊 資料集:', data.records.datasetDescription);
}
catch (error) {
console.error('❌ CWA 客戶端測試失敗:', error);
}
}
async function main() {
await testDirectAPICall();
await testCWAConnection();
}
main().catch(console.error);
//# sourceMappingURL=debug.js.map