Weather MCP Server
Enables users to get current weather conditions and forecasts for any city through OpenWeatherMap API integration. Designed as a sample MCP server for the Puch AI Hackathon with basic weather querying capabilities.
README
Weather MCP Server
This is a sample MCP (Messaging and Compute Platform) server for a weather application, designed for the Puch AI Hackathon. It provides a basic structure for integrating with a weather API and includes the required validate and resume endpoints.
Prerequisites
Before you begin, ensure you have the following installed:
- Python 3.9+
- Docker (for containerized deployment)
- An API key from a weather service provider like OpenWeatherMap.
Getting Started
Follow these steps to get the project up and running on your local machine.
1. Clone the repository
git clone <repository_url>
cd weather_mcp
2. Set up environment variables
The application requires a WEATHER_API_KEY to be set as an environment variable.
On macOS/Linux:
export WEATHER_API_KEY='your_weather_api_key'
export MY_NUMBER='919876543210'
On Windows:
$env:WEATHER_API_KEY='your_weather_api_key'
$env:MY_NUMBER='919876543210'
Alternatively, you can create a .env file in the root of the project and add the following lines. The .gitignore file is already configured to ignore this file.
WEATHER_API_KEY='your_weather_api_key'
MY_NUMBER='919876543210'
Note: The current app.py does not automatically load .env files. You would need to add a library like python-dotenv for that. Also, make sure to replace 919876543210 with your actual phone number in the required format.
3. Install dependencies
It's recommended to use a virtual environment.
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
pip install -r requirements.txt
4. Run the application
flask run
The server will start on http://127.0.0.1:5000.
Deployment to Render
This project is ready to be deployed to Render using Docker.
- Push your code to a GitHub repository.
- Create a new "Web Service" on Render and connect it to your GitHub repository.
- Choose the "Docker" environment. Render will automatically detect the
Dockerfile. - Add your
WEATHER_API_KEYas an environment variable in the Render dashboard. - Deploy! Render will build and deploy your application. You will get a public URL for your service.
API Endpoints
All endpoints are prefixed with /mcp.
/mcp
- Method:
GET - Description: A simple endpoint to check if the server is running.
- Response:
{ "message": "Welcome to the Weather MCP server!" }
/mcp/get_current_weather
- Method:
POST - Description: Gets the current weather for a city.
- Request Body:
{ "city": "London" } - Response: The JSON response from the OpenWeatherMap API.
/mcp/get_weather_forecast
- Method:
POST - Description: Gets the weather forecast for a city.
- Request Body:
{ "city": "Paris", "days": 3 } - Response: The JSON response from the OpenWeatherMap API.
/mcp/validate
- Method:
POST - Description: A placeholder for the hackathon's
validateendpoint. - Request Body:
{ "phone_number": "1234567890", "resume_summary": "A brief summary of a resume." }
/mcp/resume
- Method:
POST - Description: A placeholder for the hackathon's
resumeendpoint. - Request Body: (Currently none)
Connecting to Puch AI
Once deployed, you should be able to connect your MCP server to Puch AI using the command mentioned in the hackathon instructions. It will likely be something like this, executed in WhatsApp:
/mcp connect <your_render_url>/mcp <your_auth_token>
Make sure to replace <your_render_url> with the URL provided by Render and <your_auth_token> with the token provided by the hackathon organizers. Always refer to the official hackathon documentation for the exact command and procedure.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.