🌤️ MCP Weather Server

API Thời Tiết & Chất Lượng Không Khí qua Model Context Protocol

🏢 Hosted by Trangvang.ai

✅ Đang Hoạt Động

� Kết Nối với MCP Clients

🖥️ Claude Desktop

Thêm cấu hình sau vào file claude_desktop_config.json:

{ "mcpServers": { "weather-trangvang": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-everything", "https://weather.trangvang.ai/sse" ] } } }
📍 Vị trí file:
• macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
• Windows: %APPDATA%\Claude\claude_desktop_config.json

⌨️ Cursor IDE

Thêm cấu hình sau vào MCP settings của Cursor:

{ "mcpServers": { "weather": { "url": "https://weather.trangvang.ai/sse", "transport": "sse" } } }
📍 Vị trí file:
• macOS/Linux: ~/.cursor/mcp_settings.json
• Windows: %USERPROFILE%\.cursor\mcp_settings.json
💡 Lưu ý: Sau khi cập nhật file, restart Cursor IDE để áp dụng cấu hình mới

📡 API Endpoints (SSE Mode)

GET /sse

Thiết lập kết nối Server-Sent Events và nhận session ID

curl -N https://weather.trangvang.ai/sse

POST /messages/?session_id={session_id}

Gửi yêu cầu JSON-RPC 2.0 để gọi các tools

curl -X POST "https://weather.trangvang.ai/messages/?session_id=YOUR_SESSION_ID" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "get_current_weather", "arguments": {"city": "Ho Chi Minh City"} }, "id": 1 }'

🛠️ Các Công Cụ Có Sẵn

🌡️ get_current_weather

Lấy thông tin thời tiết hiện tại của thành phố

city

📅 get_weather_by_datetime_range

Lấy dữ liệu thời tiết theo khoảng thời gian

city start_date end_date

📊 get_weather_details

Lấy chi tiết thời tiết dạng JSON

city

🌫️ get_air_quality

Lấy thông tin chất lượng không khí

city

📈 get_air_quality_details

Lấy chi tiết chất lượng không khí dạng JSON

city

🕐 get_current_datetime

Lấy thời gian hiện tại theo múi giờ

timezone_name

🌍 get_timezone_info

Lấy thông tin múi giờ

timezone_name

🔄 convert_time

Chuyển đổi thời gian giữa các múi giờ

time_str from_tz to_tz

💻 Ví Dụ JavaScript

// Kết nối đến SSE const eventSource = new EventSource('https://weather.trangvang.ai/sse'); let sessionId = null; eventSource.addEventListener('endpoint', (event) => { sessionId = event.data.split('session_id=')[1]; console.log('Session ID:', sessionId); }); // Gọi API async function getWeather(city) { const response = await fetch( `https://weather.trangvang.ai/messages/?session_id=${sessionId}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', method: 'tools/call', params: { name: 'get_current_weather', arguments: { city: city } }, id: 1 }) } ); return await response.json(); } // Sử dụng getWeather('Ho Chi Minh City').then(console.log);

📚 Tài Nguyên