google-weather-mcp
Provides access to Google Maps Platform Weather API for current conditions, hourly forecasts, and daily forecasts, with optional geocoding via the Google Geocoding API.
Provides fallback city and address geocoding via OpenStreetMap Nominatim when the Google Geocoding API is not configured.
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., "@google-weather-mcpwhat's the weather in Delhi?"
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.
Google Weather MCP
MCP server for the Google Maps Platform Weather API, plus a dashboard that calls the same tools over HTTP.
What you get
MCP tools (stdio) for Cursor / Claude Desktop:
geocode_locationget_current_weatherget_hourly_forecastget_daily_forecastget_weather_dashboard
Frontend at
http://localhost:8787— current conditions, 24-hour strip, 10-day forecast.
The API key stays on the server. The browser never sees it.
Related MCP server: OpenWeatherMap MCP Server
Setup
cd google-weather-mcp
npm install
cp .env.example .envEnable Weather API in a Google Cloud project and put the key in .env:
GOOGLE_WEATHER_API_KEY=your_key_hereOptional: enable Geocoding API on the same key (or set GOOGLE_GEOCODING_API_KEY). Without it, city search uses OpenStreetMap Nominatim.
Without a key, the dashboard still runs with demo weather so you can check the UI.
Run the dashboard
npm startOpen http://localhost:8787. Search a city or use your location.
Run as an MCP server
npm run mcpCursor MCP config (~/.cursor/mcp.json or project .cursor/mcp.json):
{
"mcpServers": {
"google-weather": {
"command": "npx",
"args": ["tsx", "src/mcp.ts"],
"cwd": "/Users/rajendrasrirangan/Downloads/AI_Projects/google-weather-mcp",
"env": {
"GOOGLE_WEATHER_API_KEY": "your_key_here"
}
}
}
}After adding it, ask the agent for weather in a city. It will call get_weather_dashboard (or the more specific tools).
Google endpoints used
GET https://weather.googleapis.com/v1/currentConditions:lookupGET https://weather.googleapis.com/v1/forecast/hours:lookupGET https://weather.googleapis.com/v1/forecast/days:lookup
Available Tools
5 toolsgeocode_locationA
Resolve a city or address to latitude and longitude.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Place name, e.g. Bengaluru or 1600 Amphitheatre Parkway |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It clearly states the core transformation (place to coordinates), but it does not mention output format, coordinate order, ambiguity handling, or whether multiple results may be returned. This is adequate but minimal.
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?
The description is one compact, front-loaded sentence with no redundant words. Every part contributes to understanding the tool's function.
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?
For a single-parameter, low-complexity tool with no output schema, the description is largely sufficient: it names the input and the output type. Minor gaps like coordinate format or multiple-match behavior prevent a perfect score, but the tool is simple enough that this is not a major omission.
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?
Schema description coverage is 100%, and the query parameter is already well documented with an example. The description reinforces the meaning by mentioning 'city or address' but adds little beyond the schema, so the baseline of 3 is appropriate.
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?
The description uses a specific verb ('Resolve') with a clear resource ('a city or address') and outcome ('latitude and longitude'). This distinguishes it from the weather-related sibling tools, making its purpose unambiguous.
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?
The description implies usage when geographic coordinates are needed, and the sibling tools are clearly weather-related, so there is no real conflict. However, there is no explicit guidance about when to use this tool versus alternatives or any stated exclusions/prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_weatherA
Current conditions from the Google Maps Platform Weather API for a place or coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | City or place name, e.g. Chennai or Mountain View, CA | |
| units | No | METRIC (C, km) or IMPERIAL (F, miles). Default METRIC. | |
| latitude | No | Latitude in decimal degrees | |
| longitude | No | Longitude in decimal degrees |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the API source and the core behavior of returning current conditions. It does not mention response shape, default unit behavior, or what happens if both place and coordinates are supplied, but for a simple read-only weather tool the disclosure is adequate.
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?
The entire description is a single 14-word sentence that front-loads the essential purpose. There is no filler or repetition of the schema.
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?
For a simple current-weather tool with no output schema, the description covers what the tool returns and the two ways to specify location, while the input schema covers parameter details. It could mention request precedence or return fields, but nothing critical is missing.
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?
Schema coverage is 100%, so the schema already documents query, units, latitude, and longitude. The description adds only the high-level distinction that a place or coordinates can be used, which is already visible in the schema, so it stays at the baseline.
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?
The description identifies a specific verb and resource: retrieving current conditions from the Weather API, for either a place name or coordinates. 'Current' helps distinguish it from the hourly and daily forecast siblings, though it does not explicitly differentiate it from get_weather_dashboard.
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?
The description implies the tool is for current conditions, which an agent can infer should be used instead of hourly or daily forecasts. However, it gives no explicit when-to-use or when-not-to-use guidance and does not name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_forecastC
Daily forecast (default 10 days) from the Google Weather API.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| query | No | City or place name, e.g. Chennai or Mountain View, CA | |
| units | No | METRIC (C, km) or IMPERIAL (F, miles). Default METRIC. | |
| latitude | No | Latitude in decimal degrees | |
| longitude | No | Longitude in decimal degrees |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the default forecast length and data source, but omits location resolution behavior, units assumptions, whether coordinates and query are alternative inputs, and what happens if no location is supplied.
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?
The description is a single sentence with no filler. It conveys the core purpose, source, and default behavior efficiently, even though it could be more informative.
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?
Without an output schema or annotations, the description leaves important gaps: how location is specified, which parameters are expected, whether units default to metric, and what the returned forecast contains. The agent is not equipped to decide between this and the dashboard or hourly tools from the description alone.
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?
Schema description coverage is 80%, so parameters are mostly documented there. The description adds the default value of 10 for 'days', which is not in the schema, but it does not clarify the relationship between query and latitude/longitude or the units default.
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?
The description clearly states the tool provides a daily forecast from the Google Weather API and notes the default 10-day window. The 'daily' scope distinguishes it from current and hourly forecast siblings, though it does not explicitly name or contrast alternatives.
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?
No guidance is given for when to use this tool versus get_current_weather, get_hourly_forecast, or get_weather_dashboard. The only implicit signal is 'daily' in the description; there are no explicit when-to-use conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_forecastA
Hourly forecast (default 24 hours, max 240) from the Google Weather API.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| query | No | City or place name, e.g. Chennai or Mountain View, CA | |
| units | No | METRIC (C, km) or IMPERIAL (F, miles). Default METRIC. | |
| latitude | No | Latitude in decimal degrees | |
| longitude | No | Longitude in decimal degrees |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It only adds the source API and default/max hour window; it does not disclose return format, how query relates to latitude/longitude, error behavior, or side-effect safety. The 'get' prefix implies read-only, but significant behavioral unknowns remain.
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?
The description is one compact sentence with no wasted words. It front-loads the primary purpose and includes the most important operational constraints. Every phrase earns its place.
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?
The tool has no required parameters, no output schema, and no annotations, yet the description never explains that a location (query or coordinates) is needed. It also omits what the response looks like. While schema coverage helps for parameter meaning, the overall definition is not complete enough for a new agent to invoke it with confidence.
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?
Schema coverage is high at 80%, so the schema already documents query, units, latitude, and longitude. The description adds value by stating the default of 24 hours for the hours parameter, which is not present in the schema. It does not describe all params, but the schema handles most of that burden.
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?
The description clearly names the tool's function: returning an hourly forecast from the Google Weather API. It distinguishes this from siblings like get_current_weather and get_daily_forecast by the temporal granularity ('hourly'). The addition of 'default 24 hours, max 240' gives immediate scope.
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?
The description implies usage for hourly weather projections but does not explicitly state when to choose this over get_daily_forecast, get_current_weather, or get_weather_dashboard. No exclusions or alternatives are named, so the agent must infer selection from the tool name and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_dashboardA
Combined current conditions, 24-hour, and 10-day forecast for a location. Best for filling a weather UI.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | City or place name, e.g. Chennai or Mountain View, CA | |
| units | No | METRIC (C, km) or IMPERIAL (F, miles). Default METRIC. | |
| latitude | No | Latitude in decimal degrees | |
| longitude | No | Longitude in decimal degrees |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It discloses the core behavioral scope—combined current, 24-hour, and 10-day data—but does not address response format, location-resolution behavior, or edge cases such as missing or ambiguous locations.
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?
The description is two short sentences with the core behavior front-loaded and a practical use-case statement following it. There is no filler or redundant detail.
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?
The description names the returned forecast slices and gives a solid basic contract, but with no output schema and four optional parameters it leaves important invocation details implicit, such as whether query or lat/long is preferred or required. It is adequate but has clear gaps for fully confident invocation.
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?
Schema description coverage is 100%, so the input schema already documents query, units, latitude, and longitude; the baseline is therefore 3. The description adds little beyond 'for a location' and does not clarify how query relates to lat/long parameters, though the schema covers their individual meanings.
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?
The description clearly states that the tool returns a bundled resource—current conditions, 24-hour forecast, and 10-day forecast—for a location, which distinguishes it from get_current_weather, get_hourly_forecast, and get_daily_forecast. It uses a noun phrase rather than an explicit action verb like 'returns', so it is clear but not maximally explicit.
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?
The phrase 'Best for filling a weather UI' gives a concrete use case and implies this is the consolidated choice when an agent needs all forecast slices together. It does not explicitly name alternatives or state when not to use it, but the context is reasonably clear.
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.
5 tool updates
v1.0.0- First observed
geocode_location - First observed
get_current_weather - First observed
get_daily_forecast - First observed
get_hourly_forecast - First observed
get_weather_dashboard
TDQS
Each tool targets a clear weather data need: geocoding, current conditions, hourly, daily, and combined dashboard. The dashboard overlaps with the individual forecast tools, but its purpose as a one-call UI filler is clearly distinct.
Most tools follow a get_<detail> pattern, and geocode_location is also verb_noun, so the set is readable and predictable. The only minor deviation is geocode_location not using the get_ prefix.
Five tools is well-scoped for a weather server: geocoding plus current, hourly, daily, and dashboard views cover the domain without unnecessary bloat.
The tool surface covers the full basic weather workflow: resolve location, fetch current conditions, get forecasts at different granularities, and retrieve a combined view. No significant gaps for a weather-focused MCP server.
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
Geocoding, weather forecasts, and timezone lookups
Free, keyless real-time weather and 7-day forecasts for any city worldwide.
Weather data, forecast API, climate data, historical weather, alerts, agricultural & travel weather.
Global weather API: forecasts, historical data, marine, ski, astronomy and timezone.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather data and air quality information for geographic coordinates or major Indian cities using the Weather Union API.MIT
- AlicenseNot gradedqualityCmaintenanceProvides weather data integration using the OpenWeatherMap API, enabling users to fetch current weather conditions, hourly and daily forecasts, weather alerts, and geocoding services for any location worldwide.91MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying real-time weather and 5-day forecasts for any city using the OpenWeatherMap API.214MIT
- AlicenseBqualityDmaintenanceProvides current weather conditions and 5-day forecasts for any city worldwide using the OpenWeatherMap API.2MIT
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/RajendraSrirangan38/google-weather-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server