Weather API MCP Server
About
A lightweight Model Context Protocol (MCP) server that enables AI assistants like Claude to retrieve and interpret real-time weather data. Discuss on Hacker News:
Details
- License
- MIT license
Explore
- Real‑time weather data retrieval via the current_weather tool
- Local (stdio) and remote (SSE) transport modes
- Docker container support for easy deployment
- Built with Go – lightweight and cross‑platform
- Open‑source under the MIT License
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Weather API MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To use your MCP server with Claude Desktop, add it to your Claude configuration:
go install go.uber.org/mock/mockgen@latest
See the installation guide on go.uber.org/mock.
get-alerts
Get weather alerts for a US state
get-forecast
Get weather forecast for a location in the US
- current_weather - Gets the current weather for a city
- city: The name of the city (string, required)
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"weather api mcp server": {
"weather-mcp-server": {
"command": "docker",
"args": [
"build",
"-t",
"weather-mcp-server",
"."
]
}
}
}
}
McpServers
{
"weather-mcp-server": {
"command": "docker",
"args": [
"build",
"-t",
"weather-mcp-server",
"."
]
}
}
<div align="center">
<h1>Weather API MCP Server</h1>
<strong>Report Bug</strong> | <strong>Request Feature</strong>
</div>
A lightweight Model Context Protocol (MCP) server that enables AI assistants like Claude to retrieve and interpret real-time weather data.
<div align="center">

</div>
Installing on Claude Desktop
To use your MCP server with Claude Desktop, add it to your Claude configuration:
1. Local mode
{
"mcpServers": {
"weather-mcp-server": {
"command": "/path/to/weather-mcp-server",
"env": {
"WEATHER_API_KEY": "your-api-key"
}
}
}
}
You can get an API key from your personal account on WeatherAPI.
2. Remote mode
{
"mcpServers": {
"weather-mcp-server": {
"url": "http://host:port/sse"
}
}
}
Build from source
You can use go to build the binary in the cmd/github-mcp-server directory.
go build -o weather-mcp-server ./cmd/weather-mcp-server
Using MCP with Docker Containers
1. Build the Docker Image:
docker build -t weather-mcp-server .
2. Run the Docker Container:
docker run -e WEATHER_API_KEY=your-api-key -d --name weather-mcp-server -p 8000:8000 weather-mcp-server
Replace your-api-key with your actual WeatherAPI API key.
Tools
- current_weather - Gets the current weather for a city
- city: The name of the city (string, required)
Project Structure
The project is organized into several key directories:
├── cmd
│ └── weather-mcp-server
├── internal
│ └── server
│ ├── handlers # MCP handlers
│ ├── services # Business logic layer
│ │ ├── core # Core application logic
│ │ └── mock # Mock services for testing
│ ├── tools # MCP tools
│ └── view # Templates for displaying messages
└── pkg
Testing
If you're adding new features, please make sure to include tests for them.
1. Install the mockgen tool:
go install go.uber.org/mock/mockgen@latest
See the installation guide on go.uber.org/mock.
2. Use the following command to generate mock files:
make generate-mocks
3. To run unit tests:
make run-tests
Contributing
Feel free to open tickets or send pull requests with improvements. Thanks in advance for your help!
Please follow the contribution guidelines.
License
This MCP server is licensed under the MIT License.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



