# Modellanbindung (MCP/Agent)

Dieser Artikel beschreibt, wie Sie FIRERPA mit großen Sprachmodellen (LLMs) verbinden (basierend auf MCP oder Befehlen). FIRERPA hat auf der untersten Ebene das MCP-Serverprotokoll sowie die native `tool-call`-Funktionalität von OpenAI implementiert. Dies ermöglicht es Ihnen, eigene MCP-Plugins zu schreiben und diese über den Standardport 65000 als Dienst bereitzustellen oder die `Agent`-Klasse zu erben, um vollautomatische `tools`-Aufrufe zu implementieren.

## Eingebauter Agent-Befehl

Mit dem eingebauten `agent`-Befehl können Sie schnell vollständig umgangssprachliche Aufgaben durch große Sprachmodelle erledigen lassen. Es werden alle Anbieter oder selbst gehosteten Dienste unterstützt, die mit der OpenAI API + toolcall kompatibel sind. In Kombination mit dem integrierten crontab können Sie die zeitgesteuerte Ausführung von umgangssprachlichen Aufgaben realisieren.

```{hint}
Der `agent`-Befehl muss im integrierten Terminal verwendet werden und erfordert die Angabe einer gültigen API und eines Schlüssels. Die Leistung der verschiedenen großen Sprachmodelle kann variieren. Bitte wählen Sie das für Sie am besten geeignete aus. Wir empfehlen gemini, openai, deepseek, glm usw.
```

| Parametername | Typ | Erforderlich | Standardwert | Beschreibung |
| :--- | :--- | :--- | :--- | :--- |
| `--api` | String (str) | Ja | - | API-Endpunkt |
| `--model` | String (str) | Ja | - | Modellname |
| `--temperature` | Fließkommazahl (float) | Nein | `0.2` | Sampling-Temperatur des Modells |
| `--key` | String (str) | Ja | - | API-Schlüssel zur Authentifizierung |
| `--vision` | Boolescher Wert (bool) | Nein | `False` | Aktiviert den visuellen Modus |
| `--imsize` | Ganzzahl (int) | Nein | `1000` | Bildgröße im visuellen Modus |
| `--prompt` | String (str) | Ja | - | Anweisung, die der Agent ausführen soll |
| `--max-tokens` | Ganzzahl (int) | Nein | `16384` | Maximale Anzahl der zu generierenden Tokens |
| `--step-delay` | Fließkommazahl (float) | Nein | `0.0` | Verzögerungszeit zwischen den Schritten |

```{attention}
Bitte beachten Sie, dass die Adresse für den API-Parameter die vollständige Adresse ist, nicht die `base_url`. Normalerweise muss an die `base_url` `/chat/completions` angehängt werden, um die vollständige API-Adresse zu bilden.
```

Nachdem Sie die erforderlichen Informationen vorbereitet haben, können Sie den folgenden Befehl im Terminal des Remote-Desktops eingeben, um die KI Ihr Gerät automatisch steuern zu lassen.

```bash
agent --api https://generativelanguage.googleapis.com/v1beta/openai/chat/completions --key YOUR_API_KEY --model gemini-2.5-flash --prompt "Öffne die Einstellungs-App für mich, Paketname com.android.settings, finde die Netzwerkeinstellungen und aktiviere den Flugmodus"
```

Wenn Ihr Aufgaben-Prompt zu lang ist, können Sie den Prompt auch über eine Datei bereitstellen.

```bash
agent --api https://generativelanguage.googleapis.com/v1beta/openai/chat/completions --key YOUR_API_KEY --model gemini-2.5-flash --prompt /path/to/prompt.txt
```

## Anbindung von Claude & Cursor (MCP)

Dieser Abschnitt beschreibt, wie Sie die MCP-Funktionalität von FIRERPA in Ihren Client für große Sprachmodelle integrieren. Wir haben nur Beispiele für Claude und Cursor bereitgestellt, aber Sie können es an jeder anderen Stelle verwenden, die das MCP-Protokoll unterstützt.

```{note}
Der integrierte MCP-Dienst von FIRERPA unterstützt `tool-call`, `resource-read` sowie Prompts, Fortschrittsbenachrichtigungen und Protokolle.
```

```{attention}
Bitte beachten Sie, dass sich die Kommunikationsprotokolle des 8.0-Servers und des 9.0-Servers unterscheiden. 9.x verwendet streamable-http, während 8.x sse verwendet.
```

### Installation der offiziellen Erweiterung

Wir stellen Ihnen einen offiziellen MCP-Dienst zur Verfügung. Sie können dieses Erweiterungsmodul unter <a href="https://github.com/firerpa/lamda/blob/HEAD/extensions/firerpa.py" target="_blank">extensions/firerpa.py</a> herunterladen. Sie können sich auch an dessen Implementierungsmethode orientieren, um eigene Plugins zu schreiben oder die Funktionalität zu erweitern. Nachdem Sie das Skript für das Erweiterungs-Plugin heruntergeladen haben, laden Sie es über den Remote-Desktop oder manuell per `push` in das Verzeichnis `/data/usr/modules/extension` des Geräts hoch. Starten Sie anschließend das Gerät oder den FIRERPA-Dienst neu.

```{attention}
Die Erweiterungsskripte für 8.0 und 9.0 sind nicht kompatibel. Bitte überprüfen Sie Ihre Serverversion genau und laden Sie das entsprechende Skript aus dem jeweiligen GitHub-Branch herunter.
```

### Verwendung der offiziellen Erweiterung

Für **Claude** müssen Sie zuerst die Einstellungsseite von Claude aufrufen und die unten gezeigten Schritte ausführen. Bearbeiten Sie dann gemäß den Anweisungen die Konfigurationsdatei `claude_desktop_config.json` von Claude und fügen Sie die folgende MCP-JSON-Dienstkonfiguration hinzu.


```json
{"mcpServers": {"firerpa": {"command": "npx", "args": ["-y", "supergateway", "--streamableHttp", "http://192.168.0.2:65000/firerpa/mcp/"]}}}
```

<p align="center">
<img src="/assets/images/claude-settings.png" alt="Beispiel" width="auto">
</p>

Für **Cursor** müssen Sie die Cursor-Einstellungen öffnen, den abgebildeten Schritten folgen und die folgende Konfiguration eingeben.

```json
{"mcpServers": {"firerpa": {"url": "http://192.168.0.2:65000/firerpa/mcp/"}}}
```

<p align="center">
<img src="/assets/images/cursor-settings.png" alt="Beispiel" width="auto">
</p>

```{attention}
Bitte achten Sie darauf, den Link in der Konfiguration durch die IP-Adresse Ihres eigenen Geräts zu ersetzen.
```

### Schreiben einer MCP-Erweiterung

```{hint}
Dokumentation folgt in Kürze.
```