dalvon-mcp 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +743 -0
- package/dist/clients/dalvon.d.ts +258 -0
- package/dist/clients/dalvon.d.ts.map +1 -0
- package/dist/clients/dalvon.js +1240 -0
- package/dist/clients/dalvon.js.map +1 -0
- package/dist/clients/knowledge.d.ts +59 -0
- package/dist/clients/knowledge.d.ts.map +1 -0
- package/dist/clients/knowledge.js +267 -0
- package/dist/clients/knowledge.js.map +1 -0
- package/dist/clients/telefonieren.d.ts +258 -0
- package/dist/clients/telefonieren.d.ts.map +1 -0
- package/dist/clients/telefonieren.js +1240 -0
- package/dist/clients/telefonieren.js.map +1 -0
- package/dist/config.d.ts +43 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +76 -0
- package/dist/config.js.map +1 -0
- package/dist/environment.d.ts +33 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +63 -0
- package/dist/environment.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/agents.d.ts +8 -0
- package/dist/tools/agents.d.ts.map +1 -0
- package/dist/tools/agents.js +1880 -0
- package/dist/tools/agents.js.map +1 -0
- package/dist/tools/billing.d.ts +8 -0
- package/dist/tools/billing.d.ts.map +1 -0
- package/dist/tools/billing.js +205 -0
- package/dist/tools/billing.js.map +1 -0
- package/dist/tools/calendar.d.ts +8 -0
- package/dist/tools/calendar.d.ts.map +1 -0
- package/dist/tools/calendar.js +347 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/calls.d.ts +8 -0
- package/dist/tools/calls.d.ts.map +1 -0
- package/dist/tools/calls.js +508 -0
- package/dist/tools/calls.js.map +1 -0
- package/dist/tools/campaigns.d.ts +8 -0
- package/dist/tools/campaigns.d.ts.map +1 -0
- package/dist/tools/campaigns.js +531 -0
- package/dist/tools/campaigns.js.map +1 -0
- package/dist/tools/channels.d.ts +8 -0
- package/dist/tools/channels.d.ts.map +1 -0
- package/dist/tools/channels.js +165 -0
- package/dist/tools/channels.js.map +1 -0
- package/dist/tools/chats.d.ts +8 -0
- package/dist/tools/chats.d.ts.map +1 -0
- package/dist/tools/chats.js +142 -0
- package/dist/tools/chats.js.map +1 -0
- package/dist/tools/collections.d.ts +8 -0
- package/dist/tools/collections.d.ts.map +1 -0
- package/dist/tools/collections.js +389 -0
- package/dist/tools/collections.js.map +1 -0
- package/dist/tools/contacts.d.ts +8 -0
- package/dist/tools/contacts.d.ts.map +1 -0
- package/dist/tools/contacts.js +430 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/crawler.d.ts +8 -0
- package/dist/tools/crawler.d.ts.map +1 -0
- package/dist/tools/crawler.js +263 -0
- package/dist/tools/crawler.js.map +1 -0
- package/dist/tools/dnc.d.ts +8 -0
- package/dist/tools/dnc.d.ts.map +1 -0
- package/dist/tools/dnc.js +287 -0
- package/dist/tools/dnc.js.map +1 -0
- package/dist/tools/documents.d.ts +9 -0
- package/dist/tools/documents.d.ts.map +1 -0
- package/dist/tools/documents.js +518 -0
- package/dist/tools/documents.js.map +1 -0
- package/dist/tools/engines.d.ts +8 -0
- package/dist/tools/engines.d.ts.map +1 -0
- package/dist/tools/engines.js +271 -0
- package/dist/tools/engines.js.map +1 -0
- package/dist/tools/environment.d.ts +9 -0
- package/dist/tools/environment.d.ts.map +1 -0
- package/dist/tools/environment.js +59 -0
- package/dist/tools/environment.js.map +1 -0
- package/dist/tools/forwarding.d.ts +8 -0
- package/dist/tools/forwarding.d.ts.map +1 -0
- package/dist/tools/forwarding.js +30 -0
- package/dist/tools/forwarding.js.map +1 -0
- package/dist/tools/index.d.ts +58 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +158 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/integrations.d.ts +8 -0
- package/dist/tools/integrations.d.ts.map +1 -0
- package/dist/tools/integrations.js +234 -0
- package/dist/tools/integrations.js.map +1 -0
- package/dist/tools/mailbox.d.ts +8 -0
- package/dist/tools/mailbox.d.ts.map +1 -0
- package/dist/tools/mailbox.js +105 -0
- package/dist/tools/mailbox.js.map +1 -0
- package/dist/tools/media.d.ts +8 -0
- package/dist/tools/media.d.ts.map +1 -0
- package/dist/tools/media.js +223 -0
- package/dist/tools/media.js.map +1 -0
- package/dist/tools/numbers.d.ts +8 -0
- package/dist/tools/numbers.d.ts.map +1 -0
- package/dist/tools/numbers.js +560 -0
- package/dist/tools/numbers.js.map +1 -0
- package/dist/tools/organizations.d.ts +8 -0
- package/dist/tools/organizations.d.ts.map +1 -0
- package/dist/tools/organizations.js +234 -0
- package/dist/tools/organizations.js.map +1 -0
- package/dist/tools/postprocessing.d.ts +8 -0
- package/dist/tools/postprocessing.d.ts.map +1 -0
- package/dist/tools/postprocessing.js +383 -0
- package/dist/tools/postprocessing.js.map +1 -0
- package/dist/tools/pronunciations.d.ts +8 -0
- package/dist/tools/pronunciations.d.ts.map +1 -0
- package/dist/tools/pronunciations.js +236 -0
- package/dist/tools/pronunciations.js.map +1 -0
- package/dist/tools/rules.d.ts +8 -0
- package/dist/tools/rules.d.ts.map +1 -0
- package/dist/tools/rules.js +465 -0
- package/dist/tools/rules.js.map +1 -0
- package/dist/tools/statistics.d.ts +8 -0
- package/dist/tools/statistics.d.ts.map +1 -0
- package/dist/tools/statistics.js +120 -0
- package/dist/tools/statistics.js.map +1 -0
- package/dist/tools/templates.d.ts +8 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +211 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/tests.d.ts +8 -0
- package/dist/tools/tests.d.ts.map +1 -0
- package/dist/tools/tests.js +329 -0
- package/dist/tools/tests.js.map +1 -0
- package/dist/tools/users.d.ts +8 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +484 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/tools/voice-preview.d.ts +8 -0
- package/dist/tools/voice-preview.d.ts.map +1 -0
- package/dist/tools/voice-preview.js +100 -0
- package/dist/tools/voice-preview.js.map +1 -0
- package/dist/tools/voices.d.ts +8 -0
- package/dist/tools/voices.d.ts.map +1 -0
- package/dist/tools/voices.js +110 -0
- package/dist/tools/voices.js.map +1 -0
- package/dist/tools/whitelabels.d.ts +8 -0
- package/dist/tools/whitelabels.d.ts.map +1 -0
- package/dist/tools/whitelabels.js +199 -0
- package/dist/tools/whitelabels.js.map +1 -0
- package/dist/tools/widget-config.d.ts +8 -0
- package/dist/tools/widget-config.d.ts.map +1 -0
- package/dist/tools/widget-config.js +116 -0
- package/dist/tools/widget-config.js.map +1 -0
- package/dist/types/api.d.ts +303 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/tools.d.ts +41 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +6 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/errors.d.ts +31 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +77 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +25 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validation.d.ts +34 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +68 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +56 -0
package/README.md
ADDED
|
@@ -0,0 +1,743 @@
|
|
|
1
|
+
# dalvon-mcp
|
|
2
|
+
|
|
3
|
+
MCP Server für [dalvon.ai](https://dalvon.ai) - Verwalte AI-Telefonagenten direkt aus Claude Desktop.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **121 Tools** für die vollständige Verwaltung von:
|
|
8
|
+
- AI Agents (11 Tools) - Erweitert mit Refresh, Transfer & Statistiken
|
|
9
|
+
- Calls (10 Tools) - Bulk-Operations für Kategorien & Metadaten
|
|
10
|
+
- Templates (5 Tools)
|
|
11
|
+
- Contacts (8 Tools) - Vollständiges CRM mit CSV/Excel Import
|
|
12
|
+
- Campaigns (6 Tools) - Bulk-Calling mit Dry-Run Support
|
|
13
|
+
- Rules & Automation (10 Tools) - Ereignisgesteuerte Workflows & Rate Limiting
|
|
14
|
+
- Phone Numbers (6 Tools) - Twilio Nummer-Provisioning & Management
|
|
15
|
+
- Voices (3 Tools) - ElevenLabs & OpenAI Voice Library
|
|
16
|
+
- Voice Preview (2 Tools) - Stimmen-Samples generieren
|
|
17
|
+
- Hotlines (5 Tools) - Inbound-Routing mit Geschäftszeiten
|
|
18
|
+
- Call Forwarding (1 Tool) - Weiterleitungsregeln aktualisieren
|
|
19
|
+
- Media (4 Tools) - Audio/Bild Upload & TTS Generierung
|
|
20
|
+
- Pronunciations (4 Tools) - Benutzerdefinierte Aussprache-Regeln
|
|
21
|
+
- **Integrations (7 Tools)** - Nylas, Perplexity, Custom APIs & OAuth
|
|
22
|
+
- **Postprocessing (7 Tools)** - Transkription, Zusammenfassungen, Sentiment-Analyse
|
|
23
|
+
- **DNC (5 Tools)** - Do-Not-Call Listen-Management
|
|
24
|
+
- **Crawler (6 Tools)** - Web-Crawling für URL-Collections
|
|
25
|
+
- **Channels (3 Tools)** - Multi-Channel Kommunikation
|
|
26
|
+
- **Mailbox (2 Tools)** - Voicemail & Callback-Anfragen
|
|
27
|
+
- Knowledge Collections (7 Tools)
|
|
28
|
+
- Documents (9 Tools) - inkl. Semantic Search & Bulk-Delete
|
|
29
|
+
- **Type-safe** mit TypeScript und Zod Validation
|
|
30
|
+
- **Retry Logic** mit Exponential Backoff
|
|
31
|
+
- **File Upload** für Contacts (CSV/Excel), Media (Audio/Bilder) & Documents (PDF/DOCX)
|
|
32
|
+
- **Admin Features** mit Permission-basierter Zugriffskontrolle
|
|
33
|
+
- **Sentry Integration** für Production Monitoring
|
|
34
|
+
- **Claude Desktop** kompatibel
|
|
35
|
+
|
|
36
|
+
## Installation
|
|
37
|
+
|
|
38
|
+
### Voraussetzungen
|
|
39
|
+
|
|
40
|
+
- **Node.js** v18 oder höher
|
|
41
|
+
- **npm** v9 oder höher
|
|
42
|
+
- **Claude Desktop** installiert
|
|
43
|
+
- **API Keys** von [dalvon.ai](https://dalvon.ai)
|
|
44
|
+
|
|
45
|
+
### Schritt 1: Repository klonen
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/neuromanufaktur/dalvon-mcp.git
|
|
49
|
+
cd dalvon-mcp
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Schritt 2: Dependencies installieren & builden
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm install
|
|
56
|
+
npm run build
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Schritt 3: Claude Desktop konfigurieren
|
|
60
|
+
|
|
61
|
+
Die Konfiguration unterscheidet sich je nach Betriebssystem:
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🪟 Windows
|
|
66
|
+
|
|
67
|
+
**Config-Pfad:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
68
|
+
|
|
69
|
+
**Öffnen mit:**
|
|
70
|
+
```powershell
|
|
71
|
+
notepad $env:APPDATA\Claude\claude_desktop_config.json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Config hinzufügen:**
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"mcpServers": {
|
|
78
|
+
"dalvon-mcp": {
|
|
79
|
+
"command": "node",
|
|
80
|
+
"args": [
|
|
81
|
+
"C:\\Users\\DEIN_USERNAME\\Desktop\\dalvon-mcp\\dist\\index.js"
|
|
82
|
+
],
|
|
83
|
+
"env": {
|
|
84
|
+
"DALVON_API_KEY": "dein-api-key",
|
|
85
|
+
"KNOWLEDGE_API_KEY": "dein-api-key",
|
|
86
|
+
"TELEFONIEREN_BASE_URL": "https://api.dalvon.ai",
|
|
87
|
+
"KNOWLEDGE_BASE_URL": "https://knowledge.neuromanufaktur.ai"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
> ⚠️ **Wichtig:** Ersetze `DEIN_USERNAME` mit deinem Windows-Benutzernamen und passe den Pfad an, wo du das Repository geklont hast. Benutze doppelte Backslashes `\\` in Windows-Pfaden.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 🍎 macOS
|
|
99
|
+
|
|
100
|
+
**Config-Pfad:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
101
|
+
|
|
102
|
+
**Öffnen mit:**
|
|
103
|
+
```bash
|
|
104
|
+
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Config hinzufügen:**
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"mcpServers": {
|
|
111
|
+
"dalvon-mcp": {
|
|
112
|
+
"command": "node",
|
|
113
|
+
"args": [
|
|
114
|
+
"/Users/DEIN_USERNAME/code/dalvon-mcp/dist/index.js"
|
|
115
|
+
],
|
|
116
|
+
"env": {
|
|
117
|
+
"DALVON_API_KEY": "dein-api-key",
|
|
118
|
+
"KNOWLEDGE_API_KEY": "dein-api-key",
|
|
119
|
+
"TELEFONIEREN_BASE_URL": "https://api.dalvon.ai",
|
|
120
|
+
"KNOWLEDGE_BASE_URL": "https://knowledge.neuromanufaktur.ai"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
> ⚠️ **Wichtig:** Ersetze `DEIN_USERNAME` mit deinem macOS-Benutzernamen.
|
|
128
|
+
|
|
129
|
+
**Falls Node über NVM installiert ist:**
|
|
130
|
+
```json
|
|
131
|
+
"command": "/Users/DEIN_USERNAME/.nvm/versions/node/v20.x.x/bin/node"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 🐧 Linux
|
|
137
|
+
|
|
138
|
+
**Config-Pfad:** `~/.config/Claude/claude_desktop_config.json`
|
|
139
|
+
|
|
140
|
+
**Öffnen mit:**
|
|
141
|
+
```bash
|
|
142
|
+
nano ~/.config/Claude/claude_desktop_config.json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Config hinzufügen:**
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"mcpServers": {
|
|
149
|
+
"dalvon-mcp": {
|
|
150
|
+
"command": "node",
|
|
151
|
+
"args": [
|
|
152
|
+
"/home/DEIN_USERNAME/code/dalvon-mcp/dist/index.js"
|
|
153
|
+
],
|
|
154
|
+
"env": {
|
|
155
|
+
"DALVON_API_KEY": "dein-api-key",
|
|
156
|
+
"KNOWLEDGE_API_KEY": "dein-api-key",
|
|
157
|
+
"TELEFONIEREN_BASE_URL": "https://api.dalvon.ai",
|
|
158
|
+
"KNOWLEDGE_BASE_URL": "https://knowledge.neuromanufaktur.ai"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
> ⚠️ **Wichtig:** Ersetze `DEIN_USERNAME` mit deinem Linux-Benutzernamen.
|
|
166
|
+
|
|
167
|
+
**Falls Node über NVM installiert ist:**
|
|
168
|
+
```json
|
|
169
|
+
"command": "/home/DEIN_USERNAME/.nvm/versions/node/v20.x.x/bin/node"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### Schritt 4: Claude Desktop neu starten
|
|
175
|
+
|
|
176
|
+
Nach dem Speichern der Config muss Claude Desktop komplett neu gestartet werden:
|
|
177
|
+
- **Windows:** Task Manager → Claude beenden → Neu starten
|
|
178
|
+
- **macOS:** Cmd+Q → Neu starten
|
|
179
|
+
- **Linux:** `killall Claude` → Neu starten
|
|
180
|
+
|
|
181
|
+
### Schritt 5: Verbindung testen
|
|
182
|
+
|
|
183
|
+
Öffne einen neuen Chat in Claude Desktop und frage:
|
|
184
|
+
```
|
|
185
|
+
Welche MCP Server sind verbunden?
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Oder teste direkt:
|
|
189
|
+
```
|
|
190
|
+
Liste alle meine dalvon.ai Agents
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Umgebungsvariablen
|
|
196
|
+
|
|
197
|
+
| Variable | Erforderlich | Beschreibung |
|
|
198
|
+
|----------|--------------|--------------|
|
|
199
|
+
| `DALVON_API_KEY` | ✅ Ja | API Key von dalvon.ai |
|
|
200
|
+
| `KNOWLEDGE_API_KEY` | ✅ Ja | API Key für Knowledge Service (meist gleich wie `DALVON_API_KEY`) |
|
|
201
|
+
| `TELEFONIEREN_BASE_URL` | ❌ Nein | Default: `https://api.dalvon.ai` |
|
|
202
|
+
| `KNOWLEDGE_BASE_URL` | ❌ Nein | Default: `https://knowledge.neuromanufaktur.ai` |
|
|
203
|
+
| `SENTRY_DSN` | ❌ Nein | Für Error-Tracking (optional) |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Troubleshooting
|
|
208
|
+
|
|
209
|
+
### "Server disconnected" Fehler
|
|
210
|
+
|
|
211
|
+
1. **Prüfe den Pfad:** Ist der Pfad zur `dist/index.js` korrekt?
|
|
212
|
+
2. **Prüfe Node:** Führe `node --version` aus - muss v18+ sein
|
|
213
|
+
3. **NVM-Nutzer:** Verwende den vollen Pfad zu Node (siehe oben)
|
|
214
|
+
4. **Teste manuell:**
|
|
215
|
+
```bash
|
|
216
|
+
cd /pfad/zu/dalvon-mcp
|
|
217
|
+
DALVON_API_KEY=xxx KNOWLEDGE_API_KEY=xxx node dist/index.js
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### "Invalid credentials" Fehler
|
|
221
|
+
|
|
222
|
+
- Prüfe ob der API Key korrekt ist
|
|
223
|
+
- API Keys erhältst du unter [dalvon.ai](https://dalvon.ai) → Settings → API Keys
|
|
224
|
+
|
|
225
|
+
### Server startet, aber keine Tools verfügbar
|
|
226
|
+
|
|
227
|
+
- Prüfe ob `npm run build` erfolgreich war
|
|
228
|
+
- Prüfe ob `dist/index.js` existiert
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Alternative: npx (experimentell)
|
|
233
|
+
|
|
234
|
+
Sobald das Paket auf npm veröffentlicht ist:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"mcpServers": {
|
|
239
|
+
"telefonieren": {
|
|
240
|
+
"command": "npx",
|
|
241
|
+
"args": ["dalvon-mcp"],
|
|
242
|
+
"env": {
|
|
243
|
+
"DALVON_API_KEY": "dein-api-key",
|
|
244
|
+
"KNOWLEDGE_API_KEY": "dein-api-key"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Config-Pfade:**
|
|
252
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
253
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
254
|
+
- Linux: `~/.config/Claude/claude_desktop_config.json`
|
|
255
|
+
|
|
256
|
+
## Verfügbare Tools
|
|
257
|
+
|
|
258
|
+
### Agent Management (11 Tools)
|
|
259
|
+
|
|
260
|
+
| Tool | Beschreibung |
|
|
261
|
+
|------|-------------|
|
|
262
|
+
| `list_agents` | Alle Agents mit Filtering auflisten |
|
|
263
|
+
| `get_agent` | Details eines Agents abrufen |
|
|
264
|
+
| `create_agent` | Neuen Agent erstellen |
|
|
265
|
+
| `update_agent` | Agent aktualisieren |
|
|
266
|
+
| `delete_agent` | Agent löschen |
|
|
267
|
+
| `duplicate_agent` | Agent duplizieren |
|
|
268
|
+
| `get_agent_stats` | Agent-Statistiken abrufen |
|
|
269
|
+
| `list_child_agents` | Kind-Agents auflisten |
|
|
270
|
+
| `refresh_agents` | Agent-Konfigurationen vom Backend aktualisieren |
|
|
271
|
+
| `transfer_agent` | Agent-Besitz übertragen (Admin) |
|
|
272
|
+
| `get_agent_statistics` | Detaillierte Performance-Statistiken abrufen |
|
|
273
|
+
|
|
274
|
+
### Call Management (10 Tools)
|
|
275
|
+
|
|
276
|
+
| Tool | Beschreibung |
|
|
277
|
+
|------|-------------|
|
|
278
|
+
| `list_calls` | Alle Calls mit Filtering auflisten |
|
|
279
|
+
| `initiate_call` | Neuen Anruf starten |
|
|
280
|
+
| `get_call_details` | Call-Details abrufen |
|
|
281
|
+
| `delete_call` | Call löschen |
|
|
282
|
+
| `submit_call_feedback` | Feedback einreichen |
|
|
283
|
+
| `get_call_feedback` | Feedback abrufen |
|
|
284
|
+
| `cleanup_expired_calls` | Abgelaufene Calls aufräumen |
|
|
285
|
+
| `mark_calls_as_read` | Mehrere Calls als gelesen markieren (Bulk) |
|
|
286
|
+
| `update_call_categories` | Call-Kategorien aktualisieren |
|
|
287
|
+
| `update_call_metadata` | Call-Metadaten aktualisieren |
|
|
288
|
+
|
|
289
|
+
### Template Management (5 Tools)
|
|
290
|
+
|
|
291
|
+
| Tool | Beschreibung |
|
|
292
|
+
|------|-------------|
|
|
293
|
+
| `list_templates` | Alle Templates auflisten |
|
|
294
|
+
| `get_template` | Template-Details abrufen |
|
|
295
|
+
| `create_template` | Neues Template erstellen |
|
|
296
|
+
| `update_template` | Template aktualisieren |
|
|
297
|
+
| `delete_template` | Template löschen |
|
|
298
|
+
|
|
299
|
+
### Contact Management (8 Tools)
|
|
300
|
+
|
|
301
|
+
| Tool | Beschreibung |
|
|
302
|
+
|------|-------------|
|
|
303
|
+
| `list_contacts` | Alle Kontakte mit Filtering auflisten |
|
|
304
|
+
| `get_contact` | Kontakt-Details abrufen |
|
|
305
|
+
| `create_contact` | Neuen Kontakt erstellen |
|
|
306
|
+
| `update_contact` | Kontakt aktualisieren |
|
|
307
|
+
| `delete_contact` | Kontakt löschen |
|
|
308
|
+
| `bulk_delete_contacts` | Mehrere Kontakte gleichzeitig löschen |
|
|
309
|
+
| `import_contacts` | Kontakte aus CSV/Excel importieren (max 10MB) |
|
|
310
|
+
| `export_contacts` | Kontakte als CSV/Excel exportieren |
|
|
311
|
+
|
|
312
|
+
### Campaign Management (6 Tools)
|
|
313
|
+
|
|
314
|
+
| Tool | Beschreibung |
|
|
315
|
+
|------|-------------|
|
|
316
|
+
| `list_campaigns` | Alle Kampagnen mit Filtering auflisten |
|
|
317
|
+
| `get_campaign` | Kampagnen-Details und Statistiken abrufen |
|
|
318
|
+
| `create_campaign` | Neue Bulk-Calling Kampagne erstellen |
|
|
319
|
+
| `update_campaign` | Kampagne aktualisieren |
|
|
320
|
+
| `delete_campaign` | Kampagne löschen |
|
|
321
|
+
| `start_campaign` | Kampagne starten (mit Dry-Run Support) |
|
|
322
|
+
|
|
323
|
+
### Rules & Automation (10 Tools)
|
|
324
|
+
|
|
325
|
+
| Tool | Beschreibung |
|
|
326
|
+
|------|-------------|
|
|
327
|
+
| `list_rules` | Alle Automatisierungsregeln auflisten |
|
|
328
|
+
| `get_rule` | Regel-Details abrufen |
|
|
329
|
+
| `create_rule` | Neue Regel erstellen |
|
|
330
|
+
| `update_rule` | Regel aktualisieren |
|
|
331
|
+
| `delete_rule` | Regel löschen |
|
|
332
|
+
| `test_rule` | Regel-Bedingungen testen |
|
|
333
|
+
| `list_rule_executions` | Regel-Ausführungshistorie anzeigen |
|
|
334
|
+
| `get_rate_limit_settings` | Rate-Limit Einstellungen abrufen |
|
|
335
|
+
| `update_rate_limit_settings` | Rate-Limits konfigurieren |
|
|
336
|
+
| `check_rate_limit_status` | Aktuellen Rate-Limit Status prüfen |
|
|
337
|
+
|
|
338
|
+
### Phone Number Management (6 Tools)
|
|
339
|
+
|
|
340
|
+
| Tool | Beschreibung |
|
|
341
|
+
|------|-------------|
|
|
342
|
+
| `list_phone_numbers` | Alle Telefonnummern mit Filtering auflisten |
|
|
343
|
+
| `get_phone_number` | Telefonnummer-Details abrufen |
|
|
344
|
+
| `provision_phone_number` | Neue Nummer von Twilio bereitstellen |
|
|
345
|
+
| `release_phone_number` | Nummer freigeben (Admin) |
|
|
346
|
+
| `update_phone_number` | Telefonnummer-Einstellungen aktualisieren |
|
|
347
|
+
| `search_available_numbers` | Verfügbare Nummern bei Twilio suchen |
|
|
348
|
+
|
|
349
|
+
### Voice Management (3 Tools)
|
|
350
|
+
|
|
351
|
+
| Tool | Beschreibung |
|
|
352
|
+
|------|-------------|
|
|
353
|
+
| `list_voices` | Alle verfügbaren Stimmen (ElevenLabs, OpenAI) auflisten |
|
|
354
|
+
| `get_voice` | Stimmen-Details und Sample-URL abrufen |
|
|
355
|
+
| `refresh_voices` | Voice Library vom Provider aktualisieren |
|
|
356
|
+
|
|
357
|
+
### Voice Preview (2 Tools)
|
|
358
|
+
|
|
359
|
+
| Tool | Beschreibung |
|
|
360
|
+
|------|-------------|
|
|
361
|
+
| `generate_voice_preview` | Stimmen-Sample mit Beispieltext generieren |
|
|
362
|
+
| `compare_voices` | Mehrere Stimmen parallel vergleichen |
|
|
363
|
+
|
|
364
|
+
### Hotline Management (5 Tools)
|
|
365
|
+
|
|
366
|
+
| Tool | Beschreibung |
|
|
367
|
+
|------|-------------|
|
|
368
|
+
| `list_hotlines` | Alle Inbound-Hotlines auflisten |
|
|
369
|
+
| `get_hotline` | Hotline-Details abrufen |
|
|
370
|
+
| `create_hotline` | Neue Hotline mit Geschäftszeiten erstellen |
|
|
371
|
+
| `update_hotline` | Hotline aktualisieren |
|
|
372
|
+
| `delete_hotline` | Hotline löschen |
|
|
373
|
+
|
|
374
|
+
### Call Forwarding (1 Tool)
|
|
375
|
+
|
|
376
|
+
| Tool | Beschreibung |
|
|
377
|
+
|------|-------------|
|
|
378
|
+
| `refresh_forwarding_rules` | Weiterleitungsregeln vom Provider aktualisieren |
|
|
379
|
+
|
|
380
|
+
### Media Management (4 Tools)
|
|
381
|
+
|
|
382
|
+
| Tool | Beschreibung |
|
|
383
|
+
|------|-------------|
|
|
384
|
+
| `upload_media` | Audio (MP3/WAV/OGG/M4A) oder Bild (PNG/JPG/GIF/WEBP) hochladen (max 10MB) |
|
|
385
|
+
| `get_media` | Media-Details und Download-URL abrufen |
|
|
386
|
+
| `delete_media` | Media-Datei löschen |
|
|
387
|
+
| `generate_tts_audio` | Text-to-Speech Audio mit spezifischer Stimme generieren |
|
|
388
|
+
|
|
389
|
+
### Pronunciation Management (4 Tools)
|
|
390
|
+
|
|
391
|
+
| Tool | Beschreibung |
|
|
392
|
+
|------|-------------|
|
|
393
|
+
| `list_pronunciations` | Alle benutzerdefinierten Aussprache-Regeln auflisten |
|
|
394
|
+
| `get_pronunciation` | Aussprache-Regel-Details abrufen |
|
|
395
|
+
| `create_pronunciation` | Neue Aussprache-Regel erstellen (z.B. "PostgreSQL" → "post-gress-Q-L") |
|
|
396
|
+
| `delete_pronunciation` | Aussprache-Regel löschen |
|
|
397
|
+
|
|
398
|
+
### Collection Management (7 Tools)
|
|
399
|
+
|
|
400
|
+
| Tool | Beschreibung |
|
|
401
|
+
|------|-------------|
|
|
402
|
+
| `list_collections` | Alle Collections auflisten |
|
|
403
|
+
| `create_collection` | Neue Collection erstellen |
|
|
404
|
+
| `get_collection` | Collection-Details abrufen |
|
|
405
|
+
| `update_collection` | Collection aktualisieren |
|
|
406
|
+
| `delete_collection` | Collection löschen |
|
|
407
|
+
| `refresh_collections` | Collections neu einbetten |
|
|
408
|
+
| `transfer_collections` | Collections übertragen |
|
|
409
|
+
|
|
410
|
+
### Document Management (7 Tools)
|
|
411
|
+
|
|
412
|
+
| Tool | Beschreibung |
|
|
413
|
+
|------|-------------|
|
|
414
|
+
| `list_documents` | Dokumente in Collection auflisten |
|
|
415
|
+
| `get_document` | Dokument-Details abrufen |
|
|
416
|
+
| `update_document` | Dokument aktualisieren |
|
|
417
|
+
| `delete_document` | Dokument löschen |
|
|
418
|
+
| `move_documents` | Dokumente verschieben |
|
|
419
|
+
| `refresh_documents` | Dokumente neu einbetten |
|
|
420
|
+
| `create_documents` | Dokumente hochladen |
|
|
421
|
+
|
|
422
|
+
## Beispiele
|
|
423
|
+
|
|
424
|
+
### Agent erstellen und verwalten
|
|
425
|
+
|
|
426
|
+
```
|
|
427
|
+
"Erstelle einen neuen Agent namens 'Support Bot' mit der Sprache Deutsch"
|
|
428
|
+
"Zeige mir die Performance-Statistiken für Agent 'Support Bot'"
|
|
429
|
+
"Dupliziere den Agent 'Support Bot' als 'Sales Bot'"
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Anruf starten und verwalten
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
"Rufe +49123456789 mit dem Agent 'Support Bot' an"
|
|
436
|
+
"Zeige mir alle Anrufe von gestern"
|
|
437
|
+
"Markiere die Calls mit IDs xyz als gelesen"
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
### Kontakte und Kampagnen
|
|
441
|
+
|
|
442
|
+
```
|
|
443
|
+
"Importiere Kontakte aus der Datei kundenliste.csv"
|
|
444
|
+
"Erstelle eine Kampagne 'Produktlaunch' mit Agent 'Sales Bot'"
|
|
445
|
+
"Starte die Kampagne 'Produktlaunch' im Dry-Run Modus"
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
### Telefonnummern und Stimmen
|
|
449
|
+
|
|
450
|
+
```
|
|
451
|
+
"Suche verfügbare deutsche Telefonnummern in Berlin"
|
|
452
|
+
"Zeige mir alle verfügbaren deutschen Stimmen"
|
|
453
|
+
"Generiere ein Stimmen-Sample für die Stimme 'Maria' mit dem Text 'Guten Tag'"
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### Hotlines und Weiterleitungen
|
|
457
|
+
|
|
458
|
+
```
|
|
459
|
+
"Erstelle eine Hotline für +49301234567 mit Geschäftszeiten Mo-Fr 9-17 Uhr"
|
|
460
|
+
"Liste alle aktiven Hotlines"
|
|
461
|
+
"Aktualisiere die Weiterleitungsregeln"
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Media und Aussprache
|
|
465
|
+
|
|
466
|
+
```
|
|
467
|
+
"Lade die Audio-Datei begruessung.mp3 hoch"
|
|
468
|
+
"Generiere TTS Audio mit der Stimme 'Anton' für den Text 'Willkommen'"
|
|
469
|
+
"Füge eine Aussprache-Regel hinzu: PostgreSQL wird ausgesprochen als post-gress-Q-L"
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### Automatisierung
|
|
473
|
+
|
|
474
|
+
```
|
|
475
|
+
"Erstelle eine Regel: Wenn ein Anruf beendet ist, sende eine E-Mail"
|
|
476
|
+
"Liste alle Regel-Ausführungen der letzten 7 Tage"
|
|
477
|
+
"Zeige mir die aktuellen Rate-Limit Einstellungen"
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### Knowledge Base verwalten
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
"Liste alle Collections in meiner Knowledge Base"
|
|
484
|
+
"Lade die Datei produktkatalog.pdf in die Collection 'Produkte' hoch"
|
|
485
|
+
"Aktualisiere alle Dokumente in der Collection 'FAQ'"
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
## Development
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
# Clone und Dependencies installieren
|
|
492
|
+
git clone <repo>
|
|
493
|
+
cd dalvon-mcp
|
|
494
|
+
npm install
|
|
495
|
+
|
|
496
|
+
# Development Server
|
|
497
|
+
npm run dev
|
|
498
|
+
|
|
499
|
+
# Build
|
|
500
|
+
npm run build
|
|
501
|
+
|
|
502
|
+
# Tests
|
|
503
|
+
npm test
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
## Architektur
|
|
507
|
+
|
|
508
|
+
### Übersicht
|
|
509
|
+
|
|
510
|
+
```mermaid
|
|
511
|
+
flowchart TB
|
|
512
|
+
subgraph Client["MCP Client"]
|
|
513
|
+
CD[Claude Desktop]
|
|
514
|
+
CU[Cursor]
|
|
515
|
+
OTHER[Andere MCP Clients]
|
|
516
|
+
end
|
|
517
|
+
|
|
518
|
+
subgraph Server["dalvon-mcp Server"]
|
|
519
|
+
MCP[MCP Protocol Handler]
|
|
520
|
+
TOOLS[Tool Registry]
|
|
521
|
+
|
|
522
|
+
subgraph Clients["API Clients"]
|
|
523
|
+
TC[TelefonierenClient]
|
|
524
|
+
KC[KnowledgeClient]
|
|
525
|
+
end
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
subgraph APIs["External APIs"]
|
|
529
|
+
TAPI[api.dalvon.ai]
|
|
530
|
+
KAPI[knowledge.neuromanufaktur.ai]
|
|
531
|
+
end
|
|
532
|
+
|
|
533
|
+
CD <-->|stdio| MCP
|
|
534
|
+
CU <-->|stdio| MCP
|
|
535
|
+
OTHER <-->|stdio| MCP
|
|
536
|
+
|
|
537
|
+
MCP --> TOOLS
|
|
538
|
+
TOOLS --> TC
|
|
539
|
+
TOOLS --> KC
|
|
540
|
+
|
|
541
|
+
TC <-->|HTTPS| TAPI
|
|
542
|
+
KC <-->|HTTPS| KAPI
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
### Tool-Aufruf Sequenz
|
|
546
|
+
|
|
547
|
+
```mermaid
|
|
548
|
+
sequenceDiagram
|
|
549
|
+
participant User
|
|
550
|
+
participant Claude as Claude Desktop
|
|
551
|
+
participant MCP as dalvon-mcp Server
|
|
552
|
+
participant Tools as Tool Handler
|
|
553
|
+
participant API as dalvon.ai API
|
|
554
|
+
|
|
555
|
+
User->>Claude: "Liste alle meine Agents"
|
|
556
|
+
Claude->>MCP: tools/call: list_agents
|
|
557
|
+
MCP->>Tools: Validate & Route
|
|
558
|
+
Tools->>API: GET /agents/
|
|
559
|
+
|
|
560
|
+
alt Success
|
|
561
|
+
API-->>Tools: 200 OK + Agent List
|
|
562
|
+
Tools-->>MCP: Format Response
|
|
563
|
+
MCP-->>Claude: Tool Result (JSON)
|
|
564
|
+
Claude-->>User: "Du hast 5 Agents: ..."
|
|
565
|
+
else Error
|
|
566
|
+
API-->>Tools: 4xx/5xx Error
|
|
567
|
+
Tools-->>MCP: Formatted Error + Hint
|
|
568
|
+
MCP-->>Claude: Error Response
|
|
569
|
+
Claude-->>User: "Fehler: ... Tipp: ..."
|
|
570
|
+
end
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
### Agent erstellen mit Retry
|
|
574
|
+
|
|
575
|
+
```mermaid
|
|
576
|
+
sequenceDiagram
|
|
577
|
+
participant Claude as Claude Desktop
|
|
578
|
+
participant MCP as dalvon-mcp
|
|
579
|
+
participant Val as Zod Validator
|
|
580
|
+
participant Client as API Client
|
|
581
|
+
participant API as dalvon.ai
|
|
582
|
+
|
|
583
|
+
Claude->>MCP: create_agent({name, prompt, ...})
|
|
584
|
+
MCP->>Val: Validate Input
|
|
585
|
+
|
|
586
|
+
alt Invalid Input
|
|
587
|
+
Val-->>MCP: Validation Error
|
|
588
|
+
MCP-->>Claude: {success: false, error: "..."}
|
|
589
|
+
else Valid Input
|
|
590
|
+
Val-->>MCP: OK
|
|
591
|
+
MCP->>Client: prepareAgentData()
|
|
592
|
+
Note over Client: Transform prompt to<br/>{user_prompt: "..."}
|
|
593
|
+
|
|
594
|
+
loop Retry (max 3x)
|
|
595
|
+
Client->>API: POST /agents/
|
|
596
|
+
alt Success
|
|
597
|
+
API-->>Client: 201 Created
|
|
598
|
+
Client-->>MCP: Agent Data
|
|
599
|
+
MCP-->>Claude: {success: true, agent_id: "..."}
|
|
600
|
+
else Network Error
|
|
601
|
+
API-->>Client: Timeout/Error
|
|
602
|
+
Note over Client: Wait & Retry
|
|
603
|
+
else 422 Validation Error
|
|
604
|
+
API-->>Client: 422 Error
|
|
605
|
+
Client-->>MCP: Error + Workaround
|
|
606
|
+
MCP-->>Claude: {success: false, workaround: "Use Web UI"}
|
|
607
|
+
end
|
|
608
|
+
end
|
|
609
|
+
end
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
### Anruf initiieren
|
|
613
|
+
|
|
614
|
+
```mermaid
|
|
615
|
+
sequenceDiagram
|
|
616
|
+
participant User
|
|
617
|
+
participant Claude as Claude Desktop
|
|
618
|
+
participant MCP as dalvon-mcp
|
|
619
|
+
participant API as dalvon.ai
|
|
620
|
+
participant Phone as Telefon System
|
|
621
|
+
|
|
622
|
+
User->>Claude: "Rufe +49123456789 an mit Agent 'Sales Bot'"
|
|
623
|
+
Claude->>MCP: initiate_call({agent_id, recipient_number})
|
|
624
|
+
|
|
625
|
+
MCP->>MCP: Validate UUID
|
|
626
|
+
MCP->>API: POST /calls/
|
|
627
|
+
API->>Phone: Initiate Call
|
|
628
|
+
Phone-->>API: Call Started
|
|
629
|
+
API-->>MCP: {id: "call-uuid", status: "initiated"}
|
|
630
|
+
MCP-->>Claude: {success: true, call_id: "..."}
|
|
631
|
+
Claude-->>User: "Anruf gestartet! Call-ID: ..."
|
|
632
|
+
|
|
633
|
+
Note over Phone: Anruf läuft...
|
|
634
|
+
|
|
635
|
+
User->>Claude: "Wie lief der Anruf?"
|
|
636
|
+
Claude->>MCP: get_call_details({call_id})
|
|
637
|
+
MCP->>API: GET /calls/{id}
|
|
638
|
+
API-->>MCP: {status: "completed", duration: 120, ...}
|
|
639
|
+
MCP-->>Claude: Call Details
|
|
640
|
+
Claude-->>User: "Der Anruf dauerte 2 Minuten..."
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
### Knowledge Base Upload
|
|
644
|
+
|
|
645
|
+
```mermaid
|
|
646
|
+
sequenceDiagram
|
|
647
|
+
participant User
|
|
648
|
+
participant Claude as Claude Desktop
|
|
649
|
+
participant MCP as dalvon-mcp
|
|
650
|
+
participant FS as File System
|
|
651
|
+
participant API as Knowledge API
|
|
652
|
+
participant Vector as Pinecone
|
|
653
|
+
|
|
654
|
+
User->>Claude: "Lade produkte.pdf in Collection 'Katalog'"
|
|
655
|
+
Claude->>MCP: create_documents({collection_id, file_paths})
|
|
656
|
+
|
|
657
|
+
MCP->>FS: Read File
|
|
658
|
+
FS-->>MCP: File Content (Buffer)
|
|
659
|
+
|
|
660
|
+
MCP->>MCP: Validate File Type (.pdf ✓)
|
|
661
|
+
MCP->>API: POST /collections/{id}/documents (multipart)
|
|
662
|
+
|
|
663
|
+
API->>API: Parse PDF
|
|
664
|
+
API->>API: Chunk Text
|
|
665
|
+
API->>Vector: Create Embeddings
|
|
666
|
+
Vector-->>API: Stored
|
|
667
|
+
|
|
668
|
+
API-->>MCP: {successful_uploads: 1, chunks_created: 42}
|
|
669
|
+
MCP-->>Claude: Upload Result
|
|
670
|
+
Claude-->>User: "Dokument hochgeladen! 42 Chunks erstellt."
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
### Projektstruktur
|
|
674
|
+
|
|
675
|
+
```
|
|
676
|
+
src/
|
|
677
|
+
├── index.ts # MCP Server Entry Point
|
|
678
|
+
├── config.ts # Configuration Management
|
|
679
|
+
├── clients/
|
|
680
|
+
│ ├── telefonieren.ts # API Client für api.dalvon.ai (55 Methoden)
|
|
681
|
+
│ └── knowledge.ts # API Client für Knowledge API (14 Methoden)
|
|
682
|
+
├── tools/
|
|
683
|
+
│ ├── index.ts # Tool Registry (89 Tools)
|
|
684
|
+
│ ├── agents.ts # Agent Tools (11)
|
|
685
|
+
│ ├── calls.ts # Call Tools (10)
|
|
686
|
+
│ ├── templates.ts # Template Tools (5)
|
|
687
|
+
│ ├── contacts.ts # Contact Tools (8) - CSV/Excel Import
|
|
688
|
+
│ ├── campaigns.ts # Campaign Tools (6) - Bulk Calling
|
|
689
|
+
│ ├── rules.ts # Rules & Automation Tools (10)
|
|
690
|
+
│ ├── numbers.ts # Phone Number Tools (6) - Twilio
|
|
691
|
+
│ ├── voices.ts # Voice Library Tools (3)
|
|
692
|
+
│ ├── voice-preview.ts # Voice Preview Tools (2)
|
|
693
|
+
│ ├── hotlines.ts # Hotline Tools (5)
|
|
694
|
+
│ ├── forwarding.ts # Forwarding Tools (1)
|
|
695
|
+
│ ├── media.ts # Media Management Tools (4)
|
|
696
|
+
│ ├── pronunciations.ts # Pronunciation Tools (4)
|
|
697
|
+
│ ├── collections.ts # Collection Tools (7)
|
|
698
|
+
│ └── documents.ts # Document Tools (7)
|
|
699
|
+
├── utils/
|
|
700
|
+
│ ├── validation.ts # Input Validation (UUID, etc.)
|
|
701
|
+
│ ├── errors.ts # Error Handling & Formatting
|
|
702
|
+
│ └── logger.ts # Logging (Sentry Integration)
|
|
703
|
+
└── types/
|
|
704
|
+
├── api.ts # API Types (16 Interfaces)
|
|
705
|
+
├── index.ts # Re-exports
|
|
706
|
+
└── [...] # Tool Types
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
## Testing
|
|
710
|
+
|
|
711
|
+
Eine umfassende Test-Dokumentation mit Beispielen für alle 89 Tools findest du in [TESTING.md](./TESTING.md).
|
|
712
|
+
|
|
713
|
+
Die Dokumentation enthält:
|
|
714
|
+
- Setup-Anleitung
|
|
715
|
+
- Test-Szenarien für typische Workflows
|
|
716
|
+
- Vollständige Tool-Checklisten
|
|
717
|
+
- Bekannte Einschränkungen und Troubleshooting
|
|
718
|
+
- Performance-Tipps
|
|
719
|
+
|
|
720
|
+
## Version History
|
|
721
|
+
|
|
722
|
+
### v2.0.0 (Current)
|
|
723
|
+
- **89 Tools** (↑ von 34 Tools)
|
|
724
|
+
- **Phase 1**: Contact Management, Campaigns, Rules & Automation (30 neue Tools)
|
|
725
|
+
- **Phase 2**: Phone Numbers, Voices, Hotlines, Media, Pronunciations (25 neue Tools)
|
|
726
|
+
- File Upload Support für CSV/Excel Import und Media Upload
|
|
727
|
+
- Admin Features mit Permission-basierter Zugriffskontrolle
|
|
728
|
+
- Erweiterte Agent- und Call-Verwaltung
|
|
729
|
+
|
|
730
|
+
### v1.0.0
|
|
731
|
+
- 34 Basis-Tools für Agents, Calls, Templates, Collections, Documents
|
|
732
|
+
|
|
733
|
+
## License
|
|
734
|
+
|
|
735
|
+
MIT
|
|
736
|
+
|
|
737
|
+
## Links
|
|
738
|
+
|
|
739
|
+
- [dalvon.ai](https://dalvon.ai)
|
|
740
|
+
- [MCP Protocol](https://modelcontextprotocol.io)
|
|
741
|
+
- [Claude Desktop](https://claude.ai/download)
|
|
742
|
+
- [Testing Guide](./TESTING.md)
|
|
743
|
+
- [Implementation Plan](./IMPLEMENTATION_PLAN.md)
|