Sentinel-1 PSETAE的MCP服务器
使用模型上下文协议(MCP)来编排Sentinel-1 PSETAE作物分类工作流的多代理系统实现。
概述
该存储库实现了一个模型上下文协议(MCP)服务器,该服务器协调多个AI代理执行PSETAE(带时间注意力编码器的像素集编码器)工作流,用于使用Sentinel-1卫星图像进行作物分类。该系统与谷歌地球引擎(GEE)集成用于数据提取,并利用现有的PSETAE代码库进行模型训练和推理。此实现专门关注Sentinel-1数据,以便在扩展到其他数据源之前建立稳定的基线。
特性
- 多代理架构:具有管理员和专业Worker代理的分层代理结构
- 工作流程编排:从数据提取到推理的PSETAE任务的端到端自动化
- GEE整合:与谷歌地球引擎无缝交互,用于卫星数据检索
- 模块化设计:代理封装了PSETAE管道的特定功能
- 中央知识库:通过MCP数据库共享上下文和内存
系统架构
代理结构
- 管理代理:协调工作流程并委派任务
- 工人代理人:
- Sentinel1数据提取代理:处理Sentinel-1的GEE数据检索和处理 - Sentinel1Model训练代理:管理Sentinel-1的模型训练和超参数调优 - Sentinel1推理剂:将Sentinel-1模型应用于新数据 - Sentinel1ileCoverageAgent:分析研究区域的卫星瓦片覆盖情况 - Sentinel1文档代理:根据训练的PSETAE模型的结果准备报告。
安装
- 克隆此存储库:
git clone https://github.com/yourusername/mcp_server_psetae.git
cd mcp_server_psetae- 安装依赖项:
pip install -r requirements.txt- 设置Google Earth引擎身份验证:
earthengine authenticate用法
启动MCP服务器
python server/server.py --port 8080 --project-dir /path/to/project正在初始化管理代理
# First, retrieve the admin token from the database
# Then initialize the admin agent with:
# "Initialize as an admin agent with this token: [admin-token] Please add the MCD.md file to the project context. Don't summarize it."创建工人代理
工作代理是通过管理代理创建的:
- 要求管理员代理创建一个worker(例如,“创建一个ID为‘数据提取worker’的worker代理”)
- 管理员将提供一个worker令牌
- 使用提供的令牌初始化worker
工作流示例
- 项目初始化:
- 定义研究区域、时间段和卫星数据源
- 数据提取:
- 使用谷歌地球引擎提取HLS或Sentinel数据 - 处理和规范化卫星图像
- 模型训练:
- 用提取的数据训练PSETAE模型 - 调整超参数以获得最佳性能
- 推断:
- 将训练好的模型应用于新数据 - 生成作物分类图
- 覆盖率分析:
- 分析研究区域的卫星瓦片覆盖范围 - 生成覆盖率报告
目录结构
mcp_server_psetae/
├── server/ # MCP server implementation
├── agents/ # Agent implementations
├── utils/ # Utility functions
├── config/ # Configuration files
├── docs/ # Documentation
└── tests/ # Test scripts贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- 隆德大学Shivaprakash Yaragal的PSETAE代码库
- rinadelph代理MCP框架
- Python API的谷歌地球引擎团队
