A simple Model Context Protocol (MCP) server that provides real-time weather data to AI agents like GitHub Copilot.
Clone the repository:
git clone https://github.com/microsoft/lets-learn-mcp-javascript.git
cd mcp-weather-server
npm install
Test with MCP Inspector:
npx -y @modelcontextprotocol/inspector npx -y tsx main.ts
- Open the
mcp.json
file in.vscode
folder - Click the start server button above line 4
- Open Chat mode and select agent and choose a modal that supports MCPs such as Claude Sonnet
- Type or speak into the chat and ask it what the weather is like in your city
- 🌤️ Real-time weather data for any city
- 🌍 No API key required (uses Open-Meteo)
- 🤖 Works with GitHub Copilot and other MCP-compatible AI tools
- ⚡ Easy to test with MCP Inspector
Ask GitHub Copilot:
- "What's the weather like in Tokyo?"
- "How's the weather in London today?"
- "Give me the current weather for Paris"
The server provides a get-weather
tool that:
- Converts city names to coordinates using geocoding
- Fetches current weather data from Open-Meteo API
- Returns structured data that AI agents can format beautifully
// Creates MCP server with weather tool
const server = new McpServer({
name: "Weather Server",
version: "1.0.0"
});
// Defines the get-weather tool
server.tool('get-weather', 'Tool to get the weather of a city', ...);
// Connects via stdio transport
const transport = new StdioServerTransport();
server.connect(transport);
@modelcontextprotocol/sdk
- MCP server frameworkzod
- Schema validationtsx
- TypeScript execution (for development)
- Open-Meteo - Free weather API with no authentication required