weather-mcp-rust 0.2.0

A simple weather forecaster over MCP
weather-mcp-rust-0.2.0 is not a library.

weather-rust

A simple, containerized Rust web server for fetching weather information, designed for deployment on Google Cloud Run.

Overview

This project provides a basic "Hello, World!" style web application written in Rust. It serves as a template and example for building and deploying a minimal, secure, and efficient Rust application on Google Cloud Run using Docker and Google Cloud Build.

Technologies Used

Getting Started

A Makefile is included to simplify common development tasks.

Prerequisites

Before you begin, ensure you have the following installed:

Initial Setup

Clone the repository and install the necessary dependencies:

cargo build

Development Workflow

The following commands are available through the Makefile.

Building the Project

  • Development Build:
    make build
    
  • Release Build (optimized for production):
    make release
    

Running Locally

To start the server on http://localhost:8080:

make run

Code Quality

  • Format the code:
    make format
    
  • Lint the code with Clippy:
    make clippy
    

Testing

Run the test suite:

make test

Deployment

Deployment is automated via Google Cloud Build, as defined in cloudbuild.yaml. The process uses a multi-stage Dockerfile to build a minimal, secure production image based on gcr.io/distroless/cc-debian12.

To manually trigger a deployment, run:

make deploy

This command will:

  1. Submit a build to Google Cloud Build.
  2. Build and push the Docker image to Google Container Registry (GCR).
  3. Deploy the new image to the cloudrun-rust service in the us-central1 region.