GEMS交换MCP服务器
模型上下文协议(MCP)服务器,提供对农业、环境和气候数据的GEMS交换API的访问。该服务器使AI助手能够查询全面的数据集进行研究和分析。
概述
GEMS Exchange是一个用于农业食品应用的可互操作流数据服务组合,涵盖遗传学×环境×管理×社会经济数据领域。API提供空间和时间明确的数据集,重点关注地理空间和时间属性。
API服务层次结构
1. Peddools API (/pedtools/v1)
植物育种和品种信息工具
- 品种:获取具有谱系信息的匹配植物品种
- GET /{variety} -获取与名称和谱系深度匹配的品种
- 亲缘系数:计算品种之间的遗传关系
- POST /cop/matrix -获取品种列表的亲代矩阵系数
2. 天气API (/weather/v2)
当前、历史和预报天气数据
- 警报:气象机构发布的恶劣天气警报
- GET /alerts?lat={lat}&lon={lon} -获取位置的天气警报
- 当前天气:实时天气观测
- GET /current?lat={lat}&lon={lon} -获取位置的当前天气
- 历史天气:过去的天气数据
- GET /historical?lat={lat}&lon={lon} -获取历史天气数据
- 预测:天气预报
- GET /forecast?lat={lat}&lon={lon} -获取该地点的天气预报
3. 气候API (/climate/v2)
来自多个来源的长期气候数据集(CRU、Daymet、PRISM)
- 电网系统:GEMS分层网格元数据
- GET /grid -获取所有可用的网格分辨率 - GET /grid/{id} -获取特定网格元数据
- 数据集:气候数据收集
- GET /datasets -列出可用的气候数据集
- 空间数据:基于位置的气候查询
- GET /{keyname}/object/search -使用过滤器搜索气候对象 - GET /{keyname}/object/{id} -获取气候对象元数据 - GET /{keyname}/object/{id}/point -获取点气候数据 - GET /{keyname}/object/{id}/raster -获取光栅气候数据 - GET /{keyname}/object/{id}/stats -获取气候数据统计
4. 生物风险API (/biotic-risk/v2)
农业害虫和病原体风险地理(24种风险类型,全球覆盖)
- 电网系统:与气候API相同的网格端点
- 风险数据集:生物风险数据收集
- 空间分析:与风险数据的气候API相同的空间终点
5. 作物API (/crop/v2)
全球作物日历和种植信息
- 作物日历:全球种植和收获日期(约2007年)
- 电网系统:标准GEMS网格系统
- 作物数据:具有空间背景的作物特定信息
6. API高程 (/elevation/v2)
来自多个来源的数字高程模型
- 全局数据:GMTED2010,SRTM高程数据集
- 高分辨率的:明尼苏达州的激光雷达高程
- 地形分析:坡度计算和地形导数
7. 水力API (/hydro/v2)
水质和水文数据集
- 湖泊水质:明尼苏达州卫星得出的水质数据
- 汇水:流域和湖泊边界数据
- 水体:水文特征分析
8. 土地覆盖API (/landcover/v2)
土地利用和土地覆盖数据集
- LCMAP:土地变化监测、评估和预测
- 国家土地覆盖数据:国家土地覆盖数据库
- CDL:明尼苏达州耕地数据层
- 时间分析:土地覆盖随时间的变化
9. API市场 (/market/v2)
全球可及性和市场指标
- 无障碍:前往最近城市和港口的旅行时间(2015年)
- 经济地理学:市场准入指标
- 运输:基础设施可达性分析
10. 土壤API (/soil/v2)
土壤性质和特征
- 土壤特性:土壤物理和化学特性
- 空间覆盖率:具有地理背景的土壤数据
- 农业应用:土壤适宜性和管理数据
常见的API模式
认证
所有API都使用基于标头的身份验证:
apikey: YOUR_API_KEY电网系统
GEMS使用离散分层网格系统(EASE grid 2.0投影):
- 网格级别0:36公里分辨率(全球)
- 网格级别1:约9km分辨率
- 电网等级3:~1km分辨率
- 电网等级4:~100m分辨率
- 电网等级5:~10m分辨率
- 电网等级6:1m分辨率
空间查询
大多数API支持:
- 边界框:
bbox=minx,miny,maxx,maxy - 点查询:
lat和lon参数 - GeoJSON:POST端点接受多边形几何图形
- 分页:
offset和limit参数
响应格式
- 对象符号:主要响应格式
- GeoTIFF:光栅数据(带压缩选项)
- 统计:空间数据汇总统计
- 直方图:数据分布分析
MCP服务器设置
先决条件
- Python 3.10+(与RTGS实验室工具一起安装)
- GEMS Exchange API密钥(从获取https://exchange-1.gems.msi.umn.edu)
安装
该服务器作为子模块包含在RTGS实验室工具包中。完成主安装后,它会自动可用:
# Main RTGS Lab Tools installation (if not already done)
git clone https://github.com/RTGS-Lab/rtgs-lab-tools.git
cd rtgs-lab-tools
bash install.sh
source venv/bin/activate环境设置
将GEMS Exchange API密钥添加到您的环境中:
export GEMS_EXCHANGE_API_KEY="your-api-key-here"
# Or add to your .env file in the project root
echo 'GEMS_EXCHANGE_API_KEY="your-api-key-here"' >> .env使用Claude Code CLI
GEMS Exchange服务器在项目的 .mcp.json 当您从项目目录运行Claude Code时,该文件将自动加载:
cd rtgs-lab-tools
source venv/bin/activate
claude中的服务器配置 .mcp.json:
{
"mcpServers": {
"gems-exchange": {
"type": "stdio",
"command": "uv",
"args": ["run", "-m", "rtgs_lab_tools.mcp_server.exchange-mcp-server.server"]
}
}
}使用Claude Desktop
GEMS Exchange服务器也可以与Claude Desktop一起使用。将此配置添加到您的Claude Desktop配置文件中:
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"gems-exchange": {
"command": "uv",
"args": [
"--directory",
"/path/to/rtgs-lab-tools",
"run",
"-m",
"rtgs_lab_tools.mcp_server.exchange-mcp-server.server"
]
}
}
}备注:服务器将自动从您的 .env 项目根目录中的文件。
替换 /path/to/rtgs-lab-tools 根据您的实际项目路径。
API基本URL
- 生产:
https://exchange-1.gems.msi.umn.edu - 文档:
https://exchange-1.gems.msi.umn.edu/portal/home
测试服务器
要验证服务器是否正常工作,请执行以下操作:
# From the rtgs-lab-tools directory
source venv/bin/activate
python -m rtgs_lab_tools.mcp_server.exchange-mcp-server.server您应该看到MCP服务器初始化消息。按Ctrl+C停止。
查询示例
在Claude Code或Claude Desktop中配置后,您可以询问:
- 获取纬度44.98、经度-93.27的当前天气
- “在爱荷华州坐标42.5,-94.2处查找土壤特性”
- “明尼苏达州有哪些气候数据集?”
- “给我看看中西部玉米的种植日历”
- “获取明尼苏达州某个地点的海拔数据”
支持
- RTGS实验室工具: https://github.com/RTGS-Lab/rtgs-lab-tools
- GEMS交换支持: gemssupport@umn.edu
- GEMS交换门户: https://exchange-1.gems.msi.umn.edu
- API文档: https://exchange-1.gems.msi.umn.edu/portal/home
数据引用
使用GEMS Exchange数据时,请根据数据集文档进行适当引用,并遵循每个API服务的使用条款。
许可证
此MCP服务器根据MIT许可证提供。单个数据集可能有自己的许可条款-请参阅GEMS Exchange文档以了解特定的数据集使用权限。
