农学MCP
以农学为重点 模型上下文协议 基于Cloudflare Workers构建的(MCP)服务器。为AI代理提供美国任何地点的天气数据和生长度单位(GDU)计算。
取代了从各种来源提取温度数据并一次在一个县的电子表格中运行GDU计算的手动工作流程。
使用Claude快速部署
复制并粘贴此提示,让Claude将此MCP服务器部署到您的Cloudflare帐户:
在以下位置克隆仓库https://github.com/CoreyFransen08/agronomy-mcp并将Agronomy MCP服务器部署到我的Cloudflare帐户。按照README中的设置说明进行操作——安装依赖项,创建KV命名空间,更新wrangler.json中的命名空间ID,然后运行npm run deploy。点击/health端点验证部署。
Cloudflare帐户设置
如果您尚未配置Cloudflare帐户和CLI:
- 创建Cloudflare帐户 在 dash.cloudflare.com/signup (免费版作品)
- 安装牧马人 (Cloudflare CLI):
npm install -g wrangler- 验证:
wrangler login这将打开一个浏览器窗口,使用您的Cloudflare帐户授权CLI。
- 验证 您的登录:
wrangler whoami一旦通过身份验证,请按照 设置 下面的部分用于安装、配置和部署。
工具
天气
| 工具 | 描述 | 缓存TTL |
|---|---|---|
get_historical_weather | 日期范围内的每日最低/最高温度 | 24h |
get_current_weather | 当前条件(温度、湿度、风、降水) | 1h |
get_forecast_weather | 1-16天每日最低/最高温度预报 | 4h |
增长度单位(GDU)
| 工具 | 描述 | 缓存TTL |
|---|---|---|
calculate_gdu | 从种植/开始日期到结束日期的累计GDU | 24h |
get_daily_gdu | GDU一天 | 24小时 |
get_gdu_with_deviation | GDU+偏离30年正常值(1994-2023) | 7天 |
GDU工具默认为标准玉米参数(基数50F,上限86F),但接受其他作物的自定义值。
Web爬网
| 工具 | 说明 |
|---|---|
start_crawl | 通过Cloudflare浏览器渲染启动异步网站抓取。返回作业ID |
get_crawl_results | 从爬网作业中检索状态和内容。支持分页和状态过滤 |
delete_crawl | 取消正在运行的爬网作业。 |
爬行工具使用 Cloudflare浏览器渲染爬网端点。需要 CLOUDFLARE_ACCOUNT_ID 和 CLOUDFLARE_API_TOKEN 秘密(见 设置).
GDU公式
cappedMax = min(Tmax, upperTemp)
adjustedMin = max(Tmin, baseTemp)
dailyGDU = max(((cappedMax + adjustedMin) / 2) - baseTemp, 0)位置分辨率
所有工具都通过以下任何一种方法接受位置(按此顺序解决):
| 方法 | 参数 | 示例 |
|---|---|---|
| 坐标 | latitude, longitude | 41.88, -93.10 |
| FIPS代码 | fipsCode | "19169" (故事县,IA) |
| 县名 | countyName, state | "Watonwan", "Minnesota" |
| 现场边界 | geojson | 具有多边形几何体的GeoJSON特征 |
县名查找使用美国人口普查几何中的质心坐标。当一个县名存在于多个州(例如“华盛顿”)时 state 需要参数来消除歧义。
FIPS数据集包括约3220个美国县。
数据源
- 天气: 开放气象API (免费,不需要API密钥)
- 历史数据的存档端点 - 当前+未来数据的预测端点 - 当请求跨越过去和未来时,自动拆分日期范围
- Web爬网: Cloudflare浏览器渲染API (需要Cloudflare API令牌)
- 县重心:美国人口普查局通过PostGIS提供的县几何形状
ST_Centroid
建筑
- 运行时:Cloudflare Workers+持久对象
- MCP-SDK:
@modelcontextprotocol/sdk通过agents(Cloudflare代理SDK) - 缓存:Cloudflare KV,带有每个工具的TTL。所有工具支持
forceRefresh: true绕过缓存。 - GeoJSON质心:
@turf/centroid
设置
npm install创建KV命名空间并更新其中的ID wrangler.jsonc:
npx wrangler kv namespace create CACHE为爬网工具设置Cloudflare凭据:
npx wrangler secret put CLOUDFLARE_ACCOUNT_ID
npx wrangler secret put CLOUDFLARE_API_TOKENAPI令牌需要 浏览器渲染-编辑 许可。创建一个 dash.cloudflare.com/profile/api-tokes。您的帐户ID位于仪表板概述页面上。
对于本地开发人员,将这些添加到 .dev.vars 文件:
CLOUDFLARE_ACCOUNT_ID=your_account_id
CLOUDFLARE_API_TOKEN=your_api_token发展
npm run dev终点:
GET /health--健康检查/mcp--MCP协议(流式HTTP)/sse--MCP协议(SSE传输)
与…联系 MCP检查员 或任何MCP兼容客户端。
部署
npm run deploy类型检查
npm run typecheck许可证
麻省理工学院
