A lightweight Model Context Protocol (MCP) server that enables AI assistants like Claude to retrieve and interpret real-time weather data.
To use your MCP server with Claude Desktop, add it to your Claude configuration:
{
"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.
{
"mcpServers": {
"weather-mcp-server": {
"url": "http://host:port/sse"
}
}
}You can use go to build the binary in the cmd/github-mcp-server directory.
go build -o weather-mcp-server ./cmd/weather-mcp-serverdocker build -t weather-mcp-server .docker run -e WEATHER_API_KEY=your-api-key -d --name weather-mcp-server -p 8000:8000 weather-mcp-serverReplace your-api-key with your actual WeatherAPI API key.
-
current_weather - Gets the current weather for a city
city: The name of the city (string, required)
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
└── pkgIf you're adding new features, please make sure to include tests for them.
go install go.uber.org/mock/mockgen@latestSee the installation guide on go.uber.org/mock.
make generate-mocksmake run-testsFeel free to open tickets or send pull requests with improvements. Thanks in advance for your help!
Please follow the
This MCP server is licensed under the