CropProphEU について
CropProphEUは、欧州農業を扱うAIエージェント向けのMCPサーバーで、作物の予測、市場価値、天候、リスクを分析します。地域・作物の比較や、EU地域を対象とした農業ポートフォリオの最適化も行えます。
主な機能
- 015作物の収量予測
- 02市場価値とリアルタイム価格
- 03天気予報と気候シナリオ
- 04地域・作物の比較
- 05ポートフォリオ配分の最適化
- 06環境・イノシシ被害リスク分析
活用シーン
- 01地域別の作物収量と価値の推定
- 02作物のシーズンや天候の比較
- 03収量と環境リスクの評価
- 04地域・作物をまたぐ農業ポートフォリオの配分
MCP 対応
収量・価値予測、天候・気候分析、地域比較、ポートフォリオ最適化、環境リスク評価など、13の農業ツールをMCPクライアントに提供します。stdioとSSE対応のHTTPサーバーを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌾 CropProphEU — EU 作物インテリジェンス MCP サーバー
13 個の MCP ツール、5 種類の作物、26 か国の EU 諸国、123 の NUTS2 地域 — 欧州農業向けの収量予測、市場価値(€/ha)、リスク分析、環境リスク評価、ポートフォリオ最適化を提供します。AI エージェントのために、AI エージェントによって構築されています。
「今年、ザクセン=アンハルト州の小麦の生育はどうなるでしょうか? 100 ha を €/ha で配分する場合、最適な方法は何でしょうか?」
pip install git+https://github.com/DasClown/CropProphEU.git
機能(13 個の MCP ツール)
| # | ツール | 機能 | V |
|---|---|---|---|
| 1 | yield_and_value | 収量 + 市場価値(€/ha) + 平易な言葉による概要(DE/EN) | V4.6 |
| 2 | europe_yield_forecast | 収量リスク(Yield-at-Risk)(P10/P50/P90)+ NDVI 補正を含む汎欧州 RF 予測 | V4.3 |
| 3 | crop_forecast | 現在のシーズン:GDD、降雨、土壌水分、干ばつ指数、霜警報 | V4.0 |
| 4 | compare_regions | 20 地域 × 5 作物をライブ市場価格で一括比較 | V5.1 |
| 5 | portfolio_optimizer | AI 投資エンジン:予算 → 地域 × 作物にわたる最適配分 | V5.1e |
| 6 | season_comparison | 今シーズンと過去の年を比較 | V4.0 |
| 7 | region_health | 1 回の呼び出しで、1 地域の全作物を確認 | V4.5 |
| 8 | weather_outlook | 16 日間の天気予報 | V4.0 |
| 9 | climate_scenario | 仮定シナリオ:+2°C、降雨量 -20% など | V4.4 |
| 10 | yield_forecast | 類似年による収量予測(ドイツ中心) | V3.0 |
| 11 | list_regions | 26 か国にまたがる 123 の NUTS2 地域 | V4.2 |
| 12 | list_crops | 作物パラメーター(GDD 基準値、生育期、霜への感受性) | V4.5 |
| 13 | environmental_risk | 新機能 V5.4 — ERS(森林、侵食、暴風雨、雹)+ ドイツ向けのイノシシ被害リスク | V5.4 |
クイックスタート
1. インストール
pip install git+https://github.com/DasClown/CropProphEU.git
2. MCP サーバーとして使用
CLI(stdio):
crop-mcp
Python API:
from crop_mcp import predict_europe_yield
result = predict_europe_yield("DE11", "DE", crop="wheat", gdd=3050, precip_mm=650)
print(f"Yield: {result['predicted_yield_t_ha']} t/ha")
print(f"Revenue: ~{result['predicted_yield_t_ha'] * 239:.0f} €/ha")
3. Claude Desktop / Cursor
{
"mcpServers": {
"crop": {
"command": "python3",
"args": ["-m", "crop_mcp.server"]
}
}
}
4. HTTP サーバー(リモート / Smithery)
pip install crop-mcp[http]
crop-mcp --http --port 8080
SSE 経由で接続します:http://your-server:8080/sse
5. Docker
docker build -t crop-mcp .
docker run -p 8080:8080 crop-mcp crop-mcp --http --port 8080
検証済み作物 — データの整合性 ✅
すべての予測は、検証済みの Eurostat 作物コードにたどれます。 ハルシネーションも、誤った作物データによる見落としのある学習もありません。
| 作物 | Eurostat コード | サンプル数 | 国数 | MAE (LOYO) | R² |
|---|---|---|---|---|---|
| 🌾 小麦 | C1100 | 1,603 | 26 (🇪🇺+🇺🇦) | 11.5% | 0.87 |
| 🌽 トウモロコシ(メイズ) | C1500 | 1,797 | 21 (🇪🇺+🇬🇧) | 11.6% | 0.72 |
| 🌿 大麦 | C1300 | 1,885 | 26 (🇪🇺+🇬🇧) | 11.2% | 0.85 |
| 🌻 菜種 | I1110 | 1,825 | 25 | 10.8% | 0.83 |
| 🌻 ヒマワリ | I1120 | 1,229 | 17 | 16.1% | 0.74 |
⚠️ V5.1d データ修正:菜種とヒマワリは、以前は米のデータ(誤った Eurostat コード C2000/C2200)で学習していました。現在は工業作物コード I1110/I1120 に修正済みです。 ドイツの菜種予測は 7.21t から 2.63t に低下しました。これは外挿値ではなく、実際の値です。
CropProphEU を選ぶ理由
| 機能 | CropProphEU | Open-Meteo MCP | Gro Intelligence |
|---|---|---|---|
| 収量予測 | ✅ 5 作物 | ❌ | ✅ 年間 $10K+ |
| 土壌特性 | ✅ 11 項目 | ❌ | ✅ |
| 収量リスク(P10/P90) | ✅ | ❌ | ✅ |
| リアルタイム市場価格(€/ha) | ✅ CBOT + MATIF | ❌ | ✅ |
| 気候の仮定分析 | ✅ | ❌ | ✅ |
| 霜害警告 | ✅ | ✅ | ❌ |
| NDVI 衛星補正 | ✅ | ❌ | ❌ |
| ポートフォリオ最適化 | ✅ | ❌ | ❌ |
| 多言語対応(DE/EN) | ✅ | ❌ | ❌ |
| 環境リスク | ✅ V5.4 | ❌ | ❌ |
| 価格 | 無料 | 無料 | 年間 $10K+ |
独自の特長:土壌 → 収量 → 市場価値 → 環境リスク → ポートフォリオ最適化を、1 つのパイプラインでカバーする、EU 農業向けの無料 MCP サーバーはこれだけです。
V5.4 — 環境リスクスコア + 野生動物被害 🌍🐗
| 機能 | 説明 |
|---|---|
| 環境リスクスコア | 森林率、トウモロコシ栽培面積、土壌侵食、暴風雨・雹のリスクを組み合わせたスコア → 🟢🟡🔴 |
| ドイツの野生動物被害 | DJV の狩猟捕獲データ + 森林縁辺指数 + トウモロコシ栽培面積率 → €/ha の損失推定 |
| 信号機システム | 🟢 low (<35), 🟡 moderate (35-65), 🔴 high (≥65) |
| MCP ツール | environmental_risk(region='DE26') → 野生動物被害を含む即時分析 |
Maßbach の例(DE26 Unterfranken):
{
"overall_risk": "🔴 high",
"ers_level": "🟡 moderate",
"wild_boar_risk": {"level": "🔴 high", "loss_eur_ha": 158},
"management": ["Waldrandstreifen 3-6m", "Drückjagd Nov-Dez", "8-Tage-Anzeigefrist §36 BayJG"]
}
V5.4 — テストと CI 🧪
| 項目 | 状態 |
|---|---|
| pytest | 16 件のテスト、すべて成功(tests/test_crop_mcp.py) |
| CI(GitHub Actions) | ✅ プッシュのたびに実行 — ヘッダーのバッジが緑色 |
| Git LFS | *.pkl と大きな .json を LFS 経由で管理(Git ツリーから削除済み) |
テストの実行:
pip install -e ".[test]"
pytest tests/ -v
モデル精度
| 指標 | 値 |
|---|---|
| LOYO MAE(小麦) | 0.599 t/ha(11.5%) |
| 前方検証(2022 年までで学習、2023〜24 年でテスト) | 0.794 t/ha(15.0%) |
| R²(LOYO) | 0.871 |
| R²(前方検証) | 0.628 |
学習データが豊富なEU の主要地域(DE、FR、BE、NL、AT、CZ)で最も高い精度を発揮します。
作物別の性能(V5.2)
| 作物 | アルゴリズム | 主要な特徴量 | 主な知見 |
|---|---|---|---|
| 🌾 小麦 | RF 200 trees | solar_kwh(35%) | 南北の傾向が支配的 |
| 🌽 トウモロコシ | RF 200 trees | clay_pct(42%) | トウモロコシは土壌の影響を非常に受けやすい |
| 🌿 大麦 | Ridge | clay_pct(27%) | すべての作物の中で最も広いカバレッジ |
| 🌻 菜種 | RF 200 trees | coarse_pct(28%) | 修正済み — 実データのサンプルは 1,825 件 |
| 🌻 ヒマワリ | Ridge | silt_pct(24%) | 17 か国(修正後) |
リアルタイム市場価格
| 作物 | ソース | €/t(2026 年 5 月) | 市場 |
|---|---|---|---|
| 小麦 | ✅ CBOT ZW=F + MATIF プレミアム | 239 | Euronext MATIF |
| トウモロコシ | ✅ CBOT ZC=F + MATIF プレミアム | 189 | Euronext MATIF |
| 大麦 | ✅ 参考価格(AMI 地域別) | 190 | AMI 地域別取引所 |
| 菜種 | ✅ 参考価格 | 470 | Euronext MATIF(ECO) |
| ヒマワリ | ✅ 参考価格 | 420 | ICE / 黒海 |
生産コストは国と作物ごとに異なります(V5.3 以降)。market_prices.py → COUNTRY_PRODUCTION_COSTS(EU 28 か国 × 5 作物)を参照してください。データソース:FADN、KTBL、ARVALIS。例:
| 国 | 小麦 | トウモロコシ | 大麦 | 菜種 | ヒマワリ |
|---|---|---|---|---|---|
| 🇩🇪 DE | 650 | 700 | 600 | 780 | 650 |
| 🇫🇷 FR | 700 | 650 | 600 | 750 | 600 |
| 🇵🇱 PL | 550 | 600 | 500 | 650 | 550 |
| 🇷🇴 RO | 450 | 500 | 400 | 550 | 450 |
| 🇪🇸 ES | 600 | 650 | 550 | 700 | — |
ℹ️ 全表:
crop_mcp/market_prices.pyのCOUNTRY_PRODUCTION_COSTS辞書
データソース
| ソース | データ | アクセス |
|---|---|---|
| Eurostat | 作物収量(apro_cpshr)— 25年以上、検証済みコード | 無料、キー不要 |
| NASA POWER | GDD、降水量、日射量、土壌水分 | 無料、レート制限なし |
| Open-Meteo | 16日間予報、GDD | 無料、キー不要 |
| SoilGrids v2(ISRIC) | 11項目:SOC、pH、N、CEC、粘土、砂、シルト、bdod(かさ密度)、cfvo(粗大片)、AWC、粗粒 | 無料 REST API |
| LUCAS Soil(ESDAC) | 約2万件の圃場地点の土性+粗大片 | 無料ダウンロード |
| Sentinel-2 NDVI | 植生指数(Copernicus STAC+Planetary Computer フォールバック) | 無料、認証不要 |
| Yahoo Finance | CBOT 小麦/トウモロコシ先物、EUR/USD のリアルタイム価格 | 無料、キー不要 |
API キーは一切不要です — すべてのソースは無料で公開されています。
出力例
ドイツ語(デフォルト):
Weizen – Region DEE0 (DE)
Ertrag: 7.35 t/ha (Spanne 6.50–8.20)
Temperatur: warm (2950°C Wärmesumme)
Niederschlag: ausreichend (480 mm)
Bodenfeuchte: feucht (48%)
Modellabweichung: ±11.5% (1603 Samples, 26 Länder)
Vergleich zu 2024: +0.15 t/ha (im Rahmen des Vorjahres)
Marktwert: 1.757 €/ha @ 239 €/t
Kosten: 650 €/ha → Deckungsbeitrag: 1.107 €/ha
英語(language="en" を指定):
Wheat – Region DEE0 (DE)
Yield: 7.35 t/ha (range 6.50–8.20)
Temperature: warm (2950°C GDD)
...
アーキテクチャ
crop-mcp/
├── crop_mcp/
|├── server.py # 857 Zeilen — Pydantic-Modelle + Tool-Registry + MCP-Init
│ ├── tools/ # **V5.4e** — Handler in logische Module aufgeteilt
│ │ ├── weather.py # weather_outlook, crop_forecast, season_comparison, region_health
│ │ ├── yield_tools.py # yield_forecast, europe_yield_forecast, yield_and_value, climate_scenario
│ │ ├── market.py # compare_regions, portfolio_optimizer
│ │ ├── info.py # list_regions, list_crops
│ │ ├── environmental.py # environmental_risk (V5.4)
│ │ └── helpers.py # Shared utilities (NDVI correction, frost, language)
│ ├── europe_model_api.py # RF (200 trees) + Yield-at-Risk + NDVI correction
│ ├── environmental_risk.py # V5.4 — ERS + Wildschaden DE
│ ├── ndvi_correction.py # Sentinel-2 NDVI correction factor (±30%)
│ ├── market_prices.py # Live CBOT/MATIF via Yahoo Finance
│ ├── feature_cache.py # Sub-second historical queries
│ ├── simulate_yield.py # Analog-year matching
│ ├── auto_update.py # Monthly retrain cron
│ ├── core/regions.py # 123 NUTS2 regions
│ └── sources/ # Weather, soil, NDVI, Eurostat, FAOSTAT fetchers
├── models/ # .pkl files ➜ download from Releases
├── data/ # Training data ➜ download from Releases (or generated by build)
├── tests/ # V5.4 — 16 pytest tests
├── .github/workflows/ci.yml # V5.4 — CI workflow (lokal, benötigt PAT mit workflow-Scope für Push)
├── pyproject.toml
└── README.md
主な設計原則:
- ハルシネーションなし — すべての収量予測は、検証済みの Eurostat データに基づいています
- リアルタイム価格 — Yahoo Finance 経由の CBOT 小麦/トウモロコシ価格を毎時更新
- 自動更新 — 毎月の cron により、最新の Eurostat データを使ってモデルを再構築します
- API キーは一切不要 — すべてのデータソースは無料で公開されています
- AI のための AI — エージェント向けに構築されており、ダッシュボードはありません
ビルドとトレーニング
# Build training data (25 min per crop)
python3 build_europe.py --crop corn
# Train model (2 min)
python3 train_europe_fast.py --crop corn
# Auto-update monthly (cron: 1st of month at 06:00)
商用ユースケース
- 農産物取引部門:「現在の MATIF 価格で、ピカルディの小麦はいくらですか?」
- 農業アドバイザリー:「今シーズンは過去5年間と比べてどうですか?」
- 保険/リスク:地域と作物ごとのリスク収量(P10/P50/P90)
- EU 政策分析:気候シナリオが各国の収量に与える影響
- 投資:100 ha 以上の配分判断に向けたポートフォリオ最適化ツール
🤝 ヘルプとコントリビューション
| チャンネル | 目的 |
|---|---|
| 💬 GitHub Discussions | コーディング前の質問、機能のアイデア、コミュニティでの交流 |
| 🐛 GitHub Issues | バグ報告、確認済みの機能リクエスト |
| 📖 CONTRIBUTING.md | 開発環境のセットアップ、ブランチ命名規則、コミット規約、コードスタイル |
新しいコントリビューターを歓迎します!始めるには CONTRIBUTING.md をご覧ください。
ライセンス
MIT — 自由に使用、変更、配布できます。
実データに基づく検証可能な作物情報を必要とする AI エージェントのために、❤️ を込めて開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。