农业数据服务器

一个简单的HTTP服务器,提供印度农业实时数据,包括市场价格和肥料推荐。

  • by ShauryaMehraa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ShauryaMehraa/MCP-Server

使用说明

农业数据MCP服务器

一个简单的HTTP服务器,让您访问实时的印度农业数据:来自Agmarknet的市场价格和土壤健康门户网站的肥料建议。

它的作用

获取以下实时数据:

  • 农产品价格 (小麦、大米、蔬菜等)
  • 施肥建议 基于土壤测试结果(氮、磷、钾、有机碳)
  • 可用作物 用于不同州的土壤测试
  • 市场趋势 以及价格变动

入门指南

安装

pip install -r requirements.txt

跑

python server.py

就是这样。服务器启动 http://localhost:9004.

要更改端口,请复制 .env.example 到 .env 并对其进行编辑。

工具

市场价格工具 (4)

  • 按商品名称搜索价格(小麦、大米等)
  • 使用筛选器获取所有市场记录
  • 浏览分页结果

土壤和肥料工具 (5)

  • 列出印度所有邦(共33个)
  • 查找一个州的地区
  • 查看哪些作物可以进行土壤测试
  • 获取肥料建议 -主要特征
  • 使用官方肥料建议过滤作物

如何使用

查找市场价格-Agmarknet API

Agmarknet是印度农业市场数据的政府门户网站。它提供 实时商品价格、到货和市场趋势 印度所有主要农产品市场。

Agmarknet数据包括哪些内容

  • 24+商品记录 印度市场
  • 价格趋势:上升、下降、稳定
  • 市场价格:同一商品在不同市场的不同价格
  • 到货数据当商品到达市场时
  • 日期和时间戳:跟踪价格随时间的变化
  • 州和地区过滤器:获取特定地区的数据

简单搜索(推荐)

无需ID-只需按商品名称搜索:

{
  "commodity_contains": "wheat",
  "limit_per_page": 20
}

这将在所有市场进行搜索,并返回与“小麦”匹配的记录。

获取所有市场记录

使用精确过滤器获取原始市场数据:

{
  "dashboard": "marketwise_price_arrival",
  "date": "2026-03-24",
  "limit": 5,
  "page": 1
}

答复包括:

  • 商品名称、组别、品种
  • 每个市场的价格
  • 州和地区
  • 市场名称
  • 趋势(上升/下降/稳定)
  • 浏览结果分页

带过滤器的动态搜索

在不知道具体ID的情况下搜索市场数据:

{
  "commodity_contains": "rice",
  "commodity_group_contains": "cereals",
  "trend": "down",
  "limit_per_page": 50,
  "max_pages": 5
}

这将:

  • 查找名称中有“大米”的商品
  • 仅过滤到谷物组
  • 仅显示价格呈下降趋势的商品
  • 每页最多返回50条记录,最多查看5页
  • 内部自动分页

处理分页

如果你得到一个 next_page 响应中的URL,使用它来获取下一页:

{
  "url": "https://api.agmarknet.gov.in/v1/dashboard-data/?page=2&limit=10"
}

真实数据示例

通过实时测试,Agmarknet返回:

  • 24项市场记录 可用的
  • 共3页 的结果(每页10条记录)
  • 商品如:小麦、大米、蔬菜、香料等。
  • 每条记录包括:价格、市场、状态、趋势、到达日期

Agmarknet用例

  1. 价格监控:查看每日商品价格
  2. 市场分析:比较不同市场的价格
  3. 趋势跟踪:看看哪些商品在上涨/下跌
  4. 区域数据:查找您所在州的具体价格
  5. 供应链:跟踪商品何时到达市场

如何使用-肥料建议

获取肥料推荐

三个简单的步骤:

  1. 获取州列表

    • 返回:33个州及其ID
  2. 选择一个州,收割庄稼

    • 从步骤1中选择任何州ID
    • 回报:该州可种植约17种作物
  3. 获取推荐

    {
      "state": "63f9ce47519359b7438e76fa",
      "crops": ["6625fcb2c986db5da828c206"],
      "n": 180,
      "p": 70,
      "k": 120,
      "oc": 0.8
    }
    

    哪里:

    • N=氮(ppm)
    • P=磷(ppm)
    • K=钾(ppm)
    • OC=有机碳(%)

    回报:推荐的肥料剂量(有机和化学选项)

演出

  • 实时数据:一切都是真实的,来自政府API
  • 24项市场记录 每个查询可用
  • 100%正常运行时间 测试中(10/10成功呼叫)
  • 自动重试 如果后端速度较慢

配置

编辑 .env 更改:

  • MCP_PORT -服务器端口(默认值:9004)
  • MCP_HOST -监听地址(默认值:0.0.0.0)

所有其他设置都使用政府API默认值并开箱即用。

故障排除

服务器无法启动

  • 端口9004正在使用中→ 改变 MCP_PORT 在 .env
  • 需要Python 3.10+

无市场数据

  • 尝试不同的日期或商品名称
  • 使用动态搜索工具

肥料数据为空

  • 仔细检查状态和裁剪ID(从状态/裁剪工具获取)
  • OC必须为0-5%

使用Python FastMCP构建|连接到Agmarknet和土壤健康门户


关于Agmarknet

Agmarknet (农业市场网络)是由农业部运营的印度首屈一指的农业市场信息系统。它提供:

主要特点

  • 实时市场价格 100多种商品
  • 多市场数据 -价格因地点而异
  • 历史趋势 -追踪价格变动
  • 覆盖全国 -来自印度所有邦的数据
  • 到货信息 -当货物到达市场时
  • 市场分析 -供需趋势

通过此服务器可用的数据

  • 商品定价:农产品的当前市场价格
  • 市场ID、州、地区:区域数据的地理过滤
  • 价格趋势:上升、下降或稳定的趋势
  • 分页:高效浏览大型数据集

Agmarknet后端

  • 统一资源定位符: https://api.agmarknet.gov.in/v1
  • 数据类型:REST API(JSON响应)
  • 更新频率:来自市场的实时信息
  • 覆盖:印度所有主要农产品市场
  • 商品:谷物、蔬菜、水果、香料等。

Agmarknet查询示例

  1. 获取所有市场的小麦价格
  2. 仅查找主要州的大米价格
  3. 获取今天的商品到货情况
  4. 跟踪特定商品的价格趋势
  5. 比较不同市场之间的价格

何时使用Agmarknet

  • 对于农民:出售前检查市场价格
  • 对于交易者:监控价格趋势和套利机会
  • 对于研究人员:分析农业市场数据
  • 对于应用程序:构建价格跟踪或市场分析工具
  • 供应链:了解商品流动和市场

API体系结构

服务器充当两个政府API之间的桥梁:

Your Client
    ↓
MCP Server (localhost:9004)
    ↓
├─→ Agmarknet API (api.agmarknet.gov.in)
│   └─→ Market prices, trends, commodities
│
└─→ Soil Health Portal (soilhealth4.dac.gov.in)
    └─→ Soil tests, fertilizer recommendations, crops

特性

  • 智能重试:网络故障时自动重试
  • 错误处理:带有错误消息的优雅降级
  • 分页:高效处理大型数据集
  • 实时:来自政府后端的实时数据
  • 简单的界面:不需要复杂的身份验证