Skip to content

[Feature Request] Add 100+ Earth Science Tools to enhance the Camel tool system #3344

@Peilin-FF

Description

@Peilin-FF

Required prerequisites

Motivation

Recently we introduced the Earth-Agent framework in the paper titled "Earth-Agent: Unlocking the Full Landscape of Earth Observation with Agents" (https://arxiv.org/pdf/2509.23141). This paper introduces the first Agent framework for the Earth Observation domain and has developed over 100 Earth Science-specific tools based on the MCP. We have defined these tools according to Camel's MCP specification and integrated them into the Camel repository, which is well-known within the community. We hope to enhance the Camel tool system and foster the development of Earth-Agent within the Camel community :)

Solution

Overview

I have made the following changes to the Camel toolkit:

  1. Added EarthScienceToolkit.py: This file contains over 100 Earth Science analysis tools from the Earth-Agent paper.
  2. Modified __init__.py: I updated the __init__.py file in the toolkit directory to include the EarthScienceToolkit class.

Preliminary Test

I have tested the changes, and all the tools can be successfully exported. Below is a test code that verifies the integration:

from camel.toolkits import EarthScienceToolkit
from camel.toolkits import FunctionTool
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType, ModelType

## Test EarthScienceToolkit
toolkit = EarthScienceToolkit()
tools = toolkit.get_tools()
print(tools)

calculate_batch_ndvi = FunctionTool(EarthScienceToolkit().calculate_batch_ndvi)
skewness = FunctionTool(EarthScienceToolkit().skewness)
print(calculate_batch_ndvi)
print(skewness)
## -> Test Result:
# <camel.toolkits.function_tool.FunctionTool object at 0x7f29adaaba90>
# <camel.toolkits.function_tool.FunctionTool object at 0x7f29ad71b5b0>

Alternatives

No response

Additional context

Notes:

(1)EarthScienceToolkit requires the following environment to be installed:

apt-get install gdal-bin libgdal-dev
apt-get install --only-upgrade libgdal-dev
conda install gdal=3.4.1 -c conda-forge
pip install opencv-python
pip install rasterio==1.4.3
pip install ruptures
pip install scikit-image
pip install statsmodels

(2) I have only tested the compatibility of the tools with the system. Full testing under LLM runtime has not been conducted yet. Feel free to reach out if you encounter any issues or have further questions!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions