🌤️ FastMCP Weather Server
About
A production-ready weather MCP server built with FastMCP and TypeScript for Claude Desktop, VS Code, and Cursor integration.
Details
- Author
- abhilashsahoo
- Downloads
- 292
- Categories
- Media
Jump to
- Real-time weather data for any city worldwide
- Built with TypeScript and Zod validation
- Supports Claude Desktop, VS Code, and Cursor
- Progress reporting and structured logging
- Fast development: 5x faster than traditional MCP SDK
- Built-in CLI tools for testing and debugging
Install with Node.js 20.18.1+, clone the repo, run npm install, create a .env file with your OpenWeatherMap API key, then use npm run dev for interactive CLI testing or configure the server in your MCP client (Claude Desktop, VS Code, or Cursor) using the provided JSON configuration.
🌤️ FastMCP Weather Server
A production-ready weather MCP server built with FastMCP and TypeScript that integrates seamlessly with Claude Desktop, VS Code, and Cursor.✨ Features
- 🌍 Real-time Weather Data - Get current weather for any city worldwide - 🔒 Type-Safe - Built with TypeScript and Zod validation - 📊 Progress Reporting - Built-in progress tracking for weather requests - 📝 Structured Logging - Comprehensive logging with context - 🛠️ Easy Testing - Built-in CLI tools for development and debugging - 🔌 Universal Integration - Works with Claude Desktop, VS Code, and Cursor - ⚡ Fast Development - 5x faster than traditional MCP SDK🚀 Quick Start
Prerequisites
- Node.js 20.18.1 or higher (critical requirement) - OpenWeatherMap API key (free tier: 1,000 calls/day)Installation
``bash
git clone https://github.com/abhilashsahoo/fastmcp-weather-server.git
cd fastmcp-weather-server
npm install
`
Setup
1. Get your OpenWeatherMap API key:
- Sign up at openweathermap.org/api
- Copy your API key from the dashboard
2. Create environment file:
`bash
cp .env.example .env
`
3. Add your API key to .env:
`
OPENWEATHER_API_KEY=your_api_key_here
`
Development
Test your server:
`bash
npm run dev
`
Try the interactive CLI:
`
get_weather {"city": "London"}
`
Debug with visual interface:
`bash
npm run inspect
`
Build for production:
`bash
npm run build
`
🔧 MCP Client Integration
Claude Desktop
1. Find your config file:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
2. Add this configuration:
`json
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/fastmcp-weather-server/src/server.ts"],
"env": {
"OPENWEATHER_API_KEY": "your_actual_api_key_here"
}
}
}
}
`
3. Restart Claude Desktop and test:
`
What's the weather like in Tokyo?
`
VS Code
1. Install the MCP extension
2. Create .vscode/settings.json:
`json
{
"mcp.servers": {
"weather": {
"command": "npx",
"args": ["tsx", "./src/server.ts"],
"cwd": "${workspaceFolder}",
"env": {
"OPENWEATHER_API_KEY": "your_actual_api_key_here"
}
}
}
}
`
Cursor IDE
1. Create .cursor/mcp.json:
`json
{
"servers": {
"weather": {
"command": "npx",
"args": ["tsx", "./src/server.ts"],
"env": {
"OPENWEATHER_API_KEY": "your_actual_api_key_here"
}
}
}
}
`
📋 Available Scripts
| Script | Description |
|--------|-------------|
| npm run dev | Start FastMCP development server with CLI |
| npm run inspect | Open visual debugging interface |
| npm run test-direct | Test server directly without CLI |
| npm run build | Compile TypeScript to JavaScript |
| npm start | Run compiled server |
🛠️ API Reference
Tools
get_weather
Get current weather information for any city worldwide.
Parameters:
- city (string, required): City name (e.g., "London", "New York")
Returns:
- Formatted weather data with temperature, conditions, humidity, and wind speed
Example:
`json
{
"city": "London"
}
`
Response:
`
🌤️ Weather in London:
🌡️ Temperature: 15°C (feels like 13°C)
☁️ Conditions: partly cloudy
💧 Humidity: 65%
💨 Wind Speed: 3.2 m/s
`
🐛 Troubleshooting
Common Issues
| Issue | Solution |
|-------|----------|
| Node.js version error | Update to Node.js 20.18.1+: winget upgrade OpenJS.NodeJS |
| Server not found | Check absolute path in MCP client configuration |
| API key errors | Verify API key in .env and MCP client env section |
| Module resolution errors | Delete node_modules and run npm install |
| FastMCP CLI issues | Try npm run test-direct to test without CLI |
Windows-Specific
Update Node.js via PowerShell:
``powershellSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
