MCP Weather

A server for fetching weather information using the OpenWeather API.

MCP Weather - Claude Desktop Integration

This project is an example MCP (Model Context Protocol) server designed for use with the Claude Desktop application. It is built to work seamlessly with Claude Desktop.

Features

  • TypeScript-based MCP server
  • Weather query via OpenWeather API
  • Easy integration with Claude Desktop

Project Structure

.
├── package.json
├── tsconfig.json
├── src/
│   └── index.ts
├── claude_desktop_config.json

Installation

Requirements

Setup

  1. Clone the repository:
    git clone <repository-url>
    cd mcp-weather
    
  2. Install dependencies:
    npm install
    
  3. Create a .env file and fill it as follows:
    WEATHER_API_URL=https://api.weatherapi.com/v1/current.json
    WEATHER_API_KEY=<your_API_KEY>
    

Claude Desktop Integration

  1. In Claude Desktop, go to File -> Settings -> Developer -> Edit Config.

  2. Add a block similar to the example below to the config file (edit the file paths to match your own system):

    {
      "mcpServers": {
        "weather": {
          "command": "npx",
          "args": ["tsx", "C:/your/path/mcp-weather/src/index.ts"],
          "cwd": "C:/your/path/mcp-weather"
        }
      }
    }
    

    Note: Replace C:/your/path/ with the actual path to your project on your computer.

  3. Save the settings and restart Claude Desktop.

.env File and Path Setting

In src/index.ts, the path to the .env file is set to the project root by default:

import dotenv from "dotenv";
dotenv.config({
  // Path to your .env file. Edit as needed, e.g.: path: "C:/your/path/.env"
  path: ".env", // By default, uses the .env file in the project root
});

If your .env file is in a different directory, update the path parameter accordingly.

Usage

To start the project:

npm start

Or to run the main file directly:

npx ts-node src/index.ts

Build

To compile the TypeScript code:

npm run build

Contributing

Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.

License

MIT License

Related Servers