agroagent
AgroAgent
ИИ-агент, ориентированный на чилийскую агрономическую нишу, построенный на архитектуре агентов через Model Context Protocol (MCP). Вместо монолитного бэкенда четыре независимых MCP-сервера предоставляют специализированные инструменты, а оркестратор координирует их через агентский цикл с помощью Anthropic SDK.
Архитектура
apps/
web/ Next.js 16 + TypeScript + Tailwind v4 + Recharts
orchestrator/ FastAPI -- MCP host + agent loop (Anthropic SDK) + rutas REST de dashboard
mcp-servers/
mcp-weather/ tool: get_weather_forecast (Open-Meteo)
mcp-prices/ tool: get_commodity_price (datos abiertos ODEPA)
mcp-db/ tools: get_farmer_history, register_planting (PostgreSQL/SQLAlchemy async)
mcp-rag/ tool: search_sag_documents (RAG sobre normativa SAG -- Pinecone + Voyage AI)
packages/
shared-types/ Modelos Pydantic compartidos entre orchestrator y mcp-serversОркестратор подключается как MCP-клиент к 4 серверам, объединяет их каталог инструментов в один и предоставляет:
POST /chat— точка входа для диалога (Claude решает, какие инструменты использовать в зависимости от контекста)GET /weather,GET /farmers/{id}/history,GET /prices/trend— детерминированные REST-маршруты для дашборда, которые вызывают инструменты напрямую, без LLM
Ценность проекта не в том, чтобы предоставить каждый источник по отдельности, а в том, чтобы агент связывал их между собой: например, сопоставлять историю посадок земледельца с прогнозом по его региону и текущей ценой на его попродукт, чтобы предлагать конкретные решения, цитируя точное постановление SAG, когда это уместно.
Related MCP server: leafengines-mcp-server
Стек
Бэкенд: Python 3.12+, FastAPI,
mcpSDK (v2), SQLAlchemy async + asyncpg, Pinecone, Voyage AI, Anthropic SDK,uv(монорепозиторий в workspace)Фронтенд: Next.js (App Router), TypeScript, Tailwind CSS v4, Recharts, pnpm
Данные: PostgreSQL (Docker), Open-Meteo API, ODEPA (CKAN datastore API), нормативные документы SAG
Требования
Python 3.12+ и
uvNode 20+ и
pnpmDocker (для PostgreSQL)
API-ключи: Anthropic, Pinecone, Voyage AI
Установка
# Backend (Python workspace completo)
uv sync --all-packages
# Frontend
cd apps/web && pnpm install && cd ../..
# Base de datos
docker compose up -d postgresСоздайте apps/web/.env.local:
NEXT_PUBLIC_ORCHESTRATOR_URL=http://localhost:3001Запуск проекта (6 процессов)
# Terminal 1
uv run --package mcp-weather uvicorn mcp_weather.app:app --reload --port 4001
# Terminal 2
uv run --package mcp-prices uvicorn mcp_prices.app:app --reload --port 4002
# Terminal 3 (ajusta el puerto de Postgres si no usas el 5432 por defecto)
DATABASE_URL="postgresql+asyncpg://agroagent:agroagent@localhost:5432/agroagent" \
uv run --package mcp-db uvicorn mcp_db.app:app --reload --port 4004
# Terminal 4
PINECONE_API_KEY="..." VOYAGE_API_KEY="..." \
uv run --package mcp-rag uvicorn mcp_rag.app:app --reload --port 4005
# Terminal 5
ANTHROPIC_API_KEY="..." \
uv run --package orchestrator uvicorn orchestrator.app:app --reload --port 3001
# Terminal 6
cd apps/web && pnpm devФронтенд на http://localhost:3000.
Архитектурные решения
Транспорт MCP: streamable-HTTP, а не stdio — каждый MCP-сервер является независимым сервисом с отдельным портом/контейнером, это ближе к реальному развёртыванию микросервисов.
Бэкенд на Python/FastAPI вместо NestJS/TypeScript: сознательное решение исходя из спроса на рынке и чтобы продемонстрировать политственное разнообразие (фронтенд остался на TS/React).
RAG: нарезка фрагментов учитывает нумерованную структуру чилийских правовых резолюций (
2.1,3.1.1и т. д.), а не режется по фиксированномувен доступная; метаданные каждого чанка содержат номер резолюции, чтобы агент мог ссылаться на источник.REST-маршруты отделены от агента: дашборд не обращается к LLM за детерминированными данными (погода, история, цены) — это экономит затраты и задержки; обе слои используют одни и те же базовые MCP-инструменты.
Известные ограничения / недостатки
Без аутентификации:
farmer_idпередаётся явно, нет пользовательской сессии.Нет маршрута для создания новых агровладельцев (
POST /farmers) — тестовые записи были вставлены вручную.mcp-ragне поддерживает сканированные PDF без текстового слоя (потребовался бы OCR).Нет отдельного
Dockerfileдля каждого сервиса —docker-compose.ymlохватывает только PostgreSQL.Имена культур в
mcp-dbне нормализованы по отношению к названиям продуктов ODEPA вmcp-prices.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that provides real-time access to Brazilian agricultural data, including commodity prices, crop estimates, climate information, and deforestation rates. It integrates data from 19 public sources like CEPEA, CONAB, and IBGE to enable LLMs to analyze the Brazilian agribusiness sector.1026MIT
- AlicenseNot gradedqualityBmaintenanceAgricultural intelligence MCP server providing soil analysis, crop recommendations, weather forecasts, and environmental impact assessment.5MIT
- AlicenseNot gradedqualityAmaintenanceEU Crop Intelligence MCP Server — Yield forecasts, weather analysis, and phenology models for 15 countries. AI agent-native, multi-source intelligence (NASA POWER, Eurostat, Open-Meteo).MIT
- AlicenseNot gradedqualityBmaintenanceMCP Server for accessing 36 Brazilian public data sources and 1 agent, enabling AI agents to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/craguila14/agroagent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server