A lightweight, MCP-powered weather API service using uv for Python dependency management and Docker for containerized deployment. Built for seamless local development, Claude Desktop integration, and scalable deployment.
🚀 Features
- 🧪 Fast local dev with live reload using
uvandmcp - 🐳 Dockerized for production or staging environments
- 🧠 Claude Desktop integration-ready
- 🔐 Loads secrets securely from
.envor environment variables
⚙️ Running Your Server
🧪 Development Mode (with MCP Inspector)
Start your server in development mode with hot reloading:
uv run mcp dev server.py
Add dependencies on-the-fly:
uv run mcp dev server.py --with pandas --with numpy
Mount your local code as editable:
uv run mcp dev server.py --with-editable .
🧠 Claude Desktop Integration
Install your server to Claude Desktop:
uv run mcp install server.py
Custom name:
uv run mcp install server.py --name "My Analytics Server"
Inject environment variables:
uv run mcp install server.py -v API_KEY=abc123 -v DB_URL=postgres://...
uv run mcp install server.py -f .env
🔧 Direct Execution
For more control or advanced deployments:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("My App")
if __name__ == "__main__":
mcp.run()
Run it manually:
uv run python server.py
# or
uv run mcp run server.py
🐳 Docker Support
🔨 Build Image
docker build -t weather-service .
▶️ Run Container
docker run --env-file .env -p 6274:6274 weather-service
📁 Project Structure
.
├── server.py
├── .env
├── pyproject.toml
├── uv.lock
├── Dockerfile
└── README.md
🔒 Environment Variables
Create a .env file:
API_KEY=your_api_key_here
DB_URL=your_database_url_here
📦 Dependency Management
Use uv to manage and sync dependencies:
uv pip install mcp
uv pip install pandas numpy
uv sync # sync dependencies based on uv.lock
📃 License
MIT License – use freely, modify responsibly.