Skip to main content
Glama
agroclimate-mcp

agroclimate-mcp

by cogrowersqa

AgroClimate MCP Server

Servidor MCP (Model Context Protocol) que conecta ChatGPT/Claude con la API REST de AgroClimate, permitiendo a los usuarios consultar información de su empresa mediante lenguaje natural.

Requisitos

  • Node.js 20+ LTS

  • npm 10+

Related MCP server: dssat-mcp

Instalación

# Instalar dependencias
npm install

# Copiar variables de entorno
cp .env.example .env

# Generar ENCRYPTION_KEY
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

# Editar .env con la URL de la API y la ENCRYPTION_KEY generada

Compilar

npm run build

Ejecutar (desarrollo)

npm run dev

Configuración en ChatGPT / Claude Desktop

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "agroclimate": {
      "command": "node",
      "args": ["C:/Repositorio/MCP/AgroClimate/dist/index.js"],
      "env": {
        "API_BASE_URL": "https://api.agroclimate.cl",
        "ENCRYPTION_KEY": "<tu-key-64-hex>",
        "LOG_LEVEL": "info",
        "LOG_DIR": "./logs",
        "NODE_ENV": "production",
        "SESSION_TTL_HOURS": "24",
        "SESSION_CLEANUP_INTERVAL_MIN": "60",
        "CACHE_TTL_SECONDS": "300",
        "CACHE_MAX_ENTRIES": "1000",
        "API_TIMEOUT_MS": "30000"
      }
    }
  }
}

ChatGPT (Custom GPT con Actions)

Para ChatGPT, se requiere un wrapper HTTP. Consulta la documentación de OpenAI para configurar un GPT Action que apunte al servidor MCP.

Herramientas Disponibles

Tool

Descripción

connect_company

Conecta una empresa validando la API Key

disconnect_company

Desconecta la empresa y cierra sesión

get_devices

Lista dispositivos/sensores

get_sensor_history

Historial de lecturas

get_weather

Información climática

get_bins_today

Bins recolectados hoy

get_harvest

Información de cosecha

get_exports

Datos de exportación

get_dispatches

Despachos pendientes/completados

company_info

Info de empresa conectada

healthcheck

Estado del servidor

Agregar Nuevos Tools

  1. Crear src/tools/nuevo_tool.ts siguiendo la estructura existente

  2. Importar y agregar al array en src/tools/index.ts

  3. Compilar: npm run build

No se requiere modificar el servidor principal ni ningún otro módulo.

Arquitectura

Consultar ARCHITECTURE.md para el documento completo de arquitectura.

Available Tools

7 tools
company_infoA

Muestra la información de la empresa actualmente conectada. Incluye nombre, usuario, rol, cantidad de dispositivos y estado de la sesión.

Inputs: no named parameters.

connect_companyA

Conecta una empresa al sistema usando su API Key. Normalmente la empresa se conecta automáticamente al iniciar la sesión (via OAuth). Solo usar esta herramienta si se necesita reconectar o cambiar de empresa.

Inputs: api_key.

disconnect_companyA

Desconecta la empresa actual y cierra sesión completamente. Revoca tokens, limpia caché y fuerza re-autenticación. Usar cuando el usuario quiere cerrar sesión o cambiar de empresa.

Inputs: no named parameters.

get_devicesA

Obtiene el estado actual de dispositivos y sensores de la empresa conectada. Incluye análisis automático: resumen general, rankings (temperatura, humedad, horas frío, porciones frío), estado de conexión, extremos geográficos y detalle por dispositivo.

Inputs: no named parameters.

get_sensor_historyA

Obtiene estadísticas de temperatura, humedad, horas frío y porciones frío de un dispositivo. Siempre consulta los últimos 30 días de la API y filtra según el período solicitado. Permite análisis en bloques horarios configurables (por ejemplo 3, 4, 5 o 24 horas). El LLM debe interpretar la pregunta del usuario y pasar fecha_desde y/o fecha_hasta para filtrar. Si no se pasan fechas, muestra estadísticas de las últimas 24 horas por defecto.

Inputs: dispositivo (required), fecha_desde, fecha_hasta, intervalo_horas.

get_weatherA

Obtiene información climática actual y pronóstico para la ubicación de la empresa. Incluye temperatura, humedad, viento y pronóstico.

Inputs: ubicacion.

healthcheckA

Verifica el estado del servidor MCP, la conectividad con la API y las estadísticas de sesión y caché.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: device status, session management, sensor history, weather, company info, and health check. No overlap or ambiguity.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (get_devices, get_sensor_history), but company_info and healthcheck omit the verb. Still clear and readable.

    Tool Count5/5

    7 tools is well-scoped for an agroclimate monitoring server, covering essential functionality without bloat.

    Completeness4/5

    Covers device status, sensor history, weather, company management, and health checks. Missing update/delete for devices or historical weather, but core workflows are supported.

    Related MCP Connectors

    Related MCP Servers