Skip to main content
Glama
VISHAL-MK

MCP Weather Server

by VISHAL-MK
README.md
# MCP Weather Server

A simple MCP (Model Context Protocol) server built during an Agentic AI Internship. This server demonstrates how MCP can be used to provide tools, resources, and prompts to AI applications.

## Features

MCP servers can provide the following functionalities:

### Resources

File-like data that can be read by clients, such as API responses or file contents.

### Tools

Functions that can be called by Large Language Models (LLMs) with user approval.

### Prompts

Pre-written templates that help users accomplish specific tasks efficiently.

## Requirements

* Python 3.10 or higher
* uv package manager
* Python MCP SDK 1.2.0 or higher
* httpx

## Project Setup

### 1. Install uv

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

### 2. Initialize the Project

```bash
uv init .
```

### 3. Install Dependencies

```bash
uv add "mcp[cli]" httpx
```

### 4. Create the Server File

Create a file named `weather.py` and add the MCP server implementation.

### 5. Run the Server

```bash
uv run weather.py
```

## Project Structure

```text
.
├── weather.py
├── pyproject.toml
├── uv.lock
├── README.md
└── .gitignore
```

## Learning Outcomes

* Understanding MCP architecture
* Building custom MCP tools
* Integrating APIs using Python
* Running MCP servers with uv
* Working with Agentic AI applications

## Author

Vishal M K
B.E. CSE (AI & ML)

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no ambiguity. The tool name and description clearly convey its purpose.

Naming Consistency5/5

The single tool uses a clear verb_noun pattern (get_alerts), which is consistent and appropriate.

Tool Count2/5

One tool is significantly fewer than expected for a weather server, which typically includes forecasts, current conditions, and other weather data. The server seems under-scoped.

Completeness2/5

The server only provides alerts for US states, missing core weather functionalities like forecasts, current conditions, or radar. This is a severe gap for a weather server.

Maintenance

ActivityInactive
ResponsivenessNo issues