🌤️ FastMCP Weather Server

by abhilashsahoo

292 downloads
Not rated
GitHub

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

- 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:
``powershell
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.