MCP Hub
Back to servers

Weather MCP Server

An MCP server that provides real-time and simulated weather data, including temperature, humidity, and wind speed, via the OpenWeather API.

Updated
Dec 27, 2025

weather-mcp

Model Context Protocol (MCP) server untuk layanan cuaca.

Instalasi

bun install

Penggunaan

Development

bun run dev

Production

# Build project
bun run build

# Jalankan hasil build
bun run start

Testing Fungsi Cuaca

bun run test_weather.ts

Contoh output:

Testing weather function...
Weather result: {
  city: "Jakarta",
  temperature: "6°C",
  humidity: "74%",
  windSpeed: "16m/s",
  description: "snow",
  weatherIcon: "01d",
  pressure: "1048 hPa",
  visibility: "2097m",
}

Menjalankan Server dan Client MCP

Menjalankan Server MCP

Untuk menjalankan server MCP secara langsung:

bun run src/index.ts

Menjalankan Client untuk Testing

Untuk menjalankan client MCP (untuk testing koneksi):

bun run src/clients/weather.ts

Catatan: Pastikan server MCP sedang berjalan sebelum menjalankan client.

Menjalankan Server untuk Pengujian (MCP Inspector)

Cara terbaik untuk memastikan server berjalan benar tanpa perlu client kustom adalah menggunakan MCP Inspector. Ini adalah alat debug resmi yang menyediakan antarmuka web.

npx @modelcontextprotocol/inspector node dist/server.js
#atau dengan bun
bunx @modelcontextprotocol/inspector bun src/index.ts

Konfigurasi API

Untuk menggunakan API cuaca sebenarnya, set environment variable berikut:

export OPENWEATHER_API_KEY="your_api_key_here"

Jika environment variable ini tidak diset, maka sistem akan menggunakan simulasi data cuaca.

Integrasi dengan Qwen CLI

Untuk mengintegrasikan MCP ini dengan Qwen CLI atau sistem lain yang mendukung MCP:

  1. Pastikan MCP server dapat dijalankan sebagai executable
  2. Konfigurasi client MCP untuk menjalankan perintah: bun run dist/index.js atau node dist/index.js
  3. MCP akan berkomunikasi melalui STDIO sesuai spesifikasi Model Context Protocol

Implementasi di Gemini CLI

Untuk mengimplementasikan server MCP ini di Gemini CLI, tambahkan konfigurasi berikut ke file konfigurasi MCP Anda:

{
  "theme": "GitHub",
  "selectedAuthType": "oauth-personal",
  "mcpServers": {
    "weather": {
      "command": "bun",
      "args": ["run", "/home/balinux/Documents/code/AI-LLM-dev/mcp/weather-mcp/dist/index.js"], // absolute path
      "env": {
        "OPENWEATHER_API_KEY": "key"
      }
    }
  }
}

Pastikan untuk:

  1. Mengganti path /home/balinux/Documents/code/AI-LLM-dev/mcp/weather-mcp/dist/index.js dengan path absolut ke file hasil build Anda
  2. Mengganti nilai OPENWEATHER_API_KEY dengan API key OpenWeather yang valid
  3. Memastikan bahwa bun telah terinstal di sistem Anda
  4. Menjalankan bun run build sebelum menggunakan server MCP untuk memastikan file dist/index.js tersedia

Struktur Project

  • src/index.ts - Server MCP utama
  • src/tools/weather.ts - Definisi alat cuaca dan skema Zod
  • src/utils/weatherAPI.ts - Logika pengambilan data cuaca dari API
  • src/clients/weather.ts - Contoh client MCP untuk testing
  • dist/index.js - Hasil build untuk deployment

Reviews

No reviews yet

Sign in to write a review