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:
- 🌐 visit EMCP platform
- 📝 Register and log in to your account
- 🎯 enter MCP SquareBrowse all available MCP servers
- 🔍 Search or find this server(
bach-weatherapi_com) - 🎉 click Install MCP button
- ✅ 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_comInstall 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_comMethod 2: Direct Run (Development Mode)
python server.pyMethod 3: Run as a command after installation
# 安装
pip install bach-weatherapi_com
# 运行(命令名使用下划线)
bach_weatherapi_comconfiguration
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:\ 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:\ 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:\ 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:\ 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:\ 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:\ 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:\ 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:\ 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
