Bundelkund/Litefarm-mcp-server-n8n
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.
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
-
Öffne n8n (mindestens v1.88.0)
-
Erstelle einen neuen Workflow
-
Füge "MCP Client Tool" Node hinzu
- Suche nach "MCP Client Tool" in der Node-Liste
- Ziehe die Node in deinen Workflow
-
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
localhostdes Host-Systems zugreifen. Verwende stattdessen:http://host.docker.internal:3003/mcpHinweis:
host.docker.internalfunktioniert 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). - Transport Type:
-
Wähle ein LiteFarm Tool aus:
litefarm_list_farmslitefarm_create_taskdb_execute_sql- etc.
-
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 auflistenlitefarm_get_farm- Farm-Details abrufenlitefarm_create_farm- Neue Farm erstellenlitefarm_update_farm- Farm aktualisieren
Task Management (API)
litefarm_list_tasks- Aufgaben auflistenlitefarm_create_task- Neue Aufgabe erstellenlitefarm_complete_task- Aufgabe abschließen
Crop Management (API)
litefarm_list_crops- Pflanzen auflistenlitefarm_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.internalfunktioniert 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
.envin 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)
-
Weitere Tools hinzufügen:
- User Management
- Document Upload
- Reports/Analytics
-
HTTP-Transport für n8n-Integration:
TRANSPORT=http PORT=3000 -
SQL Logic Sandbox Erweiterungen:
- Read-only Mode für sicherere Operationen
- Query Templates für häufige Operationen
- Transaction History/Audit Log
-
Evaluations erstellen (siehe MCP Builder Skill)
📚 Ressourcen
- LiteFarm API Docs: http://localhost:5001/api-docs
- SQL Logic Sandbox Docs:
- MCP Docs: https://modelcontextprotocol.io
- MCP Code Execution Article: https://www.anthropic.com/engineering/code-execution-with-mcp
- TypeScript MCP SDK: https://github.com/modelcontextprotocol/typescript-sdk
- PostgreSQL PL/pgSQL: https://www.postgresql.org/docs/current/plpgsql.html
💡 Support
Bei Problemen:
- Prüfe die Troubleshooting Sektion
- Schaue in
server.lognach Fehlern - 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