
AccuWeather MCP
io.github.JonJamPublished by GitHub account JonJamv1.4.11Updated Oct 24, 2026
MCP server providing weather tools with data sourced from AccuWeather.
Overview
An MCP server that gives an assistant weather tools backed by AccuWeather data, such as current conditions and forecasts.
- What you can do
- Provides weather tools whose data comes from AccuWeather, so an assistant can look up weather information on request. The README shows an example prompt asking for the current weather in a named place. The manifest does not list the individual tool names or their parameters.
- When to use it
- Worth adding when you want an assistant to answer weather questions using AccuWeather data during a chat. It is a desktop-only local server, so it suits users running an MCP client such as Claude Desktop or Cursor on their own machine.
- Requirements
- Runs locally as a Java process (a jar or the published Docker image) over stdio. Requires an AccuWeather API key supplied as the ACCUWEATHER_API_KEY environment variable, and network access to reach the AccuWeather API.
Installation
In SourceWeft
- Open AccuWeather MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
accuweather-mcp
Setup
- Define the following environment variables in your system
- Define a
application-local.yamlinsrc/main/resources/application.yamlwith the following content:
- If using Cursor, add the following documentation sources:
- Spring AI documentation
- [Wiremock documentation][https://wiremock.org/docs/]
- [Lombok documentation][https://projectlombok.org/features/]
- PIT documentation
- gradle-pitest-plugin documentation
Run
- Run with
SPRING_PROFILES_ACTIVE=local ./gradlew bootRun
Testing
Note: If you enable the Java debugger, it will produce output to standard out which will trigger errors in the stdio MCP protocol.
Unit and integration testing
Unit and integration tests use mockito and wiremock. To run the tests, use:
Mutation testing
This project uses PIT mutation testing via the gradle-pitest-plugin to verify that tests detect injected faults, complementing JaCoCo line coverage.
./gradlew pitest— run mutation tests overcom.jonjam.accuweathermcp.*(excluding DTOs and the bootstrap class).- Open
build/reports/pitest/index.htmlto review results. Surviving mutants indicate code that is executed by tests but where a fault would not be caught.
MCP Inspector
To test with MCP Inspector, run the following from the root of the repo:
This was sourced from this blog.
AI chat (Claude, Cursor)
- Add this configuration to the MCP settings:
If you are using SDKMAN, command should be ~/.sdkman/candidates/java/current/bin/java
This was sourced from the MCP docs.
Example user prompt:
Docker
This project uses the Jib Gradle plugin to build a Docker image.
- Build and load the image into your local Docker daemon:
The default image name is jonjam/accuweather-mcp.
To use the docker image with MCP Inspector, the command looks as follows:
Patterns and practies
More information about patterns and practises for this project can be found in AGENTS.md.
Git
This project uses semantic-release to automate versioning, changelog generation, and publishing.
Important: Commit messages that are intended to trigger a release must be prefixed according to the Conventional Commits standard. For example:
feat: add new forecast endpointfix: correct hourly forecast time calculation
Spotless
This project uses the Spotless Gradle plugin to enforce a consistent Java style.
./gradlew spotlessApply— format sources and fix style issues../gradlew spotlessCheck— verify formatting without changing files.
Checkstyle
Static analysis and broader code-quality checks are handled by Checkstyle using a Google-style-based configuration (with formatting delegated to Spotless):
./gradlew checkstyleMain— run Checkstyle over main sources../gradlew checkstyleTest— run Checkstyle over test sources.
MCP
- Tools Ensure to handle errors (i.e. validation) according to the specification
MCP Registry
This server is published to the MCP Registry.
When using an MCP client that supports the registry (e.g. Cursor, Claude Desktop), you can add io.github.jonjam/accuweather-mcp from the registry and configure your AccuWeather API key as the ACCUWEATHER_API_KEY environment variable.
Future improvements
- Improve error handling in gateway classes based upon AccuWeather status codes
- Add in-memory caching for AccuWeather API calls that caches data according to expires header
- Add ability to specify desired metric (i.e. Celsius or Fahrenheit) in Tools
- End to end integration tests based on Spring AI Examples
Source: README.md at commit 84f01a1
Tools
0Version history
1- v1.4.11LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts