Wildfire MCP Server
Detects, monitors, and analyzes potential wildfires globally using NASA FIRMS, OpenWeatherMap, and Google Earth Engine data.
README
Wildfire MCP Server
A Model Context Protocol (MCP) server for detecting, monitoring, and analyzing potential wildfires globally using multiple data sources including NASA FIRMS, OpenWeatherMap, and Google Earth Engine.
Overview
This MCP server provides AI assistants with tools to detect and analyze wildfire activity anywhere in the world by integrating real-time satellite data, weather forecasts, air pollution metrics, and geographical information. It's designed to help identify potential wildfires and assess their environmental impact.
Features
- Fire Detection: Query NASA FIRMS (Fire Information for Resource Management System) for active fire hotspots
- Weather Forecasting: Get 5-day weather forecasts for specific locations
- Air Pollution Monitoring: Access current and historical air pollution data
- Reverse Geocoding: Convert coordinates to human-readable addresses
- Fire Fuel Assessment: Determine if a location contains potential wildfire fuel based on land cover data
- Customizable Filtering: Filter fires by radiative power, brightness temperature, and geographic boundaries
Prerequisites
Configure API keys (if required):
- NASA FIRMS Map Key
- OpenWeatherMap API Key
- Google Earth Engine credentials (if applicable)
Available Tools
get_potential_wildfires
Get potential wildfires for a specific date using NASA FIRMS data.
Parameters:
date(str, optional): Date in YYYY-MM-DD format. Defaults to current date.frp(float): Fire Radiative Power threshold (default: 1)bright_ti4(float): Brightness temperature threshold (default: 50)in_iran(bool): If True, filters fires to only show those within Iran's borders (useful for Iran-specific monitoring)bounding_box(BoundingBox, optional): Custom bounding box to limit search area to any geographic region
get_address
Get the address for given coordinates.
Parameters:
latitude(float): Latitude of the locationlongitude(float): Longitude of the location
get_weather_forecast
Get 5-day weather forecast with 3-hour intervals.
Parameters:
latitude(float): Latitude of the locationlongitude(float): Longitude of the location
get_current_air_pollution_data
Fetch current air pollution data.
Parameters:
latitude(float): Latitude of the locationlongitude(float): Longitude of the location
get_historical_air_pollution_data
Fetch historical air pollution data for a date range.
Parameters:
latitude(float): Latitude of the locationlongitude(float): Longitude of the locationstart_date(str): Start of period (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS)end_date(str): End of period (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS)
is_fire_fuel
Check if a location contains potential wildfire fuel.
Parameters:
latitude(float): Latitude of the locationlongitude(float): Longitude of the location
Returns: Boolean indicating if location is in a potential wildfire fuel area
Testing
Using MCP Inspector
npx @modelcontextprotocol/inspector python wildfire_mcp_server.py
The timeout for the client needs to be increased since some data fetching operations can take a while. This can be done either by setting the config in the UI or by setting the following environment variables:
export MCP_SERVER_REQUEST_TIMEOUT=9000000
export MCP_REQUEST_MAX_TOTAL_TIMEOUT=9000000
export MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS=true
Good date to test: 2025-11-21 (known active fire day)
Running Test Scripts
# Test individual components
uv run scripts/test_nasa_firms.py
uv run scripts/test_main_functionality.py
uv run scripts/test_overpass.py
Architecture
The project is organized into several layers:
wildfire_mcp_server.py: Main server entry point with MCP tool definitionssrc/agents/: High-level agent classes that orchestrate domain servicesLikelyFireAgent: Fire detection and filteringFireFuelAgent: Land cover and fuel assessmentAddressAgent: Reverse geocodingWeatherForecastAgent: Weather data retrievalAirPollutionAgent: Air quality data
src/domains/: Domain-specific integrationsnasa_firms/: NASA FIRMS fire data APIopen_weather_map/: Weather and air pollution APIsgoogle_earth_engine/: Land cover dataoverpass/: OpenStreetMap dataplanetary_computer/: Microsoft Planetary Computer integration
Data Sources
- NASA FIRMS: Active fire data from MODIS and VIIRS satellites
- OpenWeatherMap: Weather forecasts and air pollution metrics
- Google Earth Engine: Land cover classification
- OpenStreetMap (Overpass): Geographic and administrative boundaries
License
This project is licensed under a custom Evaluation and Non-Production License. See the LICENSE file for details.
Note: Production use requires explicit written approval from the copyright holder.
Contributing
Contributions are welcome for evaluation and improvement purposes. Please ensure any pull requests maintain the evaluation-only nature of this license.
Disclaimer
This tool is designed for wildfire monitoring and research purposes. Fire detection data should be verified with official sources before taking any action. The accuracy of fire detection depends on satellite data availability and environmental conditions.
Support
For issues, questions, or production licensing inquiries, please open an issue on the repository or contact the maintainers directly.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。