✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Weather MCP Server

Bu proje, Model Context Protocol (MCP) kullanarak hava durumu bilgisi sağlayan bir FastAPI uygulamasıdır.

Özellikler

  • MCP Protokolü: Model Context Protocol standardına uygun
  • FastAPI: Modern, hızlı web framework
  • Hava Durumu API: wttr.in servisini kullanarak gerçek zamanlı hava durumu
  • Hata Yönetimi: Kapsamlı hata yakalama ve kullanıcı dostu mesajlar

Kurulum

  1. Bağımlılıkları yükleyin:
pip install -r requirements.txt
  1. Sunucuyu başlatın:
python main.py

Sunucu http://localhost:8000 adresinde çalışmaya başlayacaktır.

Kullanım

MCP Protokolü ile

MCP protokolü üzerinden /mcp endpoint’ini kullanın:

POST /mcp
{
    "method": "tools/call",
    "params": {
        "name": "get_weather",
        "arguments": {
            "city": "İstanbul"
        }
    }
}

Direkt API Kullanımı

Test amaçlı direkt endpoint’ler:

# GET isteği
curl http://localhost:8000/weather/İstanbul

# POST isteği
curl -X POST http://localhost:8000/weather 
  -H "Content-Type: application/json" 
  -d '{"name": "get_weather", "arguments": {"city": "İstanbul"}}'

API Endpoints

  • GET / - Sunucu bilgileri
  • GET /health - Sağlık kontrolü
  • POST /mcp - Ana MCP protokol handler
  • GET /weather/{city} - Basit hava durumu sorgusu
  • POST /weather - Detaylı hava durumu sorgusu

Yanıt Formatı

Başarılı yanıt örneği:

{
    "city": "İstanbul",
    "location": {
        "area_name": "Istanbul",
        "country": "Turkey",
        "region": "Istanbul"
    },
    "current_weather": {
        "temperature_c": "15",
        "temperature_f": "59",
        "feels_like_c": "14",
        "feels_like_f": "57",
        "humidity": "72",
        "description": "Partly cloudy",
        "wind_speed_kmh": "11",
        "wind_direction": "NW",
        "pressure": "1013",
        "visibility": "10"
    },
    "status": "success"
}

Hata yanıtı örneği:

{
    "city": "GeçersizŞehir",
    "error": "Hava durumu alınamadı: Bağlantı hatası - 404 Client Error",
    "status": "error"
}

Geliştirme

Sunucuyu geliştirme modunda çalıştırmak için:

uvicorn main:app --reload --host 0.0.0.0 --port 8000

Dosya Yapısı

  • main.py - Ana FastAPI uygulaması ve MCP sunucu
  • mcp_config.py - MCP konfigürasyonu ve weather tool implementasyonu
  • requirements.txt - Python bağımlılıkları
  • README.md - Bu dosya

Weather Information Server

Project Details

Featured Templates

View More
AI Assistants
Image to text with Claude 3
152 1366
Customer service
Multi-language AI Translator
136 921
Verified Icon
AI Assistants
Speech to Text
137 1882

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.