Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 31 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,48 @@
# starts.

# ----------------------------------------------------------------------
# Gemini (pick ONE of the two paths below)
# LLM provider selection
# ----------------------------------------------------------------------
#
# The server talks to an LLM through ``gee_mcp.server.llm.init_llm_client``,
# which picks a provider from these two variables. Both are required for the
# code-generation / analysis tools to work.
#
# LLM_PROVIDER : one of ``google`` | ``anthropic`` | ``openai``
# LLM_NAME : the model id for that provider, e.g.
# google -> gemini-3.1-pro-preview
# anthropic -> claude-opus-4-7
# openai -> gpt-5 (or an o-series reasoning model)
LLM_PROVIDER=google
LLM_NAME=gemini-3.1-pro-preview

# Then set credentials for whichever provider you chose:

# --- google: pick ONE of the two paths below ---
# Path A: Gemini Developer API key.
# GEMINI_API_KEY=
# (``GOOGLE_API_KEY`` is also accepted as a fallback for
# compatibility with Google's official SDK convention.)

#
# Path B — Vertex AI project (requires ``gcloud auth
# application-default login`` to have been run)
# VERTEXAI_PROJECT=your-vertexai-project
# VERTEXAI_LOCATION=global

# --- anthropic ---
# ANTHROPIC_API_KEY=

# --- openai ---
# OPENAI_API_KEY=

# ----------------------------------------------------------------------
# LLM response cache (optional)
# ----------------------------------------------------------------------
#
# ``init_llm_client(cache_dir=...)`` enables an on-disk JSON cache of LLM
# responses (keyed by model + prompt). There is no env var for it yet —
# pass ``cache_dir`` from code if you want it.

# ----------------------------------------------------------------------
# Google Earth Engine
# ----------------------------------------------------------------------
Expand Down
32 changes: 27 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,30 +119,52 @@ Supported Python versions: 3.11–3.14.

## Configuration

You need to configure access to **Gemini** and to **Google Earth
You need to configure access to an **LLM provider** and to **Google Earth
Engine** via environment variables. Copy [`.env.example`](.env.example)
to `.env` and fill in the values; `python-dotenv` is loaded on server
startup.

### Gemini
### LLM provider

Either set an API key:
The server talks to an LLM through a small pluggable layer
(`gee_mcp.server.llm`). Pick a provider and model:

| Variable | Required | Purpose |
| --- | --- | --- |
| `GEMINI_API_KEY` | yes | Gemini API key |
| `LLM_PROVIDER` | yes | One of `google`, `anthropic`, `openai` |
| `LLM_NAME` | yes | Model id for that provider (e.g. `gemini-3.1-pro-preview`, `claude-opus-4-7`, `gpt-5`) |

Then set the credentials for the provider you chose:

**`google`** — either an API key:

| Variable | Required | Purpose |
| --- | --- | --- |
| `GEMINI_API_KEY` | yes | Gemini Developer API key |

`GOOGLE_API_KEY` is also accepted as a fallback for compatibility
with Google's official SDK convention.

…or use a Vertex AI project (after running `gcloud auth
…or a Vertex AI project (after running `gcloud auth
application-default login`):

| Variable | Required | Default | Purpose |
| --- | --- | --- | --- |
| `VERTEXAI_PROJECT` | yes | | GCP project ID for Vertex AI |
| `VERTEXAI_LOCATION` | no | `global` | GCP region for Vertex AI |

**`anthropic`**:

| Variable | Required | Purpose |
| --- | --- | --- |
| `ANTHROPIC_API_KEY` | yes | Anthropic API key |

**`openai`**:

| Variable | Required | Purpose |
| --- | --- | --- |
| `OPENAI_API_KEY` | yes | OpenAI API key |

### Google Earth Engine

| Variable | Required | Purpose |
Expand Down
Loading
Loading