Skip to main content
Glama
yukincom

Home Weather MCP

by yukincom

Home Weather MCP

日本語 · MIT License

Ask Hermes for the weather at up to three places you choose. Powered by Open-Meteo, Home Weather MCP works with Hermes and other compatible MCP clients.

Tokyo is the initial default. English and Japanese are supported. No API key is needed for Open-Meteo's non-commercial service.

What you can do

  • Check current conditions, today's forecast, or tomorrow's forecast.

  • Ask about temperature, humidity, wind, rain probability, and when rain is expected.

  • Get umbrella suggestions and a reminder about large daytime temperature changes.

  • Give places familiar names such as Home or Office, add alternate names, and change them through conversation.

  • Choose which place to use when you ask for weather without specifying a location.

Related MCP server: Japanese Weather MCP

Setup

You need macOS or Linux, Python 3.11 or newer, uv, and an internet connection.

git clone https://github.com/yukincom/home-weather-mcp.git
cd home-weather-mcp
uv sync --frozen

Add the following entry under mcp_servers in Hermes's config.yaml. Replace /absolute/path/home-weather-mcp with the absolute path to your checkout, and keep your existing server entries.

mcp_servers:
  home_weather:
    command: /absolute/path/home-weather-mcp/.venv/bin/python
    args: ["-m", "home_weather.server", "--language", "en"]
    enabled: true
    timeout: 60
    connect_timeout: 20
    supports_parallel_tool_calls: false
    tools:
      resources: false
      prompts: false

Reload MCP or restart Hermes after adding the server. Location changes made later take effect without a restart. Change en to ja for Japanese responses.

Try asking

  • “What's the weather today?” — uses your default place, initially Tokyo.

  • “Add Osaka, Japan as Office, with Work as another name.”

  • “Will it rain at Work tomorrow?”

  • “Change Office to Kyoto, Japan.”

  • “Make Office my default weather location.”

  • “Rename Tokyo to Home and keep Tokyo as an alternate name.”

  • “Show today's forecast in Japanese.”

You can register up to three places. Include the country when adding an overseas location. If several places match, choose the one you mean from the results.

License and credits

The software uses the MIT License. Weather data is provided by Open-Meteo, with its own service limits and attribution terms. Place lookup uses GeoNames via Open-Meteo and, where needed, GSI.

Agent and development reference: Agent.md.

Available Tools

6 tools
weather_getA
Read-only

Fetch fresh weather for a registered primary or alternate name.

Omit alias to use the default (initially Tokyo). target: current, today, or tomorrow. Forecasts include temperature_range: value_c, threshold_c, is_large (>= threshold), and basis=daily_max_minus_min. Missing/invalid temperatures yield null value and flag. Includes rain intervals and temperature/umbrella advice. Today's rain covers the remaining hours. include_hourly=true adds hourly values. Units: Celsius, m/s, mm; timestamps use the location timezone. No weather storage, cache or scheduling. language=en|ja overrides the server default. Both summary_en and summary_ja are included for forecasts; summary and weather labels use the selected language.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNo
targetNotoday
languageNo
include_hourlyNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses that no storage, cache, or scheduling occurs, how missing/invalid temperatures are represented, which units are used, and that timestamps follow the location timezone. This gives the agent meaningful expectations about side effects and output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence adds operational value: defaults, target options, output semantics, units, and side-effect disclaimers. It is front-loaded with the core purpose and then layers useful details without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no required parameters, the description compensates thoroughly by covering output components, units, null behavior, language behavior, and absence of caching/storage. The agent has enough context to call the tool correctly and interpret results safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it explains all four parameters: alias default behavior, target enum values, include_hourly effect, and language override. It adds practical semantic detail well beyond the bare schema, such as 'initially Tokyo' and that summary labels follow the selected language.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: "Fetch fresh weather for a registered primary or alternate name." It also clarifies that there are target variants (current, today, tomorrow) and distinguishes the tool as one for registered locations, which separates it from the search/list/manage siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates this tool is for registered primary or alternate names, with alias fallback behavior. It implies that unregistered locations require the sibling tools (weather_search_places or weather_set_location), but it does not explicitly state those alternatives or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_list_locationsA
Read-only

List up to three locations, their primary/alternate names, coordinates, and default status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds the output cardinality constraint ('up to three') and the returned fields, which is useful but modest. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler. It front-loads the action and packs the relevant output details and the limit into a compact, readable definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the essential return shape: up to three locations, names, coordinates, and default status. Since there are no parameters and annotations cover safety, an agent has enough information to invoke and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema provides complete coverage trivially. The description has no parameter information to add, but that is not a gap given the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('List'), the resource ('locations'), and the specific output fields (primary/alternate names, coordinates, default status). It also states the 'up to three' limit, which distinguishes it from the sibling search/get tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the tool for enumerating currently stored locations, but it does not explicitly compare against weather_search_places or weather_get, nor does it state when not to use it. There is no alternative routing or exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_remove_locationA
Destructive

Remove a location as requested. Removing the default selects the first remaining location.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive, and the description adds valuable behavior beyond that: removing the default location automatically selects the first remaining one. This gives the agent useful context about a non-obvious side effect without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no unnecessary complexity. The second sentence about the default location behavior is valuable. Minor filler like 'as requested' is the only slight inefficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, one required parameter, and the destructive annotation, the description covers the core action and the important default-location edge case. It does not mention behavior for invalid aliases or outputs, but those are not essential for this straightforward removal tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'alias' parameter or how it identifies the location to remove. The description adds no meaning beyond the schema's minimal 'Alias' title, so it fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Remove') and resource ('location'), which distinguishes this tool from siblings like weather_set_location, weather_update_location, and weather_list_locations. The meaning is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for removing a location and provides one relevant edge-case rule about removing the default. However, it does not explicitly contrast with alternatives or state when not to use it, so the usage guidance is only implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_search_placesA
Read-only

Search a real place name for geographic candidates without changing settings.

Use country_code (JP by default) for the country. Check administrative regions when names are ambiguous. Japanese ward names use GSI as a fallback.

ParametersJSON Schema
NameRequiredDescriptionDefault
place_nameYes
country_codeNoJP

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with 'without changing settings' and adds genuinely new behavioral details: the GSI fallback for Japanese ward names and the instruction to check administrative regions when names are ambiguous. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three compact sentences with the core purpose front-loaded. Every sentence contributes operational value: country scoping, ambiguity handling, and fallback behavior. There is minimal redundancy, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-only search tool with no output schema, the description covers the purpose, country filtering, ambiguous-name handling, and a specific fallback. It does not mention the return format or explicitly route to sibling tools, but the provided details are sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only names, types, and a default for country_code, with no descriptions. The explanation adds meaning by clarifying that country_code selects the country and defaults to JP, and that place_name should be a real place name. It does not exhaustively explain all edge cases but compensates well for the sparse schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search'), a clear resource ('a real place name'), and the intended result ('geographic candidates'). It also explicitly notes 'without changing settings,' which distinguishes it from the location-management sibling tools. This is a precise, non-tautological purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives practical usage guidance: use country_code with JP as the default, check administrative regions for ambiguous names, and use GSI as a fallback for Japanese ward names. It implies this tool is for searching rather than changing settings, but it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_set_locationA

Add a location requested by the user. Only location settings are persisted.

Example: alias=Office, place_name=Osaka, Japan, country_code=JP. At most three locations. additional_aliases supplies alternate names. make_default=true selects this location when alias is omitted in weather_get. Multiple geocoding matches are returned without saving; pass a selected candidate_id as a string. Use weather_update_location to modify an existing location.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasYes
place_nameYes
candidate_idNo
country_codeNoJP
make_defaultNo
additional_aliasesNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are limited to readOnlyHint=false, openWorldHint=true, and destructiveHint=false. The description adds significant behavior beyond that: only location settings are persisted, at most three locations are allowed, multiple geocoding matches are not saved until a candidate_id is supplied, and make_default=true changes how later weather_get calls resolve the alias. This is high-value context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: the core action, persistence constraint, concrete example, capacity limit, alias semantics, default behavior, geocoding flow, and update routing. It is dense but not bloated, and it front-loads the most important purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters, no output schema, and a geocoding disambiguation workflow, the description covers save semantics, the 'at most three' constraint, candidate selection, default selection behavior, and modification routing. An agent has enough information to invoke the tool correctly without needing structured docs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all six parameters. It explains alias, place_name, additional_aliases, make_default, and candidate_id clearly, and gives a concrete example including country_code=JP. The only minor gap is that country_code behavior is implied via the example rather than explicitly described.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete action, 'Add a location requested by the user,' with the resource being a weather location. It clearly distinguishes this creation-oriented tool from siblings like weather_list_locations, weather_search_places, weather_remove_location, and weather_get, and explicitly points to weather_update_location for modifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives practical routing guidance: use weather_update_location to modify an existing location, and describes the geocoding disambiguation flow with candidate_id when multiple matches are returned. It does not fully spell out when weather_search_places should be used first, but the context is clear enough from the description and sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_update_locationA
Destructive

Update an existing location without adding a slot.

alias identifies the location using any current name. Changing place_name resolves new coordinates. new_alias renames the primary alias. additional_aliases replaces the alternate names; [] removes them. Omitted fields remain unchanged. make_default=true selects this place as the default. Ambiguous geocoding returns candidates without saving. Retry with the selected candidate_id as a string.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasYes
new_aliasNo
place_nameNo
candidate_idNo
country_codeNoJP
make_defaultNo
additional_aliasesNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Descriptions go beyond the destructiveHint=true annotation by explaining exact mutation semantics: omitted fields remain unchanged, additional_aliases replaces rather than appends, [] removes them, and make_default=true selects the default. It also transparently states that ambiguous geocoding returns candidates without saving and requires retry with candidate_id, which is valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence adds operational value and there is no filler. The description is front-loaded with the core purpose, then systematically explains parameter effects and the ambiguous-geocoding flow in a compact, readable structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and seven parameters, the description explains most key behaviors including candidate resolution, alias replacement/removal, and default placement. The only notable omission is country_code, and it does not spell out when to choose this tool over siblings, but overall the operational behavior is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It covers alias, place_name, new_alias, additional_aliases, make_default, and candidate_id with meaningful usage context. However, country_code is entirely unexplained despite having a default value, leaving a small gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Update') and resource ('an existing location'), and explicitly distinguishes this from adding a slot. It names key sub-behaviors (place_name geocoding, aliases, default selection) so an agent can distinguish it from siblings like weather_set_location and weather_remove_location.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without adding a slot' implies this tool is for modifying an existing location rather than creating one, but it never explicitly says 'use this when the location already exists' or names alternatives such as weather_set_location for creation. The intended use is inferable but not directly stated.

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.

  1. 6 tool updatesv0.2.0
    • First observedweather_get
    • First observedweather_list_locations
    • First observedweather_remove_location
    • First observedweather_search_places
    • First observedweather_set_location
    • First observedweather_update_location

TDQS

A4.4/5.0
Disambiguation5/5

Each tool covers a distinct action: listing registered locations, searching geographic candidates, adding/updating/removing a location, and fetching weather. There is no overlap or ambiguity in purpose, and descriptions reinforce the boundaries.

Naming Consistency5/5

All tools share a weather_ prefix and follow a verb_noun pattern: list_locations, search_places, set_location, update_location, remove_location, and get. The lone weather_get is still clear because weather is the server's core resource.

Tool Count5/5

Six tools is well-scoped for a home weather server: four location management operations, one place search, and one weather retrieval. Every tool earns its place without redundancy.

Completeness5/5

Location lifecycle is complete (list, set, update, remove, plus search for candidates), and reading current/today/tomorrow forecasts with optional hourly data covers the weather use case. No obvious dead ends or missing core operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to check weather conditions using Open-Meteo's free API with GitHub OAuth authentication and personalized location management. Users can save custom location labels (like 'home' or 'office') and query weather using these convenient shortcuts.
    13
    12
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides weather information for 110 cities across Japan with natural language support for location names in kanji, hiragana, and katakana. Retrieves current weather conditions and forecasts using OpenMeteo API through MCP-compliant tools.
    1
    MIT

Latest Blog Posts

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/yukincom/home-weather-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server