66
77An [ MCP] ( https://modelcontextprotocol.io/ ) server that exposes
88[ Google Earth Engine] ( https://earthengine.google.com/ ) (GEE) as a set
9- of MCP tools — dataset discovery, metadata extraction, analysis
9+ of MCP tools covering dataset discovery, metadata extraction, analysis
1010primitives, and AI-assisted GEE Python code generation.
1111
1212## Tools
1313
1414The server registers the following MCP tools, grouped by purpose.
1515
1616### Catalogue & Metadata
17- - ` list_datasets ` — list all available Google Earth Engine datasets.
18- - ` get_dataset_info ` — get detailed Markdown information about a GEE
17+ - ` list_datasets ` : list all available Google Earth Engine datasets.
18+ - ` get_dataset_info ` : get detailed Markdown information about a GEE
1919 dataset.
20- - ` get_dataset_metadata ` — get structured STAC metadata (bands,
20+ - ` get_dataset_metadata ` : get structured STAC metadata (bands,
2121 temporal interval, etc.) for a dataset.
22- - ` check_imagery_availability ` — check imagery availability for a
22+ - ` check_imagery_availability ` : check imagery availability for a
2323 dataset within a date range and optional bounding box.
24- - ` extract_metadata ` — extract structured metadata (bands, pixel
24+ - ` extract_metadata ` : extract structured metadata (bands, pixel
2525 size, availability, cadence) from a dataset page.
26- - ` analyze_metadata ` — use Gemini to analyse a dataset description
26+ - ` analyze_metadata ` : use Gemini to analyse a dataset description
2727 and extract structured metadata.
2828
2929### Analysis & Data Processing
30- - ` download_satellite_image ` — download satellite images from GEE.
31- - ` compute_index ` — compute a spectral index (NDVI, NDWI, …) or a
30+ - ` download_satellite_image ` : download satellite images from GEE.
31+ - ` compute_index ` : compute a spectral index (NDVI, NDWI, …) or a
3232 custom band-math expression over a region.
33- - ` zonal_statistics ` — compute summary statistics (mean, median,
33+ - ` zonal_statistics ` : compute summary statistics (mean, median,
3434 min, …) for bands or an index within a region.
35- - ` temporal_composite ` — create cloud-free temporal composites
35+ - ` temporal_composite ` : create cloud-free temporal composites
3636 (median, mosaic, greenest, most recent).
37- - ` mask_by_raster ` — apply a value-range mask (DEM, land cover, …)
37+ - ` mask_by_raster ` : apply a value-range mask (DEM, land cover, …)
3838 to imagery and compute statistics.
39- - ` threshold_area ` — compute the area of pixels meeting a threshold
39+ - ` threshold_area ` : compute the area of pixels meeting a threshold
4040 condition on a band, index, or expression.
41- - ` multi_period_analysis ` — run the same analysis across multiple
41+ - ` multi_period_analysis ` : run the same analysis across multiple
4242 date ranges for temporal comparisons.
43- - ` execute_gee_python ` — execute a provided GEE Python script and
43+ - ` execute_gee_python ` : execute a provided GEE Python script and
4444 return the result.
4545
4646### AI Code Generation & Validation
47- - ` generate_python_from_question ` — answer an Earth Observation
47+ - ` generate_python_from_question ` : answer an Earth Observation
4848 question by generating GEE Python code with iterative error fixing.
49- - ` generate_abstract_graph_from_question ` — generate an abstract
49+ - ` generate_abstract_graph_from_question ` : generate an abstract
5050 Mermaid graph describing an EO pipeline that solves a question.
51- - ` generate_python_from_reasoning_steps ` — generate GEE Python code
51+ - ` generate_python_from_reasoning_steps ` : generate GEE Python code
5252 from a provided set of reasoning steps.
53- - ` generate_python_from_abstract_graph ` — generate GEE Python code
53+ - ` generate_python_from_abstract_graph ` : generate GEE Python code
5454 from a provided Mermaid graph.
55- - ` get_datasets_locations_and_periods ` — determine the GEE datasets,
55+ - ` get_datasets_locations_and_periods ` : determine the GEE datasets,
5656 time periods, and AOIs required to answer a question.
57- - ` extract_factuality_issues ` — analyse a GEE Python script and
57+ - ` extract_factuality_issues ` : analyse a GEE Python script and
5858 surface scientific assumptions worth verifying.
59- - ` assess_factuality_issue ` — produce an expert-style assessment of
59+ - ` assess_factuality_issue ` : produce an expert-style assessment of
6060 a factuality issue, with optional code-fix recommendations.
61- - ` identify_sensible_variables ` — identify variables and constants
61+ - ` identify_sensible_variables ` : identify variables and constants
6262 in the code whose values might affect the final result.
63- - ` sensitivity_analysis ` — perform sensitivity analysis by tweaking
63+ - ` sensitivity_analysis ` : perform sensitivity analysis by tweaking
6464 variable values and plotting the impact on the final result.
6565
6666## Example tool invocation
@@ -82,10 +82,10 @@ A JSON-RPC call to `generate_python_from_question` looks like:
8282
8383The response includes:
8484
85- - ` python_code ` — the generated GEE Python code,
86- - ` python_code_explanation ` — an explanation of the code,
87- - ` python_code_fix_history ` — the iterative fixes attempted,
88- - ` python_code_result ` — the result of executing the code.
85+ - ` python_code ` : the generated GEE Python code,
86+ - ` python_code_explanation ` : an explanation of the code,
87+ - ` python_code_fix_history ` : the iterative fixes attempted,
88+ - ` python_code_result ` : the result of executing the code.
8989
9090The generated code defines ` gee_main() ` returning ` (result_xml, Map) ` ,
9191where ` result_xml ` follows a `<RESULT ><VARIABLE_NAME>...
@@ -124,7 +124,7 @@ application-default login`):
124124
125125| Variable | Required | Default | Purpose |
126126| --- | --- | --- | --- |
127- | ` VERTEXAI_PROJECT ` | yes | — | GCP project ID for Vertex AI |
127+ | ` VERTEXAI_PROJECT ` | yes | | GCP project ID for Vertex AI |
128128| ` VERTEXAI_LOCATION ` | no | ` global ` | GCP region for Vertex AI |
129129
130130### Google Earth Engine
@@ -206,7 +206,7 @@ Originally created by [Raúl Ramos](https://github.com/rramosp).
206206
207207## License
208208
209- MIT — see [ LICENSE] ( LICENSE ) .
209+ MIT licensed. See [ LICENSE] ( LICENSE ) for the full text .
210210
211211## Copyright
212212
0 commit comments