get_weather_overviewLABSCO SUMMARY
Pick the local build unless you need remote.
The README's own comparison is the right guide: local is fast, private and needs no authentication, while remote adds OAuth and the scalability of Workers. Most people asking about tomorrow's rain want the local build. If you do go remote, expect token expiry to be the usual failure, with a script provided to refresh it.
What it is
An MCP server for Japanese weather built on the Japan Meteorological Agency's forecast API. Three tools split the forecast into the parts people actually ask for, and the same server ships in two shapes: a local stdio build and a remote Cloudflare Workers deployment with OAuth 2.0.
What you get
- The forecast overview for a city — announcement time, the summary text, and today, tomorrow and the day after —
get_weather_overview - Precipitation probability split into time bands across the day, for the same three days —
get_precipitation_probability - Wind direction and speed for those days —
get_wind_speed - Coverage across Japan's prefectural capitals, from Sapporo to Naha
- Two deployments from one codebase:
npm run build:localfor a local stdio server that needs no authentication, or the Workers build with OAuth for remote use
Requirements
For the local server: Node with npm install and npm run build:local, then point the client at dist/server/local/index.js. Nothing to authorize on that path. For the remote server: a Cloudflare Workers deployment and an OAuth access token, obtained with the bundled node src/utils/get-token.cjs and refreshed with node src/utils/update-token.cjs, or supplied as MCP_WEATHER_TOKEN; the client then launches the remote client script. A debug client build is documented for when the remote path misbehaves.
Setup effort
Build from source — git clone https://github.com/Takatoshi-Miura/MCP-Weather
USE CASES
Checking whether to take an umbrella
Ask for the rain probability by time band rather than reading a whole forecast.
Getting tomorrow's outlook for a city
Read the summary text and the three-day forecast in one call.
Planning around wind
Pull the wind direction and speed for the days you care about.
Sharing one server across devices
Deploy the Workers build and connect over OAuth instead of installing locally on each machine.
3 tools
Listed in project docs. Your client may show a different list.
get_precipitation_probabilityget_wind_speedBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
Node.js and npm
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Takatoshi-Miura/MCP-Weather
cd MCP-Weather
npm install
npm run build:localMCP Clients
Cursor — local
{
"mcpServers": {
"mcp-weather-local": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_WEATHER>/dist/server/local/index.js"
]
}
}
}<YOUR_PATH_TO_MCP_WEATHER> is the full path of the folder the git clone above created. dist/server/local/index.js is there once npm run build:local has run. No sign-in on this route.
Cursor — remote
In your clone, fetch the OAuth access token first — it expires, and running the same script again refreshes it:
node src/utils/update-token.cjsThen add this to Cursor's mcp.json; <YOUR_PATH_TO_MCP_WEATHER> is the full path of your clone:
{
"mcpServers": {
"mcp-weather-remote": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_WEATHER>/src/client/mcp-weather-remote.cjs"
]
}
}
}