mirror of
https://github.com/latinogino/dolibarr-mcp.git
synced 2026-04-26 19:45:35 +02:00
260 lines
7.5 KiB
Markdown
260 lines
7.5 KiB
Markdown
# Dolibarr MCP Server 🚀
|
|
|
|
Ein professioneller **Model Context Protocol (MCP) Server** für Dolibarr ERP-Integration. Ermöglicht LLMs vollständige CRUD-Operationen für alle Dolibarr-Module über eine standardisierte API.
|
|
|
|
## ✨ Features
|
|
|
|
### 🔧 Vollständige CRUD-Unterstützung für alle Dolibarr-Module:
|
|
- **👥 User Management** - Benutzer verwalten, erstellen, aktualisieren, löschen
|
|
- **🏢 Customer/Third Party Management** - Kunden und Drittparteien vollständig verwalten
|
|
- **📦 Product Management** - Produkte mit Preisen, Lager und Details
|
|
- **🧾 Invoice Management** - Rechnungen mit Zeilen, Steuer und Status
|
|
- **📋 Order Management** - Bestellungen und Aufträge verfolgen
|
|
- **📞 Contact Management** - Kontakte und Ansprechpartner
|
|
- **🔌 Raw API Access** - Direkter Zugriff auf beliebige Dolibarr-Endpunkte
|
|
|
|
### 🛠️ Technische Features:
|
|
- ✅ **Professionelle Fehlerbehandlung** mit detaillierten API-Error-Messages
|
|
- ✅ **Async/await Architektur** für optimale Performance
|
|
- ✅ **Pydantic Validation** für Typ-Sicherheit und Datenvalidierung
|
|
- ✅ **Umfassendes Logging** mit konfigurierbaren Log-Levels
|
|
- ✅ **Docker Support** mit Multi-Stage Builds
|
|
- ✅ **Windows + Linux Support** mit platform-spezifischen Setup-Scripts
|
|
- ✅ **Automatische API-Key Validation** und Connection Testing
|
|
- ✅ **MCP 1.0 Compliant** - kompatibel mit Claude, anderen LLMs
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### Windows Setup (Empfohlen für Setup-Probleme)
|
|
|
|
Wenn Sie Probleme mit dem regulären Setup haben (besonders pywin32 Fehler), nutzen Sie das verbesserte Setup:
|
|
|
|
```cmd
|
|
# 1. Repository klonen
|
|
git clone https://github.com/latinogino/dolibarr-mcp.git
|
|
cd dolibarr-mcp
|
|
|
|
# 2. Verbessertes Windows Setup (umgeht pywin32 Probleme)
|
|
.\setup_windows_fix.bat
|
|
|
|
# 3. .env Datei konfigurieren
|
|
copy .env.example .env
|
|
# Bearbeiten Sie .env mit Ihren Dolibarr-Credentials
|
|
|
|
# 4. Server starten
|
|
.\start_server.bat
|
|
```
|
|
|
|
### Linux/macOS Setup
|
|
|
|
```bash
|
|
# 1. Repository klonen
|
|
git clone https://github.com/latinogino/dolibarr-mcp.git
|
|
cd dolibarr-mcp
|
|
|
|
# 2. Setup ausführen
|
|
chmod +x setup.sh
|
|
./setup.sh
|
|
|
|
# 3. .env konfigurieren
|
|
cp .env.example .env
|
|
# .env mit Ihren Dolibarr-Details bearbeiten
|
|
|
|
# 4. Server starten
|
|
python -m src.dolibarr_mcp
|
|
```
|
|
|
|
### Docker Setup
|
|
|
|
```bash
|
|
# Mit docker-compose (empfohlen)
|
|
cp .env.example .env
|
|
# .env konfigurieren, dann:
|
|
docker-compose up -d
|
|
|
|
# Oder direkt mit Docker
|
|
docker build -t dolibarr-mcp .
|
|
docker run -d --env-file .env -p 8080:8080 dolibarr-mcp
|
|
```
|
|
|
|
## ⚙️ Konfiguration
|
|
|
|
### Dolibarr API Setup
|
|
|
|
1. **Dolibarr Admin Login**
|
|
2. **Module aktivieren**: Home → Setup → Modules → "Web Services API REST (developer)" aktivieren
|
|
3. **API Key erstellen**: Home → Setup → API/Web services → Neuen API Key generieren
|
|
4. **API URL**: Normalerweise `https://ihre-dolibarr-instanz.com/api/index.php`
|
|
|
|
### .env Datei
|
|
|
|
```env
|
|
# Dolibarr API Configuration
|
|
DOLIBARR_URL=https://ihre-dolibarr-instanz.com/api/index.php
|
|
DOLIBARR_API_KEY=ihr_dolibarr_api_schluessel
|
|
|
|
# Logging Configuration
|
|
LOG_LEVEL=INFO
|
|
```
|
|
|
|
## 📋 Verfügbare Tools
|
|
|
|
Der Server stellt folgende MCP-Tools zur Verfügung:
|
|
|
|
### System & Status
|
|
- `test_connection` - API-Verbindung testen
|
|
- `get_status` - Dolibarr System-Status und Version
|
|
|
|
### User Management
|
|
- `get_users` - Benutzer auflisten (mit Pagination)
|
|
- `get_user_by_id` - Benutzer nach ID abrufen
|
|
- `create_user` - Neuen Benutzer erstellen
|
|
- `update_user` - Benutzer aktualisieren
|
|
- `delete_user` - Benutzer löschen
|
|
|
|
### Customer Management
|
|
- `get_customers` - Kunden/Drittparteien auflisten
|
|
- `get_customer_by_id` - Kunde nach ID
|
|
- `create_customer` - Neuen Kunden erstellen
|
|
- `update_customer` - Kunde aktualisieren
|
|
- `delete_customer` - Kunde löschen
|
|
|
|
### Product Management
|
|
- `get_products` - Produkte auflisten
|
|
- `get_product_by_id` - Produkt nach ID
|
|
- `create_product` - Neues Produkt erstellen
|
|
- `update_product` - Produkt aktualisieren
|
|
- `delete_product` - Produkt löschen
|
|
|
|
### Invoice Management
|
|
- `get_invoices` - Rechnungen auflisten (mit Status-Filter)
|
|
- `get_invoice_by_id` - Rechnung nach ID
|
|
- `create_invoice` - Neue Rechnung mit Zeilen erstellen
|
|
- `update_invoice` - Rechnung aktualisieren
|
|
- `delete_invoice` - Rechnung löschen
|
|
|
|
### Order Management
|
|
- `get_orders` - Bestellungen auflisten
|
|
- `get_order_by_id` - Bestellung nach ID
|
|
- `create_order` - Neue Bestellung erstellen
|
|
- `update_order` - Bestellung aktualisieren
|
|
- `delete_order` - Bestellung löschen
|
|
|
|
### Contact Management
|
|
- `get_contacts` - Kontakte auflisten
|
|
- `get_contact_by_id` - Kontakt nach ID
|
|
- `create_contact` - Neuen Kontakt erstellen
|
|
- `update_contact` - Kontakt aktualisieren
|
|
- `delete_contact` - Kontakt löschen
|
|
|
|
### Advanced
|
|
- `dolibarr_raw_api` - Roher API-Aufruf an beliebige Dolibarr-Endpunkte
|
|
|
|
## 🧪 Testing
|
|
|
|
```bash
|
|
# API-Verbindung testen
|
|
python test_connection.py
|
|
|
|
# Umfassende Tests
|
|
python test_dolibarr_mcp.py
|
|
|
|
# Mit Docker
|
|
docker-compose --profile test up dolibarr-mcp-test
|
|
```
|
|
|
|
## 🐳 Docker Production Deployment
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
dolibarr-mcp:
|
|
image: dolibarr-mcp:latest
|
|
environment:
|
|
- DOLIBARR_URL=https://ihre-dolibarr-instanz.com/api/index.php
|
|
- DOLIBARR_API_KEY=ihr_api_schluessel
|
|
- LOG_LEVEL=INFO
|
|
ports:
|
|
- "8080:8080"
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "from src.dolibarr_mcp.config import Config; Config()"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
```
|
|
|
|
## 🔧 Troubleshooting
|
|
|
|
### Windows Setup Probleme
|
|
|
|
**Problem**: `[WinError 5] Zugriff verweigert` beim Installieren von pywin32
|
|
|
|
**Lösung**: Nutzen Sie das verbesserte Setup-Script:
|
|
```cmd
|
|
.\setup_windows_fix.bat
|
|
```
|
|
|
|
Dieses Script:
|
|
- Verwendet `requirements-minimal.txt` ohne problematische Pakete
|
|
- Installiert Pakete einzeln bei Fehlern
|
|
- Umgeht pywin32-Berechtigungsprobleme
|
|
- Funktioniert auch ohne Admin-Rechte
|
|
|
|
### API-Verbindungsprobleme
|
|
|
|
**Symptom**: "Cannot connect to Dolibarr API"
|
|
|
|
**Checkliste**:
|
|
1. ✅ Dolibarr "Web Services API REST" Modul aktiviert?
|
|
2. ✅ API Key in Dolibarr erstellt?
|
|
3. ✅ .env Datei korrekt konfiguriert?
|
|
4. ✅ DOLIBARR_URL mit `/api/index.php` am Ende?
|
|
5. ✅ Firewall/Network-Zugang?
|
|
|
|
**Debug**:
|
|
```bash
|
|
# Verbindung direkt testen
|
|
python test_connection.py
|
|
|
|
# Detaillierte Logs
|
|
LOG_LEVEL=DEBUG python -m src.dolibarr_mcp
|
|
```
|
|
|
|
### Häufige API-Endpunkt Probleme
|
|
|
|
| Endpunkt | Häufige Probleme | Lösung |
|
|
|----------|------------------|---------|
|
|
| `/users` | 403 Forbidden | Admin API Key erforderlich |
|
|
| `/products` | Leere Liste | Produkte in Dolibarr erstellen |
|
|
| `/thirdparties` | 500 Error | Customer/Supplier Module aktivieren |
|
|
| `/invoices` | Permission denied | Invoice Module + Rechte prüfen |
|
|
|
|
## 📚 API Dokumentation
|
|
|
|
Vollständige Dolibarr REST API Dokumentation:
|
|
- [Dolibarr REST API Wiki](https://wiki.dolibarr.org/index.php?title=Module_Web_Services_API_REST_(developer))
|
|
- [API Interfaces Guide](https://wiki.dolibarr.org/index.php?title=Interfaces_Dolibarr_toward_foreign_systems)
|
|
|
|
## 🤝 Contributing
|
|
|
|
1. Fork das Repository
|
|
2. Feature Branch erstellen: `git checkout -b feature/neue-funktion`
|
|
3. Changes committen: `git commit -am 'Neue Funktion hinzufügen'`
|
|
4. Branch pushen: `git push origin feature/neue-funktion`
|
|
5. Pull Request erstellen
|
|
|
|
## 📄 License
|
|
|
|
MIT License - siehe [LICENSE](LICENSE) für Details.
|
|
|
|
## 🆘 Support
|
|
|
|
- 📧 **Issues**: [GitHub Issues](https://github.com/latinogino/dolibarr-mcp/issues)
|
|
- 📖 **Wiki**: [Project Wiki](https://github.com/latinogino/dolibarr-mcp/wiki)
|
|
- 💬 **Discussions**: [GitHub Discussions](https://github.com/latinogino/dolibarr-mcp/discussions)
|
|
|
|
---
|
|
|
|
**⚡ Ready to integrate your Dolibarr ERP with AI? Get started in 2 minutes!**
|