Handle
Connecting…
Back to Workshop
Module 02 ~15 min

Environment Setup

Install Docker, get API keys, clone the repo, and verify everything works before we start building.

Prerequisites

Docker Desktop

Container runtime for all services

API Keys

One Gemini key (free tier works)

Setup Steps

Step 1

Install Docker Desktop

Everything runs in containers. If you don't have Docker Desktop installed, download it from docker.com and install it.

terminal — verify Docker
docker --version
docker compose version

You should see version numbers for both. Docker Compose v2+ is required.

Step 2

Clone the Repository

terminal
git clone https://github.com/your-org/mcp-workshop.git
cd mcp-workshop/mcp-lab03
Step 3

Get an API Key

One key, and its free tier is plenty for a workshop.

Gemini API Key

Free at aistudio.google.com/apikey. We call it through its OpenAI-compatible endpoint, so any OpenAI-format key works too — the provider is bound in .env and nowhere else.

The weather tool needs no key

It uses yr.no (api.met.no) for the forecast and Nominatim for geocoding. Both are free and ask only for an honest User-Agent — which is also the most common reason the tool suddenly stops working.

Step 4

Configure Environment

terminal
cp .env.example .env

Edit .env and add your key:

.env
OPENAI_API_KEY=your-gemini-api-key-here
Step 5

Start the System

terminal
make up

This pulls Docker images, builds the services, and starts everything. First run takes 2-3 minutes.

Step 6

Verify Everything Works

terminal
# Check all services are healthy
make status

# Test the MCP server
make curl-list

# Test the agent
make curl-agent

You should see all services as "healthy" and get a response from the agent. If something's wrong, check make logs for error details.

Success! Open http://localhost:8080 in your browser to see the chat interface. Try asking about the weather!

How was this module?

Your feedback helps us improve the workshop.

Submitting as anonymous

Your handle is sent with this feedback; leave it blank in the header and the submission stays anonymous. Please keep personal data out of the comment too — no name, e-mail address or employer, yours or anyone else's.

Intro Explore the System