> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.famulor.io/feedback

```json
{
  "path": "/de/mcp/server",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# MCP Server

> Model Context Protocol Server für die Famulor Voice Agent Platform

# 🤖 Famulor MCP Server

Ein MCP (Model Context Protocol) Server für die **Famulor Voice Agent Platform**, der KI-gestützte Telefonanrufe, Assistentenverwaltung und Anrufdatenabruf über ChatGPT und andere MCP-kompatible Clients ermöglicht.

<img src="https://mintcdn.com/famulor/okk2swZ06pjxl-p5/images/provisioning/sip-ai/famulor-mcp-server.png?fit=max&auto=format&n=okk2swZ06pjxl-p5&q=85&s=5a17b0beaacc6a5022fcabee921b3703" alt="Famulor MCP Server" width="1024" height="535" data-path="images/provisioning/sip-ai/famulor-mcp-server.png" />

<CardGroup cols={2}>
  <Card title="GitHub Repository" icon="github" href="https://github.com/bekservice/Famulor-MCP">
    Quellcode und Dokumentation
  </Card>

  <Card title="Online MCP Server" icon="globe" href="https://mcp.famulor.io">
    Gehosteter Server ohne Installation
  </Card>
</CardGroup>

## Demo Video

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/OMQeTiBNW3Q" title="Famulor MCP Server Demo" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## Übersicht

Dieser MCP Server bietet Zugriff auf die Famulor Voice Agent Platform und ermöglicht es Benutzern, KI-gestützte Telefonanrufe zu tätigen, Voice-Assistenten zu verwalten und Anruf-Transkripte und Aufnahmen abzurufen - alles direkt aus jedem MCP-kompatiblen Client wie ChatGPT Desktop, Claude Desktop oder anderen MCP-kompatiblen Anwendungen.

### 🌐 Online MCP Server

**Sie können den gehosteten MCP Server ohne lokale Installation verwenden:**

* **Server URL**: [https://mcp.famulor.io](https://mcp.famulor.io)
* **SSE Endpoint**: [https://mcp.famulor.io/sse](https://mcp.famulor.io/sse)
* **Health Check**: [https://mcp.famulor.io/health](https://mcp.famulor.io/health)

Der Server ist einsatzbereit! Für Anweisungen zur Online-Nutzung siehe die [Online Deployment Guide](https://github.com/bekservice/Famulor-MCP/blob/main/ONLINE_DEPLOYMENT.md).

## Features

* 📞 **Anrufe tätigen** - KI-gestützte Telefongespräche initiieren
* 🤖 **Assistenten verwalten** - Ihre KI-Assistenten abrufen und verwalten
* 📊 **Anrufdaten abrufen** - Transkripte, Aufnahmen und Metadaten abrufen
* 🔒 **Sichere Authentifizierung** - API-Schlüssel-basierte Authentifizierung pro Benutzer

## Entwicklung

```bash theme={null}
# Entwicklung mit Hot Reload
npm run dev

# Build für Produktion
npm run build

# Produktions-Build starten
npm start

# Code linten
npm run lint

# Code formatieren
npm run format
```

## Verfügbare Tools

### Call Tools

<AccordionGroup>
  <Accordion title="make_call">
    Tätigt einen Telefonanruf mit einem KI-Assistenten

    **Parameter:**

    * `assistant_id` (erforderlich) - Die ID des Assistenten
    * `phone_number` (erforderlich) - Die Telefonnummer im E.164-Format
    * `variables` (optional) - Variablen, die an den Assistenten übergeben werden sollen
  </Accordion>

  <Accordion title="get_call">
    Ruft Details eines bestimmten Anrufs ab

    **Parameter:**

    * `call_id` (erforderlich) - Die ID des Anrufs
  </Accordion>

  <Accordion title="list_calls">
    Listet alle Anrufe mit optionalen Filtern auf (paginiert)

    **Parameter:**

    * `assistant_id` (optional) - Nach Assistenten-ID filtern
    * `page` (optional) - Seitennummer (Standard: 1)
    * `per_page` (optional) - Anzahl der Anrufe pro Seite (Standard: 15)

    **Rückgabe:** Paginierte Antwort mit `data`-Array, das Anrufe und Paginierungs-Metadaten enthält
  </Accordion>
</AccordionGroup>

### Assistant Tools

<AccordionGroup>
  <Accordion title="get_assistants">
    Ruft alle verfügbaren KI-Assistenten ab (paginiert)

    **Parameter:**

    * `page` (optional) - Seitennummer (Standard: 1)
    * `per_page` (optional) - Anzahl der Assistenten pro Seite (Standard: 10)

    **Rückgabe:** Paginierte Antwort mit `data`-Array, das Assistenten und Paginierungs-Metadaten enthält (`current_page`, `per_page`, `total`, `last_page`, `next_page_url`, etc.)
  </Accordion>

  <Accordion title="get_phone_numbers">
    Ruft alle verfügbaren Telefonnummern für die Assistentenzuweisung ab

    **Parameter:**

    * `type` (optional) - Telefonnummern nach Assistententyp filtern: 'inbound' oder 'outbound'

    **Rückgabe:** Array von verfügbaren Telefonnummern mit Details einschließlich ID, Telefonnummer, Ländercode, Typ-Label und Verfügbarkeitsstatus
  </Accordion>

  <Accordion title="get_models">
    Ruft alle verfügbaren LLM-Modelle für die Assistentenkonfiguration ab

    **Parameter:** Keine

    **Rückgabe:** Array von verfügbaren LLM-Modellen mit ID und Name
  </Accordion>

  <Accordion title="get_voices">
    Ruft alle verfügbaren Stimmen für die Assistentenkonfiguration ab

    **Parameter:**

    * `mode` (optional) - Stimmen nach Assistentenmodus filtern: 'pipeline' oder 'multimodal'

    **Rückgabe:** Array von verfügbaren Stimmen mit ID, Name und Modus-Kompatibilität
  </Accordion>

  <Accordion title="get_languages">
    Ruft alle verfügbaren Sprachen für die Assistentenkonfiguration ab

    **Parameter:** Keine

    **Rückgabe:** Array von verfügbaren Sprachen mit ID, Name und ISO 639-1 zweistelligem Sprachcode (iso\_2)
  </Accordion>

  <Accordion title="update_assistant">
    Aktualisiert die Konfiguration eines bestehenden KI-Assistenten

    **Parameter:**

    * `id` (erforderlich) - Die eindeutige ID des zu aktualisierenden Assistenten
    * Alle anderen Parameter sind optional - nur angegebene Felder werden aktualisiert:
      * `assistant_name` - Assistentenname (max. 255 Zeichen)
      * `voice_id` - Stimmen-ID (muss in verfügbaren Stimmen existieren)
      * `language` - Sprachname (max. 100 Zeichen)
      * `llm_model` - LLM-Modellname (max. 100 Zeichen)
      * `calls_direction` - Anrufrichtungstyp: 'receive' oder 'make'
      * `engine_type` - Engine-Typ: 'pipeline' oder 'multimodal'
      * `timezone` - Zeitzone (z.B. "Europe/Berlin")
      * `initial_message` - Erste Nachricht, die der Assistent zu Beginn des Anrufs spricht
      * `system_prompt` - System-Prompt, der das Verhalten und die Persönlichkeit des Assistenten definiert
      * `phone_number_id` - Telefonnummer-ID zur Zuweisung (auf null setzen, um zu entfernen)
      * `tool_ids` - Array von Mid-Call-Aktions-IDs zur Synchronisation mit dem Assistenten
      * `endpoint_type` - Voice Activity Detection-Typ: 'vad' oder 'ai'
      * `endpoint_sensitivity` - Endpoint-Empfindlichkeitsstufe (0-5)
      * `interrupt_sensitivity` - Unterbrechungsempfindlichkeitsstufe (0-5)
      * `ambient_sound_volume` - Umgebungsgeräusch-Lautstärke (0-1)
      * `post_call_evaluation` - Ob Post-Call-Evaluierung aktiviert werden soll
      * `send_webhook_only_on_completed` - Ob Webhooks nur bei abgeschlossenen Anrufen gesendet werden sollen
      * `include_recording_in_webhook` - Ob Aufnahme-URL in Webhook-Payload enthalten sein soll
      * `is_webhook_active` - Ob Webhook-Benachrichtigungen aktiviert sind
      * `webhook_url` - Webhook-URL für Post-Call-Benachrichtigungen (auf null setzen, um zu entfernen)
      * `use_min_interrupt_words` - Ob die Einstellung für minimale Unterbrechungswörter verwendet werden soll
      * `min_interrupt_words` - Minimale Anzahl von Wörtern vor erlaubter Unterbrechung (0-10)
      * `variables` - Schlüssel-Wert-Paare von benutzerdefinierten Variablen für den Assistenten
      * `post_call_schema` - Schema-Definition für Post-Call-Datenextraktion
      * `end_call_tool` - End-Call-Tool-Konfiguration
      * `llm_temperature` - LLM-Temperatur-Einstellung (0-1)
      * `voice_stability` - Stimmen-Stabilitätseinstellung (0-1)
      * `voice_similarity` - Stimmen-Ähnlichkeitseinstellung (0-1)
      * `speech_speed` - Sprachgeschwindigkeits-Multiplikator (0.7-1.2)
      * `allow_interruptions` - Ob Unterbrechungen durch Anrufer erlaubt sind
      * `filler_audios` - Ob Filler-Audio während der Verarbeitung verwendet werden soll
      * `re_engagement_interval` - Re-Engagement-Intervall in Sekunden (7-600)
      * `max_call_duration` - Maximale Anrufdauer in Sekunden (20-1200)
      * `max_silence_duration` - Maximale Stille-Dauer in Sekunden (1-120)
      * `end_call_on_voicemail` - Ob Anruf bei Voicemail-Erkennung beendet werden soll
      * `noise_cancellation` - Ob Rauschunterdrückung aktiviert ist
      * `record_call` - Ob der Anruf aufgezeichnet werden soll
      * `who_speaks_first` - Wer zuerst im Anruf spricht: 'AI assistant' oder 'Customer'

    **Rückgabe:** Erfolgsmeldung und aktualisierte Assistentendaten
  </Accordion>
</AccordionGroup>

### Conversation Tools

<AccordionGroup>
  <Accordion title="get_conversation">
    Ruft die vollständige Nachrichtenhistorie einer bestehenden Famulor-Konversation ab

    **Parameter:**

    * `uuid` (erforderlich) - Die UUID der abzurufenden Konversation

    **Rückgabe:** Vollständige Konversationshistorie mit Nachrichten, Rollen und Funktionsaufrufen
  </Accordion>

  <Accordion title="create_conversation">
    Startet eine neue Chat-Session mit einem KI-Assistenten

    **Parameter:**

    * `assistant_id` (erforderlich) - UUID des Assistenten, der die Konversation bearbeitet
    * `type` (optional) - Konversationstyp: 'widget' (kostenpflichtig) oder 'test' (kostenlos für Entwicklung)
    * `variables` (optional) - Benutzerdefinierte Variablen zur Injektion in den Assistentenkontext (zugänglich über Template-Syntax im System-Prompt)

    **Rückgabe:** Konversations-ID, Status und initiale Historie (wenn der Assistent eine Startnachricht hat)

    **Hinweis:** Widget-Konversationen sind kostenpflichtig; Test-Konversationen sind kostenlos für die Entwicklung
  </Accordion>

  <Accordion title="send_message">
    Sendet eine Benutzernachricht an eine bestehende Konversation und erhält die Antwort des Assistenten

    **Parameter:**

    * `uuid` (erforderlich) - UUID der bestehenden Konversation
    * `message` (erforderlich) - Zu sendende Benutzernachricht (max. 2000 Zeichen)

    **Rückgabe:** Assistenten-Antwortnachricht und alle während der Antwort ausgeführten Funktionsaufrufe

    **Hinweis:** Widget-Konversationen kosten \$0.01 pro Benutzernachricht; Test-Konversationen sind kostenlos
  </Accordion>
</AccordionGroup>

### Campaign Tools

<AccordionGroup>
  <Accordion title="list_campaigns">
    Listet alle Kampagnen aus dem Famulor-Konto auf

    **Parameter:** Keine

    **Rückgabe:** Array aller Kampagnen mit Details einschließlich Status, Einstellungen und Zeitplanungsinformationen
  </Accordion>

  <Accordion title="update_campaign_status">
    Startet oder stoppt eine Kampagne im Famulor-System

    **Parameter:**

    * `campaign_id` (erforderlich) - Die ID der zu aktualisierenden Kampagne
    * `action` (erforderlich) - Die auszuführende Aktion: 'start' oder 'stop'

    **Rückgabe:** Erfolgsmeldung und aktualisierter Kampagnenstatus

    **Hinweis:** Das Starten einer Kampagne erfordert ausreichend Leads und Guthaben. Das Stoppen einer Kampagne bricht laufende Anrufe ab.
  </Accordion>
</AccordionGroup>

### Lead Tools

<AccordionGroup>
  <Accordion title="list_leads">
    Listet alle Leads für den authentifizierten Benutzer auf (paginiert)

    **Parameter:**

    * `page` (optional) - Seitennummer (Standard: 1)
    * `per_page` (optional) - Anzahl der Leads pro Seite (Standard: 15)

    **Rückgabe:** Paginierte Antwort mit `data`-Array, das Leads und Paginierungs-Metadaten enthält
  </Accordion>

  <Accordion title="create_lead">
    Erstellt einen neuen Lead im Famulor-System

    **Parameter:**

    * `phone_number` (erforderlich) - Die Telefonnummer im E.164-Format
    * `campaign_id` (erforderlich) - Die ID der Kampagne
    * `variables` (optional) - Array von Variablen, die an den Lead übergeben werden sollen
    * `allow_dupplicate` (optional) - Ob doppelte Leads in einer Kampagne erlaubt sind

    **Rückgabe:** Erstellte Lead-Informationen mit ID

    **Hinweis:** Verwenden Sie `get_assistants`, um Assistenteninformationen und Variablen zu erhalten, die beim Erstellen von Leads verwendet werden können
  </Accordion>

  <Accordion title="update_lead">
    Aktualisiert einen bestehenden Lead in Ihren Kampagnen

    **Parameter:**

    * `id` (erforderlich) - Die ID des zu aktualisierenden Leads
    * `campaign_id` (optional) - Die ID der Kampagne, der der Lead zugewiesen werden soll
    * `phone_number` (optional) - Die Telefonnummer (automatisch im E.164-Format formatiert)
    * `status` (optional) - Der Status: 'created', 'completed' oder 'reached-max-retries'
    * `variables` (optional) - Benutzerdefinierte Variablen, die mit bestehenden Lead-Variablen zusammengeführt werden

    **Rückgabe:** Erfolgsmeldung, die bestätigt, dass der Lead aktualisiert wurde
  </Accordion>
</AccordionGroup>

### SMS Tools

<AccordionGroup>
  <Accordion title="send_sms">
    Sendet eine SMS-Nachricht über Ihre Telefonnummer

    **Parameter:**

    * `from` (erforderlich) - Die ID Ihrer Telefonnummer, von der die SMS gesendet werden soll (muss SMS-fähig sein)
    * `to` (erforderlich) - Die Telefonnummer des Empfängers im internationalen Format (z.B., "+4915123456789")
    * `body` (erforderlich) - Der SMS-Nachrichteninhalt (max. 300 Zeichen)

    **Rückgabe:** Erfolgsmeldung und SMS-Daten einschließlich SMS-ID, Segmente, Kosten und Status

    **Hinweis:**

    * Die Absender-Telefonnummer muss dem authentifizierten Benutzer gehören und SMS-fähig sein
    * Ausreichendes Kontoguthaben ist erforderlich, um SMS-Kosten zu decken
    * SMS-Kosten variieren je nach Zielland und werden pro Segment berechnet
    * Lange Nachrichten können in mehrere Segmente aufgeteilt werden, was die Kosten erhöht
  </Accordion>
</AccordionGroup>

### Mid-Call Tools

<AccordionGroup>
  <Accordion title="list_mid_call_tools">
    Listet alle Mid-Call-Tools auf, die es KI-Assistenten ermöglichen, während Anrufen mit externen APIs zu interagieren

    **Parameter:** Keine

    **Rückgabe:** Array aller Mid-Call-Tools mit Details einschließlich Name, Beschreibung, Endpoint, Methode, Timeout, Headers und Schema
  </Accordion>

  <Accordion title="get_mid_call_tool">
    Ruft detaillierte Informationen über ein bestimmtes Mid-Call-Tool ab

    **Parameter:**

    * `id` (erforderlich) - Die eindeutige ID des Mid-Call-Tools

    **Rückgabe:** Vollständige Tool-Informationen einschließlich Konfiguration und Schema
  </Accordion>

  <Accordion title="update_mid_call_tool">
    Aktualisiert ein bestehendes Mid-Call-Tool

    **Parameter:**

    * `id` (erforderlich) - Die eindeutige ID des zu aktualisierenden Tools
    * `name` (optional) - Tool-Name (nur Kleinbuchstaben und Unterstriche)
    * `description` (optional) - Detaillierte Erklärung, wann und wie die KI dieses Tool verwenden sollte
    * `endpoint` (optional) - Gültige URL des aufzurufenden API-Endpoints
    * `method` (optional) - HTTP-Methode: GET, POST, PUT, PATCH oder DELETE
    * `timeout` (optional) - Request-Timeout in Sekunden (1-30)
    * `headers` (optional) - HTTP-Header, die mit der Anfrage gesendet werden sollen
    * `schema` (optional) - Parameter-Schema, das die KI extrahieren und senden wird

    **Rückgabe:** Erfolgsmeldung und aktualisierte Tool-Daten
  </Accordion>
</AccordionGroup>

## Projektstruktur

```
Famulor-MCP/
├── src/
│   ├── index.ts          # MCP Server Entry Point
│   ├── server.ts         # MCP Server Setup
│   ├── tools/            # Famulor API Tools
│   │   ├── calls.ts      # Call Operations
│   │   ├── assistants.ts # Assistant Operations
│   │   ├── conversations.ts # Conversation Operations
│   │   ├── campaigns.ts   # Campaign Operations
│   │   ├── leads.ts       # Lead Operations
│   │   ├── sms.ts         # SMS Operations
│   │   ├── midCallTools.ts # Mid-Call Tools Operations
│   │   └── index.ts      # Tools Export
│   ├── auth/             # Authentication
│   │   └── famulor.ts    # Famulor API Client
│   └── types/            # TypeScript Types
│       └── famulor.ts    # Famulor API Types
├── dist/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── README.md
├── QUICKSTART.md         # Quick start guide
├── MCP_SETUP.md          # Detailed setup guide
├── DEPLOYMENT.md          # Deployment guide
└── ONLINE_DEPLOYMENT.md   # Online deployment guide
```

## Über MCP

Dies ist ein **Model Context Protocol (MCP) Server**, der Zugriff auf die Famulor Voice Agent Platform bietet. MCP ist ein Protokoll, das es KI-Assistenten wie ChatGPT, Claude und anderen KI-Tools ermöglicht, sich sicher mit externen Datenquellen und Tools zu verbinden.

Der Server stellt die Voice-Agent-Funktionen von Famulor als MCP-Tools bereit und ermöglicht es jedem MCP-kompatiblen Client (ChatGPT Desktop, Claude Desktop oder anderen MCP-Anwendungen), mit der Famulor-Plattform zu interagieren.

## Sicherheit

* ✅ Jeder Benutzer konfiguriert seinen eigenen API-Schlüssel
* ✅ API-Schlüssel werden lokal in Ihrer MCP-Konfigurationsdatei gespeichert (verschlüsselt von Ihrem MCP-Client)
* ✅ Keine API-Schlüssel werden über das Netzwerk gesendet (stdio ist lokal)
* ❌ **Kommittieren Sie niemals Ihre MCP-Konfigurationsdatei mit API-Schlüsseln in die Versionskontrolle**
* ❌ **Teilen Sie Ihren API-Schlüssel niemals öffentlich**

## Ressourcen

* 🌐 **Online MCP Server**: [https://mcp.famulor.io](https://mcp.famulor.io)
* [Famulor Voice Agent Homepage](https://www.famulor.io)
* [Famulor Voice Agent Platform](https://app.famulor.de)
* [Famulor API Dokumentation](https://docs.famulor.io/api-reference/)
* [MCP Protocol Dokumentation](https://modelcontextprotocol.io/)
* [ChatGPT Desktop App](https://chatgpt.com/download)
* [Claude Desktop App](https://claude.ai/download)
* [GitHub Repository](https://github.com/bekservice/Famulor-MCP)

## Beitragen

Beiträge sind willkommen! Bitte zögern Sie nicht, einen Pull Request einzureichen.

## Lizenz

Proprietäre Lizenz - Nutzung nur für Famulor-Benutzer erlaubt

Diese Software darf nur verwendet, kopiert und modifiziert werden, wenn Sie die Famulor Voice Agent Platform verwenden. Siehe [LICENSE](https://github.com/bekservice/Famulor-MCP/blob/main/LICENSE) Datei für vollständige Details.

## Autor

[bekservice](https://github.com/bekservice)

<Tip>
  Passende Seiten: [Client](/de/mcp/client) und [Overview](/de/developers/overview).
</Tip>
