Skip to main content
Glama

JMA Data MCP

気象庁のAMeDAS観測・過去データと天気予報を検索するMCPサーバーです。全国1,286観測所のスナップショットを同梱し、地点名・座標から観測所を検索できます。

実行

Python 3.10+ と uv が必要です。

uvx --from git+https://github.com/koizumikento/jma-data-mcp.git@master jma-data-mcp

MCPクライアント設定例:

{
  "mcpServers": {
    "jma-data": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/koizumikento/jma-data-mcp.git@master",
        "jma-data-mcp"
      ]
    }
  }
}

引数なし、または serve でMCPサーバーを起動します。stationweatherforecasthistory サブコマンドからCLIとしても利用できます。

Related MCP server: Weatherapi Com MCP Server

MCP tools

  • 観測所: get_station_infosearch_stationssearch_nearby_stationsget_stations_of_typelist_stations

  • 観測・予報: get_current_weatherget_weather_by_locationget_forecastlist_prefectures

  • 過去・時系列: get_historical_weatherget_weather_time_series

過去データは気象庁側で提供される直近約1〜2週間、時系列は最大168時間を対象とします。

データ出典・利用条件

出典: 気象庁ホームページ

同梱する観測所表は気象庁公開データを本ソフトウェア用に加工しています。取得データを利用・再配布する際は、気象庁の利用規約と気象業務法上の制約を確認してください。本ソフトウェアは独自の予報を生成しません。

開発

uv sync --frozen
uv run ruff check .
uv run mypy jma_data_mcp
uv run pytest -m "not integration"
uv run python scripts/check_amedas_snapshot.py
uv build

観測所スナップショットの差分チェックは週次でも実行されます。

License

MIT

Available Tools

11 tools
get_current_weatherB

Get current weather observation data from AMeDAS stations.

ParametersJSON Schema
NameRequiredDescriptionDefault
station_codeNoStation code (e.g., '44132' for Tokyo). If not specified, returns data for all stations.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only states it returns 'current weather observation data' but does not mention update frequency, caching, authentication requirements, or if the data is real-time. This lacks necessary 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?

The description is a single, front-loaded sentence that conveys the core purpose efficiently with no wasted words.

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

Completeness3/5

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

Given the tool has only one optional parameter and an output schema exists, the description could be more complete by explaining when to use this over similar tools or what data fields are returned. It is adequate but has clear gaps.

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

Parameters3/5

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

Schema coverage is 100% as the only parameter (station_code) has a description in the schema. The description adds no additional meaning beyond what is already in the schema, so baseline score of 3 applies.

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 states the verb 'Get' and the specific resource 'current weather observation data from AMeDAS stations.' It distinguishes itself from siblings like get_forecast (which provides forecasts) and get_historical_weather.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_forecast or get_weather_by_location. The description does not mention specific contexts or exclusions.

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

get_forecastC

Get weather forecast for a prefecture.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefectureYesPrefecture name in English (e.g., 'tokyo', 'osaka', 'hokkaido_sapporo')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic operation without mentioning any side effects, authentication needs, or data freshness. The output schema exists but is not described, leaving agent uncertain about what is returned.

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 a single, front-loaded sentence with no wasted words. However, it could be slightly more informative while remaining concise, so it scores 4 rather than 5.

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

Completeness3/5

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

Given the tool has only one parameter, no annotations, and an output schema (not shown), the description is minimally adequate. It lacks detail about the forecast's contents or response format, but the presence of an output schema reduces the need for full explanation in the description.

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

Parameters3/5

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

Schema coverage is 100% and the input schema already describes the 'prefecture' parameter with examples. The description adds no additional meaning beyond the schema, so it meets the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the verb 'Get', the resource 'weather forecast', and the scope 'for a prefecture'. It is specific enough to convey the tool's purpose, but it does not explicitly differentiate from sibling tools like 'get_current_weather' or 'get_historical_weather' which also deal with weather data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage without clear direction.

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

get_historical_weatherB

Get historical weather data for a specific date and time.

Data is available for approximately the past 1-2 weeks.

ParametersJSON Schema
NameRequiredDescriptionDefault
station_codeYesStation code (e.g., '44132' for Tokyo)
target_datetimeYesTarget datetime in ISO format (e.g., '2025-12-01T12:00:00') or 'YYYY-MM-DD HH:MM' format. Time is in JST.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It only states data range (past 1-2 weeks) but does not disclose whether the operation is read-only, if it requires special permissions, or any side effects. The description is insufficient for a tool with no 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 extremely concise with two short sentences. The first sentence immediately states the core purpose, and the second sentence adds a critical limitation. No wasted words.

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

Completeness3/5

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

The tool has an output schema, so return value documentation is not required. However, the description lacks any mention of error conditions, rate limits, or additional behavioral context. Given the absence of annotations, the description should provide more completeness for a weather data retrieval tool.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters already described in the input schema. The description does not add any new information about parameter meaning or format beyond what the schema provides, so a baseline score of 3 is appropriate.

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 states the tool retrieves historical weather data for a specific date and time, with a specific verb and resource. It mentions data availability (past 1-2 weeks), which distinguishes it from siblings like get_current_weather and get_forecast.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives or when not to use it. The data range hint is implicit but not actionable as a usage rule.

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

get_station_infoA

Get AMeDAS station information by station code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesStation code (e.g., '44132' for Tokyo)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states 'get information' without disclosing what fields or behaviors to expect. Minimal additional 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?

Single sentence, front-loaded with verb, no redundant words. Efficiently communicates 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 output schema exists and only one required parameter, description is sufficient for a simple lookup tool. No missing critical information.

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 coverage is 100%, but description adds an example code ('44132' for Tokyo), providing practical context beyond the schema definition.

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?

Clear verb ('Get'), specific resource ('AMeDAS station information'), and method ('by station code'). Distinct from sibling tools like get_current_weather or list_stations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search_stations or get_stations_of_type. Usage is implied by parameter but lacks explicit context.

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

get_stations_of_typeB

Get all AMeDAS stations of a specific type.

ParametersJSON Schema
NameRequiredDescriptionDefault
station_typeYesStation type - A (Staffed), B (Special Regional), C (AMeDAS), D (Rain Gauge), E (Snow Depth), F (Regional Rain)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'Get all' with no details on behavior like error handling, data freshness, or what happens with invalid types.

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?

Single sentence with no wasted words. Could be slightly expanded without losing conciseness.

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

Completeness3/5

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

With an output schema present, description is minimally viable but lacks context on AMeDAS and usage hints relative to siblings.

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

Parameters3/5

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

Schema coverage is 100% and parameter description is detailed. The tool description adds 'AMeDAS stations' context but doesn't significantly extend beyond 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?

Description clearly states the action (get all stations) and the filter (specific type), and names the data source (AMeDAS). It differentiates from sibling tools like list_stations and search_nearby_stations.

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?

Implies usage context (filtering by type) but provides no explicit when-to-use or when-not-to-use guidance, nor mentions alternative tools like list_stations for unfiltered lists.

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

get_weather_by_locationA

Get current weather from the nearest AMeDAS station to given coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude in decimal degrees
lonYesLongitude in decimal degrees

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as what happens if no station is nearby, potential caching, rate limits, or side effects. The description only states the basic function.

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 a single, clear sentence that conveys the essential information without clutter. Every word is meaningful and earns its place.

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

Completeness3/5

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

Given the presence of an output schema and well-defined parameters, the description provides the core purpose. However, it lacks usage guidelines and behavioral context for edge cases, leaving some gaps for an agent to fully understand when and how to invoke this tool.

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 already describes lat and lon with 100% coverage, but the description adds context that the tool uses these coordinates to find the nearest AMeDAS station, which explains the parameter purpose beyond the schema. This adds useful meaning.

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 states the verb 'Get', the resource 'current weather', and the method 'from the nearest AMeDAS station to given coordinates'. It effectively distinguishes from sibling tools like get_forecast or get_historical_weather by specifying 'current' and location-based retrieval via coordinates.

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 indicates when to use this tool (i.e., to get current weather from coordinates), but it does not provide guidance on when not to use it versus siblings like get_current_weather or search_nearby_stations. No alternatives or exclusion criteria are given.

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

get_weather_time_seriesB

Get time series weather data for a station.

Useful for analyzing weather trends over hours or days.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNoNumber of hours to fetch (default: 24, max: 168 for ~1 week)
station_codeYesStation code (e.g., '44132' for Tokyo)
interval_minutesNoInterval between data points in minutes (10, 30, or 60)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention whether the operation is read-only, any authentication needs, or rate limits. It only restates information already in the schema.

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 concise, with two short sentences that are front-loaded and contain no unnecessary information.

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

Completeness3/5

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

Given the presence of an output schema, the description does not need to explain return values. However, it lacks usage guidance and behavioral transparency, making it minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for the three parameters.

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

Purpose4/5

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

The description clearly states it retrieves time series weather data for a station, using a specific verb and resource. It is distinguishable from siblings like get_current_weather and get_forecast, though it does not explicitly differentiate.

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 says it is 'useful for analyzing weather trends over hours or days,' which implies when to use it, but it does not provide explicit when-not or alternative tool references.

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

list_prefecturesA

List all available prefecture codes for weather forecast.

Returns: Dictionary of prefecture names and their codes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only states the return type (dictionary of names and codes) but does not disclose behavior such as whether it requires authentication, if the list is static or dynamic, or any side effects. More detail on the return structure or scope would improve transparency.

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?

Two sentences, no fluff. The purpose is stated upfront, and the return format is clearly described in the second sentence. Every word is essential.

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 tool with no parameters and a simple list output, the description is mostly complete. It specifies the output type. However, it could mention whether the list covers all regions or a specific country (implied by 'prefecture', likely Japan). The existence of an output schema helps, so this is not critical.

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 fully covers input. The description adds value by specifying the output format (dictionary of names and codes), which is helpful for understanding what the tool returns. Based on guidelines, baseline is 4 for zero parameters.

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 states the verb 'list' and the resource 'all available prefecture codes for weather forecast'. It is specific and distinguishes from sibling tools which are weather data retrieval and station search.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like getting weather by location or station info. The description does not mention prerequisites, typical workflow, or scenarios where this tool is appropriate.

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

list_stationsA

List all AMeDAS stations (1286 stations) with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of stations to return (default: 100)
offsetNoNumber of stations to skip (default: 0)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It mentions 'with pagination' and the total count, but lacks details on ordering (e.g., sorted by ID or name) or pagination behavior beyond what the schema provides (limit/offset). It does not describe side effects or performance traits.

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 a single, well-structured sentence that conveys the essential purpose without any extraneous words. It is front-loaded with the key action and resource.

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 simple tool and presence of an output schema, the description adequately covers listing with pagination and total count. It could mention default ordering to be fully complete, but overall it covers the core functionality.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, which already defines 'limit' and 'offset' with defaults. No new context about parameter usage or constraints is provided.

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 states the verb 'list', the resource 'all AMeDAS stations', and specifies the total count (1286) and pagination feature. It distinguishes from siblings like 'get_station_info' (single station) and 'search_stations' (search).

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 usage for listing all stations with pagination but provides no explicit guidance on when to use this tool versus siblings like 'search_stations' or 'get_stations_of_type'. No usage exclusions or alternatives are mentioned.

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

search_nearby_stationsA

Search AMeDAS stations within a radius from given coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude in decimal degrees
lonYesLongitude in decimal degrees
radius_kmNoSearch radius in kilometers (default: 50)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided; description lacks information on edge cases like no results, data freshness, or result limitations, leaving agent unaware of behavioral traits.

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?

Single, front-loaded sentence with no extraneous words; highly concise and efficient.

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

Completeness3/5

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

Description is adequate for a simple search tool with output schema present, but does not clarify return format or result details, relying on schema for completeness.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions; description adds no additional semantics beyond what schema already provides.

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?

Clearly specifies verb 'Search', resource 'AMeDAS stations', and scope 'within a radius from given coordinates', effectively distinguishing from sibling tools like list_stations.

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?

Usage is implied by the description, but no explicit guidance on when to use this tool versus alternatives such as search_stations or list_stations.

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

search_stationsB

Search AMeDAS stations by name (Japanese, Kana, or English).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesStation name to search

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It does not mention case sensitivity, wildcard support, substring vs exact match, result limits, pagination, or error responses. The minimal description is insufficient for a tool that interacts with a data source.

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 one short sentence, highly concise. However, it may be too brief given the need for behavioral transparency. Still, it is well-structured and front-loaded.

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

Completeness3/5

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

Given the simple single-parameter schema and presence of an output schema, the description provides the core functionality. However, missing usage guidelines and behavioral traits limit completeness, especially with multiple sibling tools that have overlapping purposes.

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 only parameter 'name' has a schema description 'Station name to search'. The tool description adds value by specifying the acceptable languages (Japanese, Kana, English), which is not captured in the schema. This provides meaningful guidance beyond the 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 states the tool searches AMeDAS stations by name and specifies accepted languages (Japanese, Kana, or English). This distinguishes it from sibling tools like list_stations or search_nearby_stations.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as list_stations, get_station_info, or search_nearby_stations. The description only states what it does, not when it should be preferred.

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. 11 tool updatesv0.2.1
    • Changedget_current_weather2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / station_code / description
        Added value: +"Station code (e.g., '44132' for Tokyo).\n          If not specified, returns data for all stations."
    • Changedget_forecast2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / prefecture / description
        Added value: +"Prefecture name in English (e.g., 'tokyo', 'osaka', 'hokkaido_sapporo')"
    • Changedget_historical_weather3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / station_code / description
        Added value: +"Station code (e.g., '44132' for Tokyo)"
      • addedInput schema / properties / target_datetime / description
        Added value: +"Target datetime in ISO format (e.g., '2025-12-01T12:00:00')\n             or 'YYYY-MM-DD HH:MM' format. Time is in JST."
    • Changedget_station_info2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / code / description
        Added value: +"Station code (e.g., '44132' for Tokyo)"
    • Changedget_stations_of_type2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / station_type / description
        Added value: +"Station type - A (Staffed), B (Special Regional),\n          C (AMeDAS), D (Rain Gauge), E (Snow Depth), F (Regional Rain)"
    • Changedget_weather_by_location3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / lat / description
        Added value: +"Latitude in decimal degrees"
      • addedInput schema / properties / lon / description
        Added value: +"Longitude in decimal degrees"
    • Changedget_weather_time_series4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / hours / description
        Added value: +"Number of hours to fetch (default: 24, max: 168 for ~1 week)"
      • addedInput schema / properties / interval_minutes / description
        Added value: +"Interval between data points in minutes (10, 30, or 60)"
      • addedInput schema / properties / station_code / description
        Added value: +"Station code (e.g., '44132' for Tokyo)"
    • Changedlist_prefectures1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedlist_stations3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of stations to return (default: 100)"
      • addedInput schema / properties / offset / description
        Added value: +"Number of stations to skip (default: 0)"
    • Changedsearch_nearby_stations4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / lat / description
        Added value: +"Latitude in decimal degrees"
      • addedInput schema / properties / lon / description
        Added value: +"Longitude in decimal degrees"
      • addedInput schema / properties / radius_km / description
        Added value: +"Search radius in kilometers (default: 50)"
    • Changedsearch_stations2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / name / description
        Added value: +"Station name to search"
  2. 11 tool updates
    • First observedget_current_weather
    • First observedget_forecast
    • First observedget_historical_weather
    • First observedget_station_info
    • First observedget_stations_of_type
    • First observedget_weather_by_location
    • First observedget_weather_time_series
    • First observedlist_prefectures
    • First observedlist_stations
    • First observedsearch_nearby_stations
    • First observedsearch_stations

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have distinct purposes, but get_current_weather and get_weather_by_location both return current observations, differing only in how the station is specified, which could cause confusion. Similarly, get_historical_weather and get_weather_time_series overlap slightly. Descriptions help clarify, but some ambiguity remains.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., get_current_weather, list_prefectures, search_stations). Verbs are appropriate (get, list, search), and there is no mixing of naming conventions.

Tool Count5/5

With 11 tools, the server covers station information, current weather, forecasts, historical data, and search capabilities. This is well-scoped for a weather data server, neither too many nor too few.

Completeness4/5

The tool surface covers station queries, current weather, forecasts by prefecture, historical data, and time series. Minor gaps include lack of forecast for specific coordinates (only prefecture) and absence of weather alerts/warnings, but core workflows are supported.

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

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/koizumikento/jma-data-mcp'

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