-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Required prerequisites
- I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
- Consider asking first in a Discussion.
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:
- Added
EarthScienceToolkit.py: This file contains over 100 Earth Science analysis tools from the Earth-Agent paper. - Modified
__init__.py: I updated the__init__.pyfile in the toolkit directory to include theEarthScienceToolkitclass.
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!