天气API MCP服务器

用于访问Weatherapi Com API的MCP服务器,提供实时天气、天气预报、天文数据等多种天气相关功能。

  • by BACH-AI-Tools
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BACH-AI-Tools/weatherapi_com

使用说明

Weatherapi Com MCP Server

English |Simplified Chinese| Traditional Chinese

MCP server used to access WeatherAPI Com API.

🚀 Quickly experience using the EMCP platform

EMCP It is a powerful MCP server management platform that allows you to quickly use various MCP servers without manual configuration!

Quick Start:

  1. 🌐 visit EMCP platform
  2. 📝 Register and log in to your account
  3. 🎯 enter MCP SquareBrowse all available MCP servers
  4. 🔍 Search or find this server(bach-weatherapi_com)
  5. 🎉 click Install MCP button
  6. ✅ Done! Can be used in your application

Advantages of the EMCP platform:

  • ✨ Zero configurationNo need to manually edit configuration files
  • 🎨 Visual managementEasily manage all MCP servers through a graphical interface
  • 🔐 safe and reliableUnified management of API keys and authentication information
  • 🚀 One-click installationMCP Square offers a wide range of server options
  • 📊 Use statisticsReal time viewing of service invocation status

Visit Now EMCP platform Start your MCP journey!


Introduction

This is an MCP server used to access the WeatherAPI Com API.

  • PyPI package name: bach-weatherapi_com
  • version: 1.0.0
  • transmission protocol: stdio

install

Install from PyPI:

pip install bach-weatherapi_com

Install from source code:

pip install -e .

run

Method 1: Use UVX (recommended, no installation required)

# 运行(uvx 会自动安装并运行)
uvx --from bach-weatherapi_com bach_weatherapi_com

# 或指定版本
uvx --from bach-weatherapi_com@latest bach_weatherapi_com

Method 2: Direct Run (Development Mode)

python server.py

Method 3: Run as a command after installation

# 安装
pip install bach-weatherapi_com

# 运行(命令名使用下划线)
bach_weatherapi_com

configuration

API certification

This API requires authentication. Please set environment variables:

export API_KEY="your_api_key_here"

environment variable

Variable Name Description Required
API_KEY API Key Yes
PORT Not applicable No
HOST Not applicable No

Use in cursor

Edit cursor MCP configuration file ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bach-weatherapi_com": {
      "command": "uvx",
      "args": ["--from", "bach-weatherapi_com", "bach_weatherapi_com"],
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

Using Claude Desktop

Edit Claude Desktop configuration file claude_desktop_config.json:

{
  "mcpServers": {
    "bach-weatherapi_com": {
      "command": "uvx",
      "args": ["--from", "bach-weatherapi_com", "bach_weatherapi_com"],
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

Available tools

This server provides the following tools:

alerts_api

Alerts API returns alerts and warnings issued by government agencies (USA, UK, Europe and Rest of the World) as an array if available for the location provided.

endpoint: GET /alerts.json

parameter:

  • q (string) necessary: Example value: london

future_weather_api

Future weather API method returns weather in a 3 hourly interval in future for a date between 14 days and 300 days from today in the future.

endpoint: GET /future.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

  • lang (string): Returns 'condition:text' field in API in the desired language

  • dt (string) necessary: 'dt' should be between 14 days and 300 days from today in the future in yyyy-MM-dd format (i.e. dt=2023-01-01)


realtime_weather_api

Current weather or realtime weather API method allows a user to get up to date current weather information in json and xml. The data is returned as a Current Object.

endpoint: GET /current.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

sports_api

Sports API method allows a user to get listing of all upcoming sports events for football, cricket and golf in json.

endpoint: GET /sports.json

parameter:

  • q (string) necessary: Example value: London

astronomy_api

Astronomy API method allows a user to get up to date information for sunrise, sunset, moonrise, moonset, moon phase and illumination in json.

endpoint: GET /astronomy.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

  • dt (string): Date


searchautocomplete_api

Search or Autocomplete API returns matching cities and towns.

endpoint: GET /search.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

marine_weather_api

Marine weather API returns upto next 7 day marine and sailing weather forecast and tide data for global marine/sea points.

endpoint: GET /marine.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

  • days (number): Example value: 1

  • lang (string): Example value:


history_weather_api

History weather API method returns historical weather for a date on or after 1st Jan, 2010 (depending upon subscription level) as json.

endpoint: GET /history.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

  • lang (string): Returns 'condition:text' field in API in the desired language

  • hour (number): Restricting history output to a specific hour in a given day.

  • dt (string) necessary: For history API 'dt' should be on or after 1st Jan, 2010 in yyyy-MM-dd format

  • end_dt (string): Restrict date output for History API method. Should be on or after 1st Jan, 2010. Make sure end_dt is equal to or greater than 'dt'.


forecast_weather_api

Forecast weather API method returns upto next 14 day weather forecast and weather alert as json. It contains astronomy data, day weather forecast and hourly interval weather information for a given city.

endpoint: GET /forecast.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

  • days (number): Number of days of forecast required.

  • lang (string): Returns 'condition:text' field in API in the desired language

  • dt (string): If passing 'dt', it should be between today and next 10 day in yyyy-MM-dd format.


ip_lookup_api

IP Lookup API method allows a user to get up to date information for an IP address in json.

endpoint: GET /ip.json

parameter:

  • q (string) necessary: e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

time_zone_api

Time Zone API method allows a user to get up to date time zone and local time information in json.

endpoint: GET /timezone.json

parameter:

  • q (string) necessary: Query parameter based on which data is sent back. It could be following: Latitude and Longitude (Decimal degree) e.g: q=48.8567,2.3508 city name e.g.: q=Paris US zip e.g.: q=10001 UK postcode e.g: q=SW1 Canada postal code e.g: q=G2J metar: e.g: q=metar:EGLL iata:<3 digit airport code> e.g: q=iata:DXB auto:ip IP lookup e.g: q=auto:ip IP address (IPv4 and IPv6 supported) e.g: q=100.0.0.1

tech stack

  • transmission protocol: stdio
  • HTTP client: httpx

license

MIT License - see details LICENSE Document.

development

This server is composed of API-to-MCP Tool generation.

Version: 1.0.0