WeatherXM Pro MCP Server
OfficialThe WeatherXM PRO MCP Server allows clients to access weather station data, observations, and forecasts through the MCP protocol. With this server, you can:
Retrieve stations near a specific location using latitude, longitude, and radius
Fetch stations within a defined bounding box using min/max latitude and longitude
Access all available weather stations
Get the latest observation from a specific station
Retrieve historical observations for a station on a specific date
Search for H3 cells by region name
Get stations located within a specific H3 cell
Obtain weather forecasts (daily or hourly) for a specific H3 cell
Get hyperlocal forecasts for a station and variable
Access forecast performance (FACT) for a station and variable
Retrieve forecast rankings (FACT) for a station
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WeatherXM Pro MCP Serverwhat's the forecast for New York City tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WeatherXM PRO MCP Server
An MCP server implementation exposing the WeatherXM PRO APIs as MCP tools, allowing clients to access weather station data, observations, and forecasts through the MCP protocol.
Features
Get stations near a location (latitude, longitude, radius)
Get stations within a bounding box (min/max latitude and longitude)
Get all available stations
Get the latest observation for a specific station
Get historical observations for a station on a specific date
Search for H3 cells by region name
Get stations in a specific H3 cell
Get weather forecast (daily or hourly) for a specific H3 cell
Get hyperlocal forecast for a station and variable
Get forecast performance (FACT) for a station and variable
Get forecast ranking (FACT) for a station
Related MCP server: Weather MCP Server
Prerequisites
Node.js and npm installed
A valid WeatherXM PRO API key
Configuration
Clone the repository to your local machine.
git clone https://github.com/WeatherXM/weatherxm-pro-mcp.gitInstallation
After cloning the repository, you need to install the dependencies and build the project before running the MCP server.
npm install
npm run buildServer Configuration for MCP Clients
This is the common configuration for MCP clients such as Claude Desktop, Cursor, Windsurf Editor, VSCode and plugins such as RooCode and Cline.
{
"mcpServers": {
"weatherxm-pro": {
"command": "npx",
"args": [
"-y",
"path to mcp"
],
"env": {
"WEATHERXMPRO_API_KEY": "your-api-key"
}
}
}
}Replace "path to mcp" with the actual path to the MCP server or package name, and "your-api-key" with your WeatherXM PRO API key.
Note: If you have other MCP servers in use in the client, you can add it to the existing
mcpServersobject.
Claude Desktop
Follow the steps below to use the WeatherXM PRO MCP server with Claude Desktop MCP client:
Edit the MCP settings file located at:
~/Library/Application Support/Claude/claude_desktop_config.jsonAdd the WeatherXM PRO MCP server configuration under the
mcpServersobject.Restart Claude Desktop to apply the changes.
You can now use the server in Claude Desktop to run queries on the WeatherXM PRO MCP server.
Cursor
Follow the steps below to use the WeatherXM PRO MCP server with Cursor:
Install Cursor on your machine.
In Cursor, go to Cursor > Cursor Settings > MCP > Add a new global MCP server.
Specify the same configuration as in the Server Configuration for MCP Clients section.
Save the configuration.
You will see weatherxm-pro as an added server in MCP servers list.
You can now use the WeatherXM PRO MCP server in Cursor to run queries.
Windsurf Editor
Follow the steps below to use the WeatherXM PRO MCP server with Windsurf Editor:
Install Windsurf Editor on your machine.
Navigate to Command Palette > Windsurf MCP Configuration Panel or Windsurf - Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers.
Click on Add Server and then Add custom server.
Add the WeatherXM PRO MCP Server configuration from the Server Configuration for MCP Clients section.
Save the configuration.
You will see weatherxm-pro as an added server in MCP Servers list.
You can now use the WeatherXM PRO MCP server in Windsurf Editor to run queries.
Docker Image
The MCP server can be built and run as a Docker container.
Build
docker build -t weatherxm-pro-mcp .Run
docker run -d -p 3000:3000 -e WEATHERXMPRO_API_KEY="your-api-key" -e PORT=3000 weatherxm-pro-mcpReplace "your-api-key" with your actual WeatherXM PRO API key.
Troubleshooting Tips
Ensure the path to your MCP server repository is correct in the configuration.
Verify that your WeatherXM PRO API key is set correctly.
Check that the MCP client configuration matches the server settings.
Check the logs for any errors or warnings that may indicate issues with the MCP server.
License
MIT License
Available Tools
8 toolsget_all_stationsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecast_for_cellD
| Name | Required | Description | Default |
|---|---|---|---|
| forecast_cell_index | Yes | The H3 index of the cell to get forecast for | |
| forecast_from | Yes | The first day for which to get forecast data (YYYY-MM-DD) | |
| forecast_include | Yes | Types of forecast to include | |
| forecast_to | Yes | The last day for which to get forecast data (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_observationsD
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date (YYYY-MM-DD) for historical observations | |
| station_id | Yes | The unique identifier of the station |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_observationD
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | Yes | The unique identifier of the station |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stations_boundsD
| Name | Required | Description | Default |
|---|---|---|---|
| max_lat | Yes | Maximum latitude of the bounding box | |
| max_lon | Yes | Maximum longitude of the bounding box | |
| min_lat | Yes | Minimum latitude of the bounding box | |
| min_lon | Yes | Minimum longitude of the bounding box |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stations_in_cellD
| Name | Required | Description | Default |
|---|---|---|---|
| cell_index | Yes | The H3 index of the cell to return stations for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stations_nearD
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude of the center of the area | |
| lon | Yes | Longitude of the center of the area | |
| radius | Yes | Radius in meters for which stations are queried |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cells_in_regionD
| Name | Required | Description | Default |
|---|---|---|---|
| region_query | Yes | The name of the region to search for cells |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v1.0.0- First observed
get_all_stations - First observed
get_forecast_for_cell - First observed
get_historical_observations - First observed
get_latest_observation - First observed
get_stations_bounds - First observed
get_stations_in_cell - First observed
get_stations_near - First observed
search_cells_in_region
TDQS
Most tools have clearly distinct purposes focused on different aspects of weather data retrieval (stations, forecasts, observations, cells), though get_stations_in_cell and get_stations_near could potentially overlap in some use cases. The lack of descriptions creates some uncertainty, but the naming suggests reasonable separation.
All tools follow a perfect verb_noun pattern with consistent snake_case naming throughout. Every tool starts with 'get_' or 'search_' followed by a clear object, creating excellent predictability and readability.
With 8 tools, this server is well-scoped for a weather data service. The count allows comprehensive coverage of station management, forecasting, and observation retrieval without becoming overwhelming or redundant.
The server covers core weather data retrieval operations well (stations, forecasts, observations), but lacks any write/update capabilities that might be expected for a 'Pro' service. There are also no tools for managing user preferences, alerts, or more advanced analytics, creating some workflow gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
An MCP server for weather information by @kulybaba
An MCP server for weather information by @kulybaba
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis MCP server provides tools like weather lookup and follows the Model Context Protocol for tool calling, resource sharing, and prompt templates.225MIT
- AlicenseNot gradedqualityDmaintenanceMCP Server for global weather, forecasts, air quality, and climate data using Open-Meteo, no API key required.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that wraps the Open-Meteo API to provide current weather, forecasts, and historical data for any location without requiring an API key.MIT
- FlicenseNot gradedqualityCmaintenanceA proof-of-concept MCP server that provides weather information using the Open-Meteo API, with tools for greeting, getting weather by coordinates, and by location name.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WeatherXM/weatherxm-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server