Skip to main content
Glama
semdin

MCP Weather

by semdin
README.md
# 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

- Node.js (v16 or higher)
- npm
- Claude Desktop (https://desktop.anthropic.com/)

### Setup

1. Clone the repository:
   ```sh
   git clone <repository-url>
   cd mcp-weather
   ```
2. Install dependencies:
   ```sh
   npm install
   ```
3. Create a `.env` file and fill it as follows:
   ```env
   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):

   ```json
   {
     "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:

```typescript
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:

```sh
npm start
```

Or to run the main file directly:

```sh
npx ts-node src/index.ts
```

## Build

To compile the TypeScript code:

```sh
npm run build
```

## Contributing

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

## License

MIT License