Litefarm-mcp-server-n8n

Bundelkund/Litefarm-mcp-server-n8n

3.2

If you are the rightful owner of Litefarm-mcp-server-n8n and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The LiteFarm MCP Server for n8n connects n8n workflows with your local LiteFarm installation via HTTP, enabling seamless integration and automation of farm management tasks.

Tools
3
Resources
0
Prompts
0

LiteFarm MCP Server for n8n

MCP (Model Context Protocol) Server für LiteFarm - Verbindet n8n Workflows mit deiner lokalen LiteFarm-Installation via HTTP.

Note: Dies ist die n8n-Version mit HTTP-Transport. Für Claude Desktop (stdio) siehe: Litefarm-mcp-server

🎯 Überblick

Dieser MCP-Server ermöglicht es n8n, direkt mit deiner LiteFarm-Installation zu kommunizieren. Du kannst:

  • ✅ Farmen verwalten (auflisten, erstellen, aktualisieren)
  • ✅ Aufgaben verwalten (auflisten, erstellen, abschließen)
  • ✅ Pflanzen/Crops durchsuchen und Details abrufen
  • ✅ Standorte/Felder verwalten
  • Komplexe Datenbank-Operationen direkt mit SQL (SQL Logic Sandbox)
  • ✅ Alle Operationen in n8n-Workflows automatisieren

SQL Logic Sandbox

Der Server bietet zwei Zugriffsmethoden:

  • API-basiert: Sichere, validierte Operationen über die LiteFarm REST API
  • SQL-basiert: Direkte Datenbank-Operationen für komplexe Multi-Step-Workflows

Die SQL Logic Sandbox löst das Dependency-Chain-Problem von LiteFarm (Location → Crop → Management Plan → Task) durch atomare SQL-Transaktionen statt sequentieller API-Calls.

📋 Voraussetzungen

  • Node.js >= 18.0.0
  • LiteFarm läuft lokal auf http://localhost:5001
  • PostgreSQL Database läuft auf Port 5433 (für SQL Logic Sandbox)
  • n8n >= 1.88.0 (MCP Support)

🚀 Installation

Schritt 1: Repository Setup

cd C:\Users\Konektos\graph-project\litefarm-mcp-server-n8n
npm install

Schritt 2: Konfiguration

Kopiere .env.example zu .env und fülle die Werte aus:

copy .env.example .env

Bearbeite .env:

# LiteFarm API Configuration
LITEFARM_API_URL=http://localhost:5001
LITEFARM_EMAIL=deine-email@example.com
LITEFARM_PASSWORD=dein-passwort

# MCP Server Configuration (HTTP for n8n)
TRANSPORT=http
PORT=3003

# Database Configuration (für SQL Logic Sandbox)
DB_HOST=localhost
DB_PORT=5433
DB_NAME=pg-litefarm
DB_USER=postgres
DB_PASSWORD=postgres

Schritt 3: Server starten

npm start

Der Server startet auf Port 3003 und zeigt:

🚀 LiteFarm MCP Server running on http://localhost:3003/mcp
Health check available at http://localhost:3003/health

Schritt 4: n8n Integration

  1. Öffne n8n (mindestens v1.88.0)

  2. Erstelle einen neuen Workflow

  3. Füge "MCP Client Tool" Node hinzu

    • Suche nach "MCP Client Tool" in der Node-Liste
    • Ziehe die Node in deinen Workflow
  4. Konfiguriere MCP Client Tool:

    • Transport Type: HTTP Streamable
    • Authentication: None
    • MCP Server URL:
      http://localhost:3003/mcp
      

    🐳 Wichtig für Docker-Nutzer: Wenn n8n in einem Docker-Container läuft, kann es nicht auf localhost des Host-Systems zugreifen. Verwende stattdessen:

    http://host.docker.internal:3003/mcp
    

    Hinweis: host.docker.internal funktioniert standardmäßig auf Docker Desktop (Windows/Mac). Auf Linux oder Docker ohne Desktop muss die Host-IP-Adresse verwendet werden (z.B. http://192.168.x.x:3003/mcp).

  5. Wähle ein LiteFarm Tool aus:

    • litefarm_list_farms
    • litefarm_create_task
    • db_execute_sql
    • etc.
  6. Test den Workflow

🎮 Nutzung

Beispiel-Workflows in n8n

Workflow 1: Automatische Task-Erstellung bei Wetterwarnung
[Webhook Trigger] → [Weather API] → [IF Node: Rain > 80%] → [MCP Client Tool: litefarm_create_task]
Workflow 2: Täglicher Report
[Schedule Trigger: 8:00 AM] → [MCP Client Tool: db_execute_sql] → [Format Data] → [Email Node]
Workflow 3: Multi-Farm Batch Operation
[Manual Trigger] → [MCP Client Tool: litefarm_list_farms] → [Loop Over Farms] → [MCP Client Tool: litefarm_list_tasks]

Verfügbare Tools

Farm Management (API)
  • litefarm_list_farms - Alle Farmen auflisten
  • litefarm_get_farm - Farm-Details abrufen
  • litefarm_create_farm - Neue Farm erstellen
  • litefarm_update_farm - Farm aktualisieren
Task Management (API)
  • litefarm_list_tasks - Aufgaben auflisten
  • litefarm_create_task - Neue Aufgabe erstellen
  • litefarm_complete_task - Aufgabe abschließen
Crop Management (API)
  • litefarm_list_crops - Pflanzen auflisten
  • litefarm_get_crop - Pflanze-Details abrufen
Database Tools (SQL Logic Sandbox)
  • db_get_schema - Datenbank-Schema inspizieren (Tabellen, Spalten, Foreign Keys)
  • db_execute_sql - SQL-Queries direkt ausführen (mit automatischem Rollback bei Fehlern)

Vorteile der SQL Tools:

  • Komplexe Multi-Step-Operationen in einer atomaren Transaktion
  • Dependency-Chain-Problem gelöst (Location → Crop → Plan → Task)
  • Automatisches Rollback bei Fehlern
  • PL/pgSQL Support für Variablen und Conditional Logic

Siehe für Details und Beispiele.

🔍 Troubleshooting

Server startet nicht

Problem: Missing required environment variables

Lösung:

# Prüfe ob .env existiert
dir .env

# Falls nicht, kopiere .env.example
copy .env.example .env

# Bearbeite .env mit deinen Credentials
notepad .env

Verbindung zu LiteFarm fehlschlägt

Problem: Failed to connect to LiteFarm API

Lösung:

# 1. Prüfe ob LiteFarm läuft
curl http://localhost:5001

# 2. Prüfe ob API läuft
curl http://localhost:5001/api-docs

# 3. Teste Login manuell (in PowerShell)
$body = @{
    email = "deine-email@example.com"
    password = "dein-passwort"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5001/api/login" -Method POST -Headers @{"Content-Type"="application/json"} -Body $body

n8n kann sich nicht mit MCP Server verbinden

Problem: Could not connect to your MCP server

Ursachen & Lösungen:

1. Docker Networking Problem (häufigste Ursache)

Wenn n8n in einem Docker-Container läuft, kann es nicht auf localhost des Host-Systems zugreifen.

Lösung:

# Statt localhost:
http://localhost:3003/mcp

# Verwende host.docker.internal:
http://host.docker.internal:3003/mcp

Plattform-Hinweise:

  • Docker Desktop (Windows/Mac): host.docker.internal funktioniert automatisch
  • ⚠️ Linux: Verwende die Host-IP-Adresse (z.B. http://192.168.178.91:3003/mcp)
  • ⚠️ Docker Compose: Definiere ein gemeinsames Netzwerk oder verwende die Host-IP
2. Server läuft nicht

Prüfen:

# Server-Status prüfen (mit PM2)
pm2 status litefarm-mcp-n8n

# Oder manuell testen
curl http://localhost:3003/health

Lösung: Server starten/neustarten

pm2 restart litefarm-mcp-n8n
# oder
npm start
3. Falsche URL oder Port

Prüfen:

  • Ist der Port korrekt? (Standard: 3003)
  • Endet die URL mit /mcp?
  • Korrekte Syntax: http://host.docker.internal:3003/mcp
4. Firewall blockiert Verbindung

Lösung: Port 3003 in Windows Firewall freigeben

# Als Administrator ausführen
New-NetFirewallRule -DisplayName "LiteFarm MCP Server" -Direction Inbound -LocalPort 3003 -Protocol TCP -Action Allow

🧪 Development

Development Mode

# Build + Start in einem Schritt
npm run dev

# Watch Mode (automatisches Rebuild)
npm run watch

Logs prüfen

Der Server loggt nach stderr:

# Server direkt ausführen um Logs zu sehen
node dist/index.js 2> server.log

Testing

# Mit MCP Inspector testen
npx @modelcontextprotocol/inspector node dist/index.js

📁 Projekt-Struktur

Litefarm-mcp-server/
├── index.ts                       # Haupt-Server (Einstiegspunkt)
├── types.ts                       # TypeScript Types
├── constants.ts                   # Konstanten
├── litefarm-client.ts             # API Client für LiteFarm
├── tool-utils.ts                  # Gemeinsame Tool-Funktionen
├── farm-tools.ts                  # Farm Management Tools
├── task-tools.ts                  # Task Management Tools
├── crop-tools.ts                  # Crop Management Tools
├── db-tools.ts                    # Database Tools (SQL Logic Sandbox)
├── create-test-user.js            # Script zum Erstellen eines Test-Users
├── test-login.js                  # Script zum Testen der Login-Funktion
├── package.json
├── tsconfig.json
├── .env.example                   # Beispiel-Konfiguration
├── README.md                      # Diese Datei
├── SQL_LOGIC_SANDBOX_README.md    # SQL Logic Sandbox Dokumentation
└── LEARNINGS.md                   # Dokumentation aller Probleme & Lösungen

Hinweis: Die Dateien liegen im Root-Verzeichnis, nicht in einem src/ oder tools/ Unterordner!

🔐 Sicherheit

  • Credentials: Niemals .env in Git committen!
  • API-Keys: Werden nur lokal gespeichert
  • Netzwerk: Server kommuniziert nur mit lokalem LiteFarm
  • SQL Sandbox: Nur Read/Write-Operationen erlaubt (kein DDL: CREATE TABLE, DROP, etc.)
  • Transaktionen: Automatisches Rollback bei Fehlern verhindert Daten-Inkonsistenzen

⚡ Performance-Optimierungen

Der Server enthält implementierte Performance-Optimierungen:

In-Memory Caching

  • Farm-Listen: 5 Minuten TTL
  • Crop-Daten: 10 Minuten TTL
  • Impact: 60-80% weniger API-Requests

Rate Limiting

  • Max. gleichzeitig: 5 Requests
  • Max. pro Sekunde: 10 Requests
  • Impact: Verhindert API-Überlastung

Besonderheit für n8n

Der LiteFarm Client ist shared über alle HTTP-Requests:

  • ✅ Cache bleibt persistent zwischen Workflow-Executions
  • ✅ Besonders effektiv für Loop-Operationen
  • ✅ Typischer Performance-Gewinn: 70-90% weniger API-Calls

Details: Siehe


🐛 Bekannte Probleme

Windows-spezifisch

  • Pfade: Nutze \\ statt / in Windows-Pfaden
  • PowerShell: Manche npm-Scripts brauchen cmd /c npm run ...

LiteFarm API

  • Token Expiry: Tokens laufen nach Zeit ab - Server erneuert automatisch
  • Rate Limiting: Bei zu vielen Requests 429-Fehler möglich (durch Rate Limiter verhindert)

🎯 Nächste Schritte

Erweiterungen (Optional)

  1. Weitere Tools hinzufügen:

    • User Management
    • Document Upload
    • Reports/Analytics
  2. HTTP-Transport für n8n-Integration:

    TRANSPORT=http
    PORT=3000
    
  3. SQL Logic Sandbox Erweiterungen:

    • Read-only Mode für sicherere Operationen
    • Query Templates für häufige Operationen
    • Transaction History/Audit Log
  4. Evaluations erstellen (siehe MCP Builder Skill)

📚 Ressourcen

💡 Support

Bei Problemen:

  1. Prüfe die Troubleshooting Sektion
  2. Schaue in server.log nach Fehlern
  3. Teste LiteFarm API direkt mit Swagger UI

Status: ✅ Produktionsreif - n8n HTTP Transport Edition Version: 1.0.0-n8n Transport: HTTP (Port 3003) Based on: Litefarm-mcp-server feature/sql-logic-sandbox Erstellt: Dezember 2025